- Caratteristiche del linguaggio mql4, sottigliezze e tecniche
- Campionato di ottimizzazione degli algoritmi.
- Errori, bug, domande
quando unaposizione viene aperta con successo da un ordine a mercato, si ottiene ogni volta uno zero Result.deal?
Una volta che OrderSend è stato eseguito, l'indirizzamento dell'ordine, della posizione o della transazione in questione non ha sempre successo. Ci sono situazioni in cui è necessario aspettare qualche decina di millisecondi perché le informazioni storiche o attuali sul commercio diventino corrette.
Forum sul trading, sistemi di trading automatico e test di strategie di trading
TakeProfit (e StopLoss) di una posizione chiusa
fxsaber, 2016.07.17 20:19
Questa non è un'accusa indiscriminata, ma il risultato di ore di tentativi di scoprire (nessuna HistorySelectByPosition e altre cose aiutano) come funziona tutto. E sono felice di scusarmi se mi sbaglio. Per non essere infondato, sto mostrando un Expert Advisor per il tester (è più facile da capire) sul server RoboForexEU-MetaTrader 5, che apre una posizione, poi mette livelli SL e TP.
void OnTick() { static bool Flag = true; if (Flag) { // Открываем SELL-позицию MqlTradeRequest Request = {0}; Request.action = TRADE_ACTION_DEAL; Request.symbol = Symbol(); Request.volume = 1; Request.price = SymbolInfoDouble(Symbol(), SYMBOL_BID); Request.type = ORDER_TYPE_SELL; MqlTradeResult Result; if (OrderSend(Request, Result)) { // Устанавливаем SL и TP Request.position = Result.deal; Request.action = TRADE_ACTION_SLTP; Request.tp = Result.ask - 10 * _Point; Request.sl = Result.ask + 10 * _Point; if (OrderSend(Request, Result)) Print("Сделка в тестере закроется либо по SL, TP, либо по окончании бэктеста") ; Flag = false; } } }
In questo EA, SL e TP di una singola posizione chiusa non possono essere definiti (in OnDeinit). Si suppone che sia così?
Forum sul trading, sistemi di trading automatico e test di strategie di trading
Alternativa a Sleep da eseguire in tester
Vitalie Postolache, 2017.02.10 18:01
I timer funzionano nel tester MT5?Forum sul trading, sistemi di trading automatico e test di strategie di trading
Alternativa a Sleep per l'esecuzione nel tester
Slawa, 2017.02.22 11:16
Sì, ma solo per l'EA da testare. Non per gli indicatori usati dall'Expert AdvisorForum sul trading, sistemi di trading automatico e test di strategie di trading
Slawa, 2017.02.14 13:46
Perché? Una sola azione è sufficiente.Finché il simbolo è selezionato nella revisione del mercato e la cronologia sul simbolo è tenuta dall'Expert Advisor, è mantenuta in sincronia. Il mantenimento da parte dell'Expert Advisor significa che accederai a questa storia almeno una volta ogni 2 minuti, per esempio copiando una barra. Se la storia è sincronizzata, non si spende tempo per copiare una barra - solo alcuni cicli del processore. Oppure, come è stato appena detto qui, chiedere il numero di barre, anche alcuni cicli di clock
Forum sul trading, sistemi di trading automatico e test di strategie di trading
Alexey Kozitsyn, 2017.02.14 13:47
Gli indicatori includono un intervallo di 2 minuti?
Sì, e controllando il fatto della sincronizzazione si terrà anche la sincronizzazione?
Forum sul trading, sistemi di trading automatico e test di strategie di trading
Slawa, 2017.02.14 13:50
Questo vale anche per gli indicatori. Creare un timer di 1 minuto e chiedere il numero di barre di tutte le serie temporali di interesse.Il controllo del fatto della temporizzazione non tiene la temporizzazione.
Una volta che OrderSend viene eseguito, il riferimento all'ordine, alla posizione o al commercio appropriato non sempre ha successo. Ci sono situazioni in cui è necessario aspettare qualche decina di millisecondi perché l'informazione storica o corrente del commercio diventi corretta.
Non è necessario aspettare qualche millisecondo.
Il messaggio arriverà in OnTradeTransaction
vedere il codice
Non è necessario aspettare qualche millisecondo.
Il messaggio arriverà in OnTradeTransaction
vedere il codice.
Gli script non ce l'hanno. È stupido usare EA+ExpertRemove invece dello script.
Inoltre, OrderSend va in crash per timeout se non c'è risposta dal server per 180 secondi. Questo suggerisce che l'OnTradeTransaction può accumulare per sempre biglietti in attesa. E l'opzione di un solo order_ticket per OnTradeTransaction, come nel tuo script, non va bene. Dopo l'invio asincrono c'è un lavoro con liste di ordini. Ecco perché è asincrono - per lavorare con i lotti. E se non c'è lavoro con il batch, allora l'async non è mai necessario.

- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso