Ошибки, баги, вопросы - страница 3652

 
может у кого-то есть прошлый билд? киньте им в меня, пожалуйста, очень ннада.
 
Georg Vahi #:
билд 5120 от 13 июня 2025.
тестрер крашится с ошибкой инициализации. 
ничего кроме версии метатрейдера не менялось, первый краш был на прошлой версии от 5го(помоему) июня. до этого все было ок.
как решить проблему?

если кому надо могу поделиться билдом 4885 (февраль 2025).
но проблема оказалась не в метаке или не совсем в нем: откат мт на прошлые билды не исправил проблему, после изучения системных логов стало понятно что ошибка инициализации тестера была вызвана сбоем оборудования.
и, после определенных танцев с бубном, восстановить работоспособность удалось после переустановки дров чипсета (х99 хуананг на две ксеоно дырки).
всем спасибо за помощь!

 
Andrey Dik #:

Надеюсь, донес мысль. Установил чекбокс в интерфейсе тестера -> Запустил тестер в визуальном режиме -> Тестер встает на паузу при совершении любой торговой операции советником -> Пользователь при желании нажимает "пробел" и получает распаузивание тестера до следующей торговой операции. Очень просто. А функции серии "***Pause" - это для программистов MQL5 (они смогут делать то же самое, что и юзер с чекбоксом, но на продвинутом уровне на уровне кода при разработке и отладке логики стратегии).

Мне очень нравится ваша идея! Возможность визуального тестирования не по времени, а по сделкам — это очень круто. Если при этом починили бы накидывание шаблонов оформления графиков для второго и последующих чартов, открываемых экспертами, ну вообще роскошно стало бы (и тестер курильщика превратился бы в тестер здорового человека).

 

ОШИБКА с проверкой лицензии продуктов Маркета.

Время от времени, когда MT5 был закрыт некоторое время, при его перезапуске и использовании Продуктов с mql5.com, лицензия не была правильно проверена, и Продукт затем удаляется с графика. Что может быть очень раздражающим (даже опасным, если это происходит с торговым советником) и незаметным для пользователя.

Если это происходит с индикаторами, но индикаторы остаются на графике, поэтому они возвращаются к норме, когда вы переключаете таймфрейм или символ, например. Но советники просто удаляются с графиков.

Я не знаю, когда это происходит, возможно, когда платформа закрыта на долгое время (больше 1 дня ?). У меня есть логи, чтобы продемонстрировать проблему, если это необходимо.


Я выгляжу вот так:

LS    2    09:37:39.184    [Product name]    invalid license

При этом лицензия полностью действительна.

 
Georg Vahi #:
может у кого-то есть прошлый билд? киньте им в меня, пожалуйста, очень ннада.
Если пришлют, маякни плиз!

Тестер запускается с таймаутом в 20 мин🙈

 
Georg Vahi #:

если кому надо могу поделиться билдом 4885 (февраль 2025).
но проблема оказалась не в метаке или не совсем в нем: откат мт на прошлые билды не исправил проблему, после изучения системных логов стало понятно что ошибка инициализации тестера была вызвана сбоем оборудования.
и, после определенных танцев с бубном, восстановить работоспособность удалось после переустановки дров чипсета (х99 хуананг на две ксеоно дырки).
всем спасибо за помощь!

Поделись плиз прошлым билдом!
Спасибо 
 
Georg Vahi #:
может у кого-то есть прошлый билд? киньте им в меня, пожалуйста, очень ннада.
Sergei Samokhin #:
Поделись плиз прошлым билдом!
Спасибо 
Andrey Khatimlianskii
Andrey Khatimlianskii
  • 2022.02.02
  • www.mql5.com
Профиль трейдера
 

Хотел почистить subversion из редактора MT4.


Но как "remove", так и "delete" завершаются ошибкой:

 

Небольшой вопрос знатокам:

У позиций и ордеров есть свойства: ENUM_POSITION_REASON , ENUM_ORDER_REASON

Можно узнать была ли позиция/ордер порождена действиями клиента через терминал или автоматически советником и так далее.

Но, например если удаляется ордер и происходит соответствующее событие отлавливаемое в OnTradeTransaction() - как правильно узнать(возможно ли вообще): удаление ордера инициировано клиентом в ручную или автоматически экспертом? То же самое насчет модификации позиций(ТП/SL).

Другими словами: есть ли возможность получить свойства таких событий, дабы определить кто их породил? 


 
Igor Zakharev #:

Небольшой вопрос знатокам:

У позиций и ордеров есть свойства: ENUM_POSITION_REASON , ENUM_ORDER_REASON

Можно узнать была ли позиция/ордер порождена действиями клиента через терминал или автоматически советником и так далее.

Но, например если удаляется ордер и происходит соответствующее событие отлавливаемое в OnTradeTransaction() - как правильно узнать(возможно ли вообще): удаление ордера инициировано клиентом в ручную или автоматически экспертом? То же самое насчет модификации позиций(ТП/SL).

Другими словами: есть ли возможность получить свойства таких событий, дабы определить кто их породил? 

После добавления сделки или ордера в историю, можно так:

//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
   if(trans.type == TRADE_TRANSACTION_DEAL_ADD)
      if(HistoryDealSelect(trans.deal))
         long deal_reason = HistoryDealGetInteger(trans.deal, DEAL_REASON);

   if(trans.type == TRADE_TRANSACTION_HISTORY_ADD)
      if(HistoryOrderSelect(trans.order))
         long   order_reason = HistoryOrderGetInteger(trans.order, ORDER_REASON);
  }
//+------------------------------------------------------------------+


ЗЫ. Сегодня воскресенье, не проверить, но если рассуждать логически, то сделка происходит на основании ордера, а значит, к тому моменту, когда сделка записывается в историю, ордер уже должен быть там (в истории).

Поэтому код код сократить на пару строк.

   if(trans.type == TRADE_TRANSACTION_DEAL_ADD || rans.type == TRADE_TRANSACTION_HISTORY_ADD)
      if(HistoryOrderSelect(trans.order))
         long   order_reason = HistoryOrderGetInteger(trans.order, ORDER_REASON);