Ответ
 
Опции темы
Старый 28.03.2014, 15:53   #2721 (permalink)
Элитный участник
 
Аватар для aleksei3122
 
Регистрация: 11.04.2011
Адрес: Не далеко от Моря
Сообщений: 1,608
Репутация: 1018
aleksei3122 aleksei3122 aleksei3122 aleksei3122 aleksei3122 aleksei3122 aleksei3122 aleksei3122
Сказал(а) спасибо: 444
Поблагодарили 1,012 раз(а) в 531 сообщениях
Поинты: 171
Отправить сообщение для aleksei3122 с помощью Skype™
Сообщение от Ugar Посмотреть сообщение
Какой именно? Их много всяких. Мартингейл например то же разновидность мани менеджмента. И доливки то же. А процентных так вообще куча разных.
Спецы не отвечают потому что угадывать не умеют, а выпытывать чё надо влом.
Процентных, что бы с ростом депо фикс лот повышался
aleksei3122 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 28.03.2014, 18:58   #2722 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,254
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1274
Отправить сообщение для Ugar с помощью ICQ
Кто нибудь, поделитесь хорошим способом определения как закрылся ордер, вручную, по стоп лоссу, стоп трейду, тейк профиту.
Хороший способ, это который работает на всех ДЦ.
По этому, не надо предлагать искать в комментарии [sl], [tp], так как это делают не все ДЦ.
Глупостей, типа if(OrderClosePrice()==OrderStopLoss()) значит закрылся по лосю, то же не надо.
Может в новом языке уже кто то хорошо разобрался и там есть что то интересное на эту тему?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 28.03.2014, 19:21   #2723 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,525
Репутация: 3644
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,113
Поблагодарили 3,648 раз(а) в 1,469 сообщениях
Поинты: 2007
Сообщение от Ugar Посмотреть сообщение
Кто нибудь, поделитесь хорошим способом определения как закрылся ордер, вручную, по стоп лоссу, стоп трейду, тейк профиту.
Хороший способ, это который работает на всех ДЦ.
По этому, не надо предлагать искать в комментарии [sl], [tp], так как это делают не все ДЦ.
Глупостей, типа if(OrderClosePrice()==OrderStopLoss()) значит закрылся по лосю, то же не надо.
Может в новом языке уже кто то хорошо разобрался и там есть что то интересное на эту тему?
В связи с чем такой интерес? Какой, например, ДЦ не вставляет такие комментарии? Или ты просто думаешь что в новом языке могли добавить чего-то а ты не знаешь?
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Ugar (28.03.2014)
Старый 28.03.2014, 20:42   #2724 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,254
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1274
Отправить сообщение для Ugar с помощью ICQ
Сообщение от AlexeyVik Посмотреть сообщение
В связи с чем такой интерес? Какой, например, ДЦ не вставляет такие комментарии? Или ты просто думаешь что в новом языке могли добавить чего-то а ты не знаешь?
Например Альфа-форекс при закрытии по tp или sl ничего в комментарий не пишут. В комменте ордера всё что было задано при открытии. Наверняка не одни они такие.
Думаю, вдруг в новом языке есть какое то интересное решение этого вопроса.
В терминале, в истории, S/L помечен красным если ордер закрылся по нему. Значит терминалу известно как закрылся ордер.
Хочется изящное решение этого вопроса. Вдруг кто уже что то придумал интересное, а может что то уже есть в новом языке?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
AlexeyVik (29.03.2014)
Старый 29.03.2014, 07:03   #2725 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,525
Репутация: 3644
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,113
Поблагодарили 3,648 раз(а) в 1,469 сообщениях
Поинты: 2007
Сообщение от Ugar Посмотреть сообщение
Например Альфа-форекс при закрытии по tp или sl ничего в комментарий не пишут. В комменте ордера всё что было задано при открытии. Наверняка не одни они такие.
Думаю, вдруг в новом языке есть какое то интересное решение этого вопроса.
В терминале, в истории, S/L помечен красным если ордер закрылся по нему. Значит терминалу известно как закрылся ордер.
Хочется изящное решение этого вопроса. Вдруг кто уже что то придумал интересное, а может что то уже есть в новом языке?
Последнее время я много читаю на форуме mql4 но там ничего подобного не встречал.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 31.03.2014, 17:39   #2726 (permalink)
Почётный гражданин
 
Аватар для matro3
 
Регистрация: 18.07.2013
Сообщений: 349
Репутация: 344
matro3 matro3 matro3 matro3
Сказал(а) спасибо: 25
Поблагодарили 340 раз(а) в 143 сообщениях
Поинты: 160
Брал у кого-то код подсчета лота:
PHP код:
double GetSizeLot()
{
  
double dLot;

  if (
LotsWayChoice==0dLot=Lots;

  
// фиксированный процент от депозита
  
if (LotsWayChoice==1)
  {
    
dLot=MathCeil(AccountFreeMargin()/10000*LotsPercent)/10;
  }

  
// фракционно-пропорциональный
  
if (LotsWayChoice==2)
  {
    
int k=LotsDepoForOne;
    for (
double i=2i<=LotsMaxi++)
    {
      
k=k+i*LotsDeltaDepo;
      if (
k>AccountFreeMargin())
      {
        
dLot=(i-1)/10; break;
      }
    }
  }

  
// фракционно-фиксированный
  
if (LotsWayChoice==3)
  {
    
dLot=MathCeil((AccountFreeMargin()-LotsDepoForOne)/LotsDeltaDepo)/10;
  }

  if (
dLot<0.1dLot=0.1;
  return(
dLot);

Вроде у Кима. Ну да не суть.
На fx-trend на демо нормальный лот берет.
(фиксированный процент от депозита) - депо в доллярах
На RVD демо в рупблях, и те же настройки берет лот в 10 раз больше.
Кто-нть знает причину? Спасибо...
matro3 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 01.04.2014, 06:56   #2727 (permalink)
Почётный гражданин
 
Аватар для matro3
 
Регистрация: 18.07.2013
Сообщений: 349
Репутация: 344
matro3 matro3 matro3 matro3
Сказал(а) спасибо: 25
Поблагодарили 340 раз(а) в 143 сообщениях
Поинты: 160
Башка не варила уже )
Почитал - с рублями все сложно...
matro3 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 03.04.2014, 07:02   #2728 (permalink)
Местный знаток
 
Аватар для gince
 
Регистрация: 09.09.2008
Адрес: Литва
Сообщений: 396
Репутация: 733
gince - gince - gince - gince - gince - gince - gince -
Сказал(а) спасибо: 178
Поблагодарили 733 раз(а) в 189 сообщениях
Поинты: 192
Отправить сообщение для gince с помощью Skype™
Привет всем.
Как узнать номер или время первого бара на М15 в первый вторник текущего квартала и текущего месяца ?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Гинтарас
gince вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 03.04.2014, 07:33   #2729 (permalink)
Dom
 
Аватар для Dom
 
Регистрация: 09.03.2009
Сообщений: 1,032
Репутация: 2472
Dom Dom Dom Dom Dom Dom Dom Dom Dom Dom Dom
Сказал(а) спасибо: 204
Поблагодарили 2,473 раз(а) в 783 сообщениях
Поинты: 178
Здравствуйте! Уважаемые программисты! Подскажите пожалуйста! По какой причине не работает алерт в новых билдах, что я не так делаю. Например в этом:
Вложения:
Тип файла: mq4 ABCDE+Bollinger_Alert.mq4 (7.3 Кб, 18 просмотров)
Dom вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 03.04.2014, 07:47   #2730 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,525
Репутация: 3644
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,113
Поблагодарили 3,648 раз(а) в 1,469 сообщениях
Поинты: 2007
Сообщение от gince Посмотреть сообщение
Привет всем.
Как узнать номер или время первого бара на М15 в первый вторник текущего квартала и текущего месяца ?
Время первого бара какого-либо дня на М15 такое-же как и время первого бара М1 и такое-же как и время бара D1.
Идём по такому алгоритму:
Определяем время tm = iTime(NULL, PERIOD_MN1, 0);
Затем определяем день недели td = TimeDayOfWeek(tm);
Определяем номер бара этого дня x = iBarShift(NULL, PERIOD_D1, t);
А дальше исходя из этого определяем время вторника iTime(NULL, PERIOD_D1, x-?);
Но если месяц начинается с выходного, тут надо поэкспериментировать что будет получаться. Это уже сам...
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
gince (03.04.2014)
Старый 04.04.2014, 13:20   #2731 (permalink)
Новичок форума
 
Аватар для wellaflex
 
Регистрация: 08.11.2009
Сообщений: 19
Репутация: 9
wellaflex
Сказал(а) спасибо: 0
Поблагодарили 9 раз(а) в 4 сообщениях
Поинты: 23
Подскажите пожалуйста. Почему один и тот же советник выставляет стоповые ордера на одном брокере нормально,а на другом не хочет (Пишет в журнале Invalid TP or SL). Хотя первый брокер не разрешает устанавливать ТП и СЛ при постановке стопового ордера,а второй брокер наоборот разрешает.Получается парадокс какой-то...
Ах,да .Советник ставит стоповый ордер без ТП и СЛ.
wellaflex вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 04.04.2014, 13:36   #2732 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,254
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1274
Отправить сообщение для Ugar с помощью ICQ
Сообщение от wellaflex Посмотреть сообщение
Подскажите пожалуйста. Почему один и тот же советник выставляет стоповые ордера на одном брокере нормально,а на другом не хочет (Пишет в журнале Invalid TP or SL). Хотя первый брокер не разрешает устанавливать ТП и СЛ при постановке стопового ордера,а второй брокер наоборот разрешает.Получается парадокс какой-то...
Ах,да .Советник ставит стоповый ордер без ТП и СЛ.
Сообщение что неправильный SL TP, при установке отложенных ордеров, означает что цена открытия неправильная. Ведь стоповый ордер срабатывает когда на него цена наступит, можно сказать что он сам является стопом.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!

Последний раз редактировалось Ugar; 04.04.2014 в 13:39.
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 05.04.2014, 12:03   #2733 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
У кого-нить бывала такая ошибка?
PHP код:
'#property' name expected    CLogging.mqh    6    1 

Компилятор ругается на класс. Вот код класса, класс в стадии наполнения. Потому не большой ещё.
PHP код:
//+---------------------------------------------------------------------------------------------------------------------------------------+
//|                                                                                                                          СLogging.mqh |
//|                                                                                                                                   hoz |
//|                                                                                                                                       |
//+---------------------------------------------------------------------------------------------------------------------------------------+
#property copyright "hoz"
#property link      ""
#property version   "1.00"
#property strict
//+=======================================================================================================================================+
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//|                               КЛАСС ФУНКЦИЙ ДЛЯ ЛОГИРОВАНИЯ СОБЫТИЙ И МАНИПУЛЯЦИИ ТЕКСТОВЫМИ ДАННЫМИ                                  |
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//+=======================================================================================================================================+
//----
//+=======================================================================================================================================+
//                                                          ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ                                                         |
//+=======================================================================================================================================+
extern bool ib_PrintPermission true,      // Флаг печати комментариев
            
ib_CommentPermission true;    // Флаг показа комментариев на графике
//+=======================================================================================================================================+
//===================================================   Определяем класс библиотеки   ====================================================|
//+=======================================================================================================================================+
class CLogging
{
   protected:
      
string m_ls_LibName;
   public:
           
CLogging();
          ~
CLogging();
      
void fWrite_Log (string fs_Txtbool fb_PrintPermissionbool fb_CommentPermission);   // 1.1 Пишим Log-файл.
      
void fPrint (string fs_Txtbool fb_PrintPermissionbool fb_CommentPermission);       // 1.2 Выводим на печать и (или) на график комментарии.
};
//+---------------------------------------------------------------------------------------------------------------------------------------+
//----
//=========================================================================================================================================
// 0.1 Конструктор класса. ================================================================================================================
CLogging::CLogging() {
}
// 0.2 Деструктор класса. =================================================================================================================
CLogging::~CLogging() {
}
//=========================================================================================================================================
// 1.1 Пишим Log-файл. ====================================================================================================================
void CLogging::fWrite_Log (string fs_Txt,                       // Данные, которые требуется записать в Log-файл
                           
bool   fb_PrintPermission true,    // Флаг печати комментариев
                           
bool   fb_CommentPermission true)  // Флаг показа комментариев на графике
{

    static 
datetime ldt_NewDayOpen 0;
    static 
string   ls_FileName "";
    
datetime        ldt_CurrDayOpen iTime (Symbol(), NULLPERIOD_D1);
    
//---- Имя лог файла определяем один раз в сутки
    
if (ldt_NewDayOpen != ldt_CurrDayOpen)
    {
        
ls_FileName StringConcatenate (WindowExpertName(), "_"Symbol(), "_"Period(), "-"Month(), "-"Day(), ".log");
        
ldt_NewDayOpen ldt_CurrDayOpen;
    }
    
int handle FileOpen (ls_FileNameFILE_READ|FILE_WRITE|FILE_CSV"/t");

    
FileSeek (handle0SEEK_END);      
    
FileWrite (handleStringConcatenate (TimeToStr (TimeCurrent(), TIME_DATE|TIME_SECONDS), ": "fs_Txt));
    
FileClose (handle);
   
   
fPrint (fs_Txtfb_PrintPermissionfb_CommentPermission);
}
//=========================================================================================================================================
// 1.2 Выводим на печать и (или) на график комментарии. ===================================================================================
void CLogging::fPrint (string fs_Text,                          // Возвращаемая пустая строка
                       
bool   fb_PrintPermission true,        // Флаг печати комментариев
                       
bool   fb_CommentPermission true)      // Флаг показа комментариев на графике
{
    
m_ls_LibName "hoz_LoggingToAnyWhere@Library";

    if (
StringLen (fs_Text) > 0)
    {
        if (
m_ls_LibName != ""fs_Text StringConcatenate (m_ls_LibName" => "fs_Text);

        if (
fb_PrintPermission)
            Print (
fs_Text);

        if (
fb_CommentPermission)
            
Comment (fs_Text);
    }
    
//---- Очищаем переменную
    //fs_Text = "";
//---- 
    
return;


Ругань идёт на строку 6:
PHP код:
#property copyright "hoz" 

Как это вообще понять?

Последний раз редактировалось hoz; 05.04.2014 в 12:05.
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 05.04.2014, 12:52   #2734 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
Сообщение от hoz Посмотреть сообщение
У кого-нить бывала такая ошибка?
PHP код:
'#property' name expected    CLogging.mqh    6    1 
Как это вообще понять?
Ошибка не здесь, а в файле в котором #include делается.
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 05.04.2014, 13:01   #2735 (permalink)
Новичок форума
 
Аватар для wellaflex
 
Регистрация: 08.11.2009
Сообщений: 19
Репутация: 9
wellaflex
Сказал(а) спасибо: 0
Поблагодарили 9 раз(а) в 4 сообщениях
Поинты: 23
Сообщение от Ugar Посмотреть сообщение
Сообщение что неправильный SL TP, при установке отложенных ордеров, означает что цена открытия неправильная. Ведь стоповый ордер срабатывает когда на него цена наступит, можно сказать что он сам является стопом.
Спасибо. Выходит ,что советник очень близко к цене ставит стоповый ордер? И он не выставляется из-за этого.Или может быть и другая причина?
wellaflex вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 05.04.2014, 13:43   #2736 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,254
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1274
Отправить сообщение для Ugar с помощью ICQ
Сообщение от wellaflex Посмотреть сообщение
Спасибо. Выходит ,что советник очень близко к цене ставит стоповый ордер? И он не выставляется из-за этого.Или может быть и другая причина?
Да, скорее всего на разных ДЦ разный минимальный стоп.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 05.04.2014, 14:27   #2737 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от qqmber Посмотреть сообщение
Ошибка не здесь, а в файле в котором #include делается.

Вот сама библиотека, кстати:


PHP код:
//+---------------------------------------------------------------------------------------------------------------------------------------+
//|                                                                                                                   LErrorsHandling.mq4 |
//|                                                                                                                                   hoz |
//|                                                                                                                                       |
//+---------------------------------------------------------------------------------------------------------------------------------------+
#property library
#property copyright "hoz"
#property link      ""
#property version   "1.00"
#property strict
//+=======================================================================================================================================+
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//|                                 БИБЛИОТЕКА ДЛЯ КОНТРОЛЯ СОБЫТИЙ И ОШИБОК, ВОЗНИКАЮЩИХ ВО ВРЕМЯ РАБОТЫ ЭКПЕРТА                         |
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//+=======================================================================================================================================+
//----
// ===========================================================  Константы  ===============================================================+
#define WM_COMMAND  0x0111
// ====================================================== Импорт внешних модулей =========================================================+
#import "user32.dll"
     
int GetAncestor (int hWndint gaFlags);
     
int PostMessageA (int hWndint Msgint wParamstring lParam);
#import

#include <HOZ_Code\Includes\IBase.mqh>
#include <HOZ_Code\Classes\CLogging.mqh>

CLogging logging;
//----
//+=======================================================================================================================================+
//                                                          ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ                                                         |
//+=======================================================================================================================================+
string bs_LibName "hoz_HandlingWithErrorS@Library";
//+=======================================================================================================================================+
//===================================================   Перечень функций библиотеки   ====================================================|
//+=======================================================================================================================================+
//| 1.1 Функция обрабатывает ошибки.                                                                                                      |
//| 1.2 Сканирование серверов при разрыве связи.                                                                                          |
//| 1.3 Формируем строки из № ошибки и её описания.                                                                                       |
//| 1.4 Функция преобразует код последней ошибки в текстовую строку, содержащую описание данной ошибки.                                   |
//+---------------------------------------------------------------------------------------------------------------------------------------+
//----
//=========================================================================================================================================
// 1.1 Функция обрабатывает ошибки. =======================================================================================================
bool fErrorHandling (int fi_Errorboolfb_InvalidSTOPbool fb_PrintPermissionbool fb_CommentPermissionexport
{   
//----
   
if (fi_Error == 0)
       return (
true);
      
   switch (
fi_Error)
   {
      case 
4:   /*ERR_SERVER_BUSY*/
      
case 137/*ERR_BROKER_BUSY*/
      
case 139/*ERR_ORDER_LOCKED*/
      
case 146/*ERR_TRADE_CONTEXT_BUSY*/ Sleep (500); return (false);
      case 
6:   /*ERR_NO_CONNECTION*/ fReConnect(); Sleep (1000); return (false);
      case 
135/*ERR_PRICE_CHANGED*/ 
      
case 136/*ERR_OFF_QUOTES*/
      
case 138/*ERR_REQUOTE*/ Sleep (1); return (false);
      case 
129/*ERR_INVALID_PRICE*/
      
case 130/*ERR_INVALID_STOPS*/ fb_InvalidSTOP true; return (false);
      case 
4109/*ERR_TRADE_NOT_ALLOWED*/
         
Print ("Торговля запрещена ! Необходимо включить опцию \'Разрешить советнику торговать\'");
         return (
true);
         
      default: 
logging.fWrite_Log (StringConcatenate ("тикет #"OrderTicket(), ", Критическая ошибка № "fi_Error" :: ""["fErrorDescription (fi_Error),"]"), fb_PrintPermissionfb_CommentPermission);
         return (
true);
   }
//----
   
return (true);
}
//=========================================================================================================================================
// 1.2 Сканирование серверов при разрыве связи. ===========================================================================================
void fReConnect() export
{
//---- Получаем Handle терминала
   
int hMetaTrader GetAncestor (WindowHandle (Symbol(), Period()), 2);
//---- Команда пересканировать все сервера
   
if (hMetaTrader != 0)
   {
      
PostMessageA (hMetaTraderWM_COMMAND37400NULL);
   }
//----
   
return;
}
//=========================================================================================================================================
// 1.3 Формируем строки из № ошибки и её описания. ========================================================================================
string fErrorToString (int fi_Errorexport
{
    
bi_Err fi_Error;
    
    return (
StringConcatenate ("Ошибка № "bi_Err" :: "fErrorDescription (bi_Err)));
}
//=========================================================================================================================================
// 1.4 Функция преобразует код последней ошибки в текстовую строку, содержащую описание данной ошибки. ====================================
string fErrorDescription (int fi_Errorexport
{
   
string ls_Error "";

   switch (
fi_Error)
   {
      
// Коды ошибок, возвращаемые торговым сервером:
      
case 0:   ls_Error "Нет ошибки";
      case 
1:   ls_Error "Нет ошибки, но результат не известен";
      case 
2:   ls_Error "Общая ошибка";
      case 
3:   ls_Error "Неправильные параметры";
      case 
4:   ls_Error "Торговый сервер занят";
      case 
5:   ls_Error "Старая версия клиентского терминала";
      case 
6:   ls_Error "Нет связи с торговым сервером";
      case 
7:   ls_Error "Недостаточно прав";
      case 
8:   ls_Error "Слишком частые запросы";
      case 
9:   ls_Error "Недопустимая операция, нарушающая функционирование сервера";
      case 
64:  ls_Error "Счёт заблокирован";
      case 
65:  ls_Error "Не правильный номер счёта";
      case 
128ls_Error "Истёк срок ожидания совершения сделки";
      case 
129ls_Error "Неправильная цена";
      case 
130ls_Error "Неправильные стопы";
      case 
131ls_Error "Неправильный объём";
      case 
132ls_Error "Рынок закрыт";
      case 
133ls_Error "Торговля запрещена";
      case 
134ls_Error "Недостаточно денег для совершения операции";
      case 
135ls_Error "Цена изменилась";
      case 
136ls_Error "Нет цен";
      case 
137ls_Error "Брокер занят";
      case 
138ls_Error "Новые цены";
      case 
139ls_Error "Ордер заблокирован и уже обрабатывается";
      case 
140ls_Error "Разрешена только покупка";
      case 
141ls_Error "Слишком много запросов";
      case 
145ls_Error "Модификация запрещена, т.к. ордер слишком близок к рынку";
      case 
146ls_Error "Подсистема торговли занята";
      case 
147ls_Error "Использование даты истечения ордера запрещено брокером";
      case 
148ls_Error "Количество открытых и отложенных ордеров достигло  предела, установленого брокером";
      case 
149ls_Error "Попытка открыть позицию к уже существующей, в случае, если хеджирование запрещено";
      case 
150ls_Error "Попытка закрыть позицию по инструменту в противоречии с правилом FIFO";
      
// Коды ошибок выполнения MQL4-программы:
      
case 4000ls_Error "Нет ошибки";
      case 
4001ls_Error "Неправильный указатель функции";
      case 
4002ls_Error "Индекс массива - вне диапазона";
      case 
4003ls_Error "Нет памяти для стека функций";
      case 
4004ls_Error "Переполнение стека после рекурсивного вызова";
      case 
4005ls_Error "На стеке нет памяти для передачи параметров";
      case 
4006ls_Error "Нет памяти для строкового параметра";
      case 
4007ls_Error "Нет памяти для временной строки";
      case 
4008ls_Error "Неинициализированная строка";
      case 
4009ls_Error "Неинициализированная строка в массиве";
      case 
4010ls_Error "Нет памяти для строкового массива";
      case 
4011ls_Error "Слишком длинная строка";
      case 
4012ls_Error "Остаток от деления на ноль";
      case 
4013ls_Error "Деление на ноль";
      case 
4014ls_Error "Неизвестная команда";
      case 
4015ls_Error "Неправильный переход";
      case 
4016ls_Error "Неинициализированный массив";
      case 
4017ls_Error "Вызовы DLL не разрешены";
      case 
4018ls_Error "Не возможно загрузить библиотеку";
      case 
4019ls_Error "Не возможно вызвать функцию";
      case 
4020ls_Error "Вызовы внешних библиотечных функций не разрешены";
      case 
4021ls_Error "Недостаточно памяти для строки, возвращаемой из функции";
      case 
4022ls_Error "Система занята";
      case 
4050ls_Error "Неправильное количество параметров функции";
      case 
4051ls_Error "Недопустимое значение параметра функции";
      case 
4052ls_Error "Внутренняя ошибка строковой функции";
      case 
4053ls_Error "Ошибка массива";
      case 
4054ls_Error "Неправильное использование массива-таймсерии";
      case 
4055ls_Error "Ошибка пользовательского индикатора";
      case 
4056ls_Error "Массивы не совместимы";
      case 
4057ls_Error "Ошибка обработки глобальных переменных";
      case 
4058ls_Error "Глобальная переменная не обнаружена";
      case 
4059ls_Error "Функция не разрешена в тестовом режиме";
      case 
4060ls_Error "Функция не разрешена";
      case 
4061ls_Error "Ошибка отправки почты";
      case 
4062ls_Error "Ожидается параметр типа string";
      case 
4063ls_Error "Ожидается параметр типа integer";
      case 
4064ls_Error "Ожидается параметр типа double";
      case 
4065ls_Error "В качестве параметра ожидается массив";
      case 
4066ls_Error "Запрошенные исторические данные в состоянии обновления";
      case 
4067ls_Error "Ошибка при выполнении торговой операции";
      case 
4099ls_Error "Конец файла";
      case 
4100ls_Error "Ошибка при работе с файлом";
      case 
4101ls_Error "Неправильное имя файла";
      case 
4102ls_Error "Слишком много открытых файлов";
      case 
4103ls_Error "Не возможно открыть файл";
      case 
4104ls_Error "Не совместимый режим доступа";
      case 
4105ls_Error "Ни один ордер не выбран";
      case 
4106ls_Error "Не известный символ";
      case 
4107ls_Error "Не правильный параметр цены для торговой функции";
      case 
4108ls_Error "Не верный номер тикета";
      case 
4109ls_Error "Торговля не разрешена. Необходимо включить опцию \"Разрешить советнику торговать\" в свойствах эксперта";
      case 
4110ls_Error "Длинные позиции не разрешены. Необходимо проверить свойства эксперта";
      case 
4111ls_Error "Короткие позиции не разрешены. Необходимо проверить свойства эксперта";
      case 
4200ls_Error "Объект уже существует";
      case 
4201ls_Error "Запрошено неизвестное свойство объекта";
      case 
4202ls_Error "Объект не существует";
      case 
4203ls_Error "Неизвестный тип объекта";
      case 
4204ls_Error "Нет имени объекта";
      case 
4205ls_Error "Ошибка координат объекта";
      case 
4206ls_Error "Не найдено указанное подокно";
      case 
4207ls_Error "Ошибка при работе с объектом";
      
      default: 
ls_Error "Ошибок нет вообще никаких";
   }
   
   return (
ls_Error);

Прилепляю библиотеку и класс к сообщению тоже.

Класс находится у меня в папке:

PHP код:
\ДЦ\MQL4\Include\HOZ_Code\Classes

А библиотека по стандартному пути:

PHP код:
\ДЦ\MQL4\Libraries
Вложения:
Тип файла: mq4 LErrorsHandling.mq4 (12.5 Кб, 5 просмотров)
Тип файла: mqh CLogging.mqh (5.7 Кб, 6 просмотров)
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 05.04.2014, 14:52   #2738 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
IBase.mqh смотри, там косяк.
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 05.04.2014, 19:06   #2739 (permalink)
 
Аватар для mobidik
 
Регистрация: 09.08.2012
Адрес: Ua_Khm
Сообщений: 1,648
Репутация: 8546
mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik
Сказал(а) спасибо: 633
Поблагодарили 8,542 раз(а) в 1,562 сообщениях
Поинты: 802
Гуру подскажите, где ошибка? Индюк строит канал по фракталам, но со смещением delta, заданным в настройках. Если delta=0, все отображается как нужно, а вот, например, при delta=15, на истории провалы в отрисовке, а уже в работе - отрисовывает верно. Прилагаю скрин на ренко, для наглядности: левая часть - как был наброшен индюк на график, правая - уже в работе. Прилагаю часть кода, ниже сам индюк.

Скрытый текст

Код HTML:
int start()
  { 
   int indicator_count = IndicatorCounted();
   if (indicator_count < 0) return (-1);
   if (indicator_count > 0) indicator_count--;
   int bars_count = Bars - indicator_count; 
   
   for (i = bars_count - 1; i > 0; i--)
   {
//------------------------------------------------------------------- 
   fr_up_new=iFractals(NULL,0,MODE_UPPER,i);  
   fr_dn_new=iFractals(NULL,0,MODE_LOWER,i);
//-------------------------------------------------------------------     
    if (fr_up_new>0)
    {
       if(Fr_on)
       fr_up[i] = High[i];                    
     if(MathAbs(High[i]-line_up[i+1])>(delta*Point))  
       line_up[i] = High[i]; 
        }else{           
       line_up[i] = line_up[i+1];
       }
//--------------------------------------------------------------------      
    if (fr_dn_new>0)
    {
       if(Fr_on)fr_dn[i] = Low[i];
     if(MathAbs(Low[i]-line_dn[i+1])>(delta*Point))    
       line_dn[i] = Low[i];
       }else{
       line_dn[i] = line_dn[i+1];
       }
//--------------------------------------------------------------------         
   }  
   return(0);
}
[свернуть]
Миниатюры:
Нажмите на изображение для увеличения
Название: fractalchanneldelta.png
Просмотров: 19
Размер:	57.2 Кб
ID:	159640  
Вложения:
Тип файла: mq4 FractalChannelDelta.mq4 (2.7 Кб, 4 просмотров)
mobidik на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 05.04.2014, 20:28   #2740 (permalink)
Новичок форума
 
Аватар для wellaflex
 
Регистрация: 08.11.2009
Сообщений: 19
Репутация: 9
wellaflex
Сказал(а) спасибо: 0
Поблагодарили 9 раз(а) в 4 сообщениях
Поинты: 23
Сообщение от Ugar Посмотреть сообщение
Да, скорее всего на разных ДЦ разный минимальный стоп.
Я проверил .У обоих брокеров указано при открытии " Вы можете установить ордер не ближе 0 пунктов от рыночной цены". Но на одном открывает ,а на другом -нет...
wellaflex вне форума   Ответить с цитированиемОтветить с цитированием  
Ответ

Метки
mql4, mql4 помощь, вопросы mql4


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 14:05. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
SEO by vBSEO