Come lavorare correttamente in MT5 con OrderSend - pagina 7

 
fxsaber:

Credo che un esempio come questo sia illustrativo.

Se non si fa Sleep, spesso si ottiene una situazione in cui la storia non ha avuto il tempo di aggiornarsi dopo OrderClose e OrderCommission restituisce un valore come se OrderClose non fosse stato fatto.

Si noti che questo è uno script e non ci può essere alcun Event-Over. L'unica via d'uscita è uno stupido Sonno.

Se riscrivete questo script con SB, non cambierà nulla.

Non confondere MT4 con MT5
 
prostotrader:
Non confondere MT4 con MT5

Questo e MT5

#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006
 
fxsaber:

Questo e MT5

OP_BUY

Non esiste una cosa del genere in MT5.

Funzionano in modo completamente diverso.

 
prostotrader:
OP_BUY

Non esiste una cosa del genere in MT5.

Funzionano in modo completamente diverso.

Invece di eseguire il codice di cui sopra in MT5, stai sprecando il tuo tempo con chiacchiere inutili.
 

Forum sul trading, sistemi di trading automatico e test di strategia

Biblioteche: MT4Orders

fxsaber, 2016.11.14 13:33

// 13.11.2016:
//   Add: Полная синхронизация OrderSend, OrderModify, OrderClose, OrderDelete с торговым окружением (реал-тайм и история) - как в MT4.
//        Максимальное время синхронизации можно задать через MT4ORDERS::OrderSend_MaxPause в мкс. Среднее время синхронизации в MT5 ~1 мс.
 
fxsaber:
Sulla base di quanto sopra, Sleep(1) dovrebbe essere messo dopo ogni scambio?
 
Alexey Kozitsyn:
Sulla base di quanto sopra, Sleep(1) deve essere impostato dopo ogni trade?
No, il tempo di sincronizzazione è fluttuante. Guarda
static bool MT4ORDERS::OrderSend( const MqlTradeRequest &Request, MqlTradeResult &Result );
 
fxsaber:
No, il tempo di sincronizzazione è fluttuante. Vedere
static bool MT4ORDERS::OrderSend( const MqlTradeRequest &Request, MqlTradeResult &Result );

La pratica dimostra che Sleep(1) è sufficiente nella grande maggioranza dei casi.

In generale, è abbastanza strano ricevere una risposta da OrderSend su un ambiente di trading cambiato, quando questo stesso ambiente cambiato non può ancora essere letto.

 
Vasiliy Sokolov:

La pratica dimostra che Sleep(1) è sufficiente nella grande maggioranza dei casi.

A volte Sleep(0) è sufficiente. Ma ci deve essere una soluzione funzionante per tutti i casi e per un tempo di attesa minimo.
 
fxsaber:
A volte anche Sleep(0) è sufficiente. Ma ci deve essere una soluzione funzionante per tutti i casi e per un tempo di attesa minimo.

Perché gli sviluppatori dovrebbero risolvere il bug di "Mr. Balloon"?

e inoltre, c'è OrderSendAsync().