Avec quoi remplacer OnTradeTransaction() dans mql4 ? - page 9

 
Dmitry Fedoseev:

Supposons qu'un événement se produise dans OnTradeTransaction() après lequel une action doit être effectuée, mais qu'une erreur se produise lors de la première tentative d'exécution de cette action. Que faire ? Évidemment, nous devons essayer de le refaire, et pour cela nous devons enregistrer quelque part les données sur la nécessité de la répétition de ces actions - le plus souvent, ces données sont enregistrées dans les variables globales habituelles du conseiller expert ou dans des fonctions statiques. Et soudain, j'ai dû redémarrer le terminal... les données ont disparu.

Et quand on analyse la situation actuelle et l'histoire - rien n'a bougé.

Si le terminal a planté, alors après le redémarrage dans OnInit() et donc il est habituel de faire un inventaire complet.

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

Cela peut même être utilisé comme un OnTrade() incomplet.

void OnTrade()
 {
  ...
 }

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

Oui, j'ai tout lu dans ce fil et j'en ai conclu que cette solution est simple, fiable et "bon marché". Je vais essayer de regarder toutes les fonctions de mql4 encore une fois, si je trouve quelque chose, je l'ajouterai à ce post. Merci pour votre aide.

Je me suis également souvenu des journaux du terminal Metatrader 4. En règle générale, tous les événements commerciaux y sont ajoutés. Le terminal mobile reçoit également des notifications sur les événements commerciaux. upd : malheureusement. ces événements ne sont pas non plus accessibles sans dll

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