Новая версия платформы MetaTrader 5 build 2007: Экономический календарь, MQL5-программы в виде сервисов - страница 55

 
Igor Zakharov:

Было где-то уже... Заплатку предложили: если перед ней сделать вызов ObjectsTotal(), то срабатывает. MQ сказали, что поправили.

Спасибо. Так, действительно, работает.

 
input double  Martin           =2;  //Martingale factor

Примерно 40 минут поисков ошибки в коде... false=0 - такое значение и использовал тестер :(

Похожее:

https://www.mql5.com/ru/forum/304239/page52#comment_11354965

https://www.mql5.com/ru/forum/304239/page47#comment_11320269

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

Aleksey Vyazmikin, 2019.04.26 12:44

Уважаемые разработчики, прошу Вас пояснить, почему я периодически получаю ошибку при копировании в буфер текущей даты бара в индикаторе?

2019.04.26 12:12:39.811 i-Regr4_05i (Si-6.19,M1)        Failed to copy data from the handle_Regressor indicator, error code 4401
   datetime Arr[],time1;
   if(CopyTime(symb,0,0,1,Arr)<=0)
   {
   PrintFormat("Failed to copy data from the handle_Regressor indicator, error code %d",GetLastError());
   return(0);
   }

Зимой такой ошибки не было - индикаторы месяц отработали стабильно, а в новых билдах это стал наблюдать.


 

Советник прикреплённый к графику видит больше открытых символов, чем в действительности открыто:

   Print("I see ",SymbolsTotal(true)," symbols in market-watch:");
   for(int i=0;i<SymbolsTotal(true);i++)
     Print(i+1,") ",SymbolName(i,true));

Вероятная причина: в тестере стратегий, несколько проходов назад, запускался с "жёстким" списком символов. Лишние символы из этого списка.

Но после список был заменён на скан Обзора рынка. Тестер видит в нём 1 символ (на котором запускается тест), а реальный терминал - со сбоем. Тестер уже закрыт.

 
HistoryDealGetInteger(ticket, DEAL_ORDER) = long
MqlTradeResult.order = ulong 
 
#undef MACROS // Нет предупреждения.

void OnStart() {}
 

fxsaber:

#undef MACROS // Нет предупреждения.

void OnStart() {}

Зачем предупреждение? Это лишь удаление макроса, который может быть объявлен в другом файле или закомментирован.

 

Если на несоответствие типов для номера ордера еще можно забить, то  при magic это может принести к потере информации:

HistoryDealGetInteger(ticket, DEAL_MAGIC) = long
MqlTradeRequest.magic = ulong
 
Roffild:

Зачем предупреждение? Это лишь удаление макроса, который может быть объявлен в другом файле или закомментирован.

Макрос не был объявлен.

 
Roffild:

Если на несоответствие типов для номера ордера еще можно забить, то  при magic это может принести к потере информации:

Потери не будет.

Причина обращения: