Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Tu non capisci niente. Quando torniamo, entriamo nelle funzioni On della coda generata. Questo può causare una pausa che impedisce al primo OrderSend di inviare il secondo corretto.
In cosa consiste la pausa/ritardo? Nella copia di 3 strutture?
Lei propone di accumulare la coda salvando tutte le funzioni On dopo il ritorno, in attesa della funzione On, che dirà che il primo OrderSend è finito. E poi inviare solo il secondo OrderSend.
Non è necessario accumulare tutti gli eventi. Non aspettare il prossimo evento per copiare - puoi elaborare gli eventi prima del ritorno e inviare il secondo OrderSend non appena arrivano i prerequisiti per questo
Inoltre non ti rendi conto che la posizione take può essere eseguita durante il primo OrderSend, ma la sua OnTradeTransaction sarà nella coda più tardi (nello stesso microsecondo, ma più tardi) rispetto alla OnTradeTransaction finale del primo OrderSend.
E come ti aiuta in una situazione del genere?
bool HandleNextEvent(ENUM_EVENT_TYPE);
Sarà ultimo sia qui che là
Tu non capisci niente. Quando torniamo, entriamo nelle funzioni On della coda generata. Questo può causare una pausa che impedisce al primo OrderSend di inviare il secondo corretto subito dopo il primo.
Lei propone di accumulare la coda salvando tutte le funzioni On dopo il ritorno, in attesa della funzione On, in cui ci sarà un messaggio sulla fine del primo OrderSend. E poi inviare solo il secondo OrderSend.
Allo stesso tempo non capite che la posizione take può essere eseguita durante il primo OrderSend, ma la sua OnTradeTransaction sarà nella coda più tardi (nello stesso microsecondo, ma più tardi) rispetto alla OnTradeTransaction finale del primo OrderSend.
Non c'è nessuna coda. Il nuovo evento sarà processato dopo quello corrente, e tutti gli eventi che si sono verificati durante questo periodo saranno ignorati.
Secondo me, la soluzione al problema sarebbe quella di poter "sottoscrivere" un ordine. Cioè, che il terminale generi un evento quando si verifica una transazione su un ordine.
Ma questo dovrebbe essere implementato dagli sviluppatori, non da noi. Tutte le nostre soluzioni, in un modo o nell'altro, torneranno alla storia degli accordi. Non ho una criticità così microseconda, ma è davvero
Ma è davvero fastidioso scrivere moto complesse per scoprire se un accordo è passato o non passato, se i livelli sono scattati o se qualcuno ha corretto una posizione nel terminale.
Anche se sembrerebbe una cosa semplice - un evento su un trade su una posizione - e tutto sarebbe molto più facile.
Ma spetta agli sviluppatori implementare questo, non a noi.
Gli sviluppatori dovrebbero solo fornire gli strumenti. MQL è essenzialmente un linguaggio di programmazione di basso livello (proprio come C++). Non si usa in termini di compiti ma di calcoli. E prendi tutte le decisioni di alto livello da solo. Possono mancare gli strumenti, ma non le soluzioni pronte all'uso
Qual è il ritardo della pausa? Nel copiare 3 strutture?
Nell'elaborazione di una coda di eventi diversi.
Come ti aiuterebbe in una situazione del genere?
Sarà l'ultimo qui o lì.
Sarò consapevole della chiusura della presa.
Non c'è nessuna coda. Il nuovo evento sarà processato dopo l'evento corrente e tutti gli eventi che si sono verificati durante questo periodo saranno ignorati.
Incompetente.
Ci sono vari eventi in coda da elaborare.
Sarò consapevole della chiusura sul tee.
Fermiamoci al fatto che davvero (senza codice conHandleNextEvent) non capisco cose elementari.
Come nota finale, la differenza tra il propostoHandleNextEvent e quello che ho scritto è che è tramite ricorsione e io l'ho tramite un ciclo. Inoltre, la coda è inizialmente formata e potete gestirla ... gestite alcuni eventi in una volta sola e rimandateli per un altro momento, avete completa libertà.
Allo stesso tempo, lo stesso controllo, cucito nel consigliere di trading di combattimento sullo stesso terminale, Alert. Quale potrebbe essere la ragione?
Forum sul trading, sistemi di trading automatico e test di strategie di trading
MT5 e la velocità in azione
Anton, 2020.05.29 16:21
Script per testare il tempo massimo e medio:
2474.
È diventato molto buono. Se l'avete cambiato - Grazie. Terrò d'occhio le prestazioni in modalità di combattimento.
PS In modalità combattimento, quando si effettuano scambi, quasi sempre ritarda (solo uscite superiori a 5 millisecondi).
Altrimenti sembra essere molto meglio del 2470.