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 터미널의 로그를 기억하고 있습니다. 원칙적으로 모든 거래 이벤트가 거기에 추가됩니다. 또한 거래 이벤트에 대한 모바일 단말기 알림도 있습니다. 업데이트: 불행히도. 이러한 이벤트는 dll 없이 액세스할 수도 없습니다.

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