Чем в mql4 заменить OnTradeTransaction()? - страница 9

 
Dmitry Fedoseev:

Допустим, произошло событие в  OnTradeTransaction() после которого необходимо выполнить какие-то действия, но при первой попытке выполнить эти действия произошла ошибка. Что делать? Очевидно, надо повторить попытку, а для этого нужно где-то сохранить данные о необходимости повторения этих действий - скорее всего сохранение этих данных делается в обычных глобальных переменных советника или в статических функции. И вдруг пришлось перезапустить терминал... данные пропали. 

А когда анализируешь текущую ситуацию и историю - ничто никуда не улетает.

Если терминал вылетел, то после перезагрузки в OnInit()  и так принято проводить инвентаризацию полную. 

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
В языке MQL5 предусмотрена обработка некоторых предопределенных событий. Функции для обработки этих событий должны быть определены в программе MQL5: имя функции, тип возвращаемого значения, состав параметров (если они есть) и их типы должны строго соответствовать описанию функции-обработчика события. Именно по типу возвращаемого значения и по...
 
Vitaly Muzichenko:

Это даже можно использовать как неполноценный OnTrade()

void OnTrade()
 {
  ...
 }

static __OTotal = -1;
static __HTotal = -1;
int OT=OrdersTotal();
int HT=OrdersHistoryTotal();
  if(OT!=__OTotal || HT!=__HTotal) // если изменилось - выполняем
   {
     OnTrade(); // здесь дёргаем текущую ситуацию на счёте и заполняем структуры
     __OTotal=OrdersTotal(); // запомним текущее количество
     __HTotal=OrdersHistoryTotal(); // запомним количество в истории
   }

Да, из всего прочитанного в этой ветке, сделал вывод, что это решение - простое, надежное и "дешевое". Попробую еще раз пройтись по всем функциям mql4, если что-то найду, допишу в этот пост. Спасибо за помощь.

Пока что еще вспомнил о логах терминала Metatrader 4, туда, как правило, добавляются все торговые события. Также, есть еще уведомления на мобильный терминал о торговых событиях. upd: к сожалению. к этим событиям также не получить доступ без dll

Мобильные приложения MetaTrader 5 для iPhone/iPad и Android
Мобильные приложения MetaTrader 5 для iPhone/iPad и Android
  • www.metatrader5.com
Мобильный трейдинг в MetaTrader 5 — это возможность торговать на Форексе, фондовой бирже, а также фьючерсами в любое время из любой точки мира. Имея смартфон или планшет с установленным приложением MetaTrader 5 для iOS или Android, вы всегда будете в курсе рыночной ситуации и сможете совершать торговые операции 24 часа в сутки. Все возможности...
Причина обращения: