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
Era al computer, non ha fatto alcun calcolo. Non ha caricato la CPU con nulla.
19 ms e 48 ms per l'esecuzione di SymbolInfoTick. C'erano diverse decine di casi in cui la durata era di centinaia di microsecondi. Ma non li ho citati.
A quanto pare, per riprodurlo, abbiamo bisogno di eseguire consiglieri di combattimento per 24 ore, e poi solo guardare. A mio parere, non è realistico capire cosa dia inizio a tali ritardi.
A volte il computer può pompare aggiornamenti o fare alcuni compiti di servizio. Inoltre, una variazione della tensione di rete può avere un effetto. In questo modo si può arrivare a schede di rete programmabili, dove tutta la logica del bot è cablata :) ma anche lì ci saranno ritardi dovuti alle fluttuazioni del campo quantico
Gli sviluppatori hanno fatto il meglio che potevano. E senza questo, il ramo ha fornito il codice che mostra come il tick è in ritardo rispetto al Market Watch e viceversa. Come la sequenza di arrivo dei tick è rotta e probabilmente qualcos'altro. Tutto sommato, viene pubblicato un brutto codice valido per riprodurre altre situazioni.
SymbolInfoTick invia i dati ricevuti dal server del broker. Ciò che il server invia è ciò che si ottiene.
SymbolInfoTick() viene eseguita in modalità bloccante o non bloccante?
Per esempio, è nel corpo del ciclo while e non c'è connessione o il mercato è chiuso per il fine settimana,
allora sarà bloccato fermando il ciclo o sarà eseguito in modo asincrono?
come l'orologio del mercato è in ritardo rispetto al Market Watch e viceversa.
Cioè SymbolInfoTick cattura un nuovo tick e noi otteniamo un diverso Ask e Bid attraverso il polling del Market Watch (senza aspettare un evento di cambiamento del Market Watch)? Non era possibile farlo circa un anno fa. SymbolInfoTick e CopyTick e vintage portano sempre allo stesso tick. Se ottenete dei tick attraverso varie funzioni OnXXX, ovviamente, otterrete qualcosa attraverso una funzione, e qualcosa attraverso un'altra...
Cioè SymbolInfoTick cattura un nuovo tick e otteniamo un diverso Ask e Bid attraverso il polling della tazza (senza aspettare l'evento di cambiamento della tazza)?
Qui.
Qui.
Come pensavo stai testando OnBookEvent e OnTick, non MarketBookGet e SymbolInfoTick. Se si facesse il test secondo questo schema si avrebbe un riscontro su tutto:
p.s Leggi i tuoi post qui sotto. Lo capisci anche tu. Perché avete bisogno di OnBookEvent e OnTick? Nel mio esempio Sleep(1) richiede 1-2 millisecondi, la richiesta e il tick con SymbloInfoTick richiede meno di MICROsecondo. Il processore sta già riposando il 99,9% del tempo se non ci sono ticchettii. Qual è il vantaggio di usare OnBookEvent e OnTick?
Come pensavo stai testando OnBookEvent e OnTick, non MarketBookGet e SymbolInfoTick. Se tu facessi i test secondo questo schema, avresti tutto corrispondente:
p.s Leggi i tuoi post qui sotto. Lo capisci anche tu. Perché avete bisogno di OnBookEvent e OnTick? Nel mio esempio Sleep(1) richiede 1-2 millisecondi, la richiesta e il tick con SymbloInfoTick richiede meno di MICROsecondo. Il processore sta già riposando il 99,9% del tempo se non ci sono ticchettii. Qual è il vantaggio di usare OnBookEvent e OnTick?
Senza un pizzico di diplomazia, stai dicendo sciocchezze. Sleep(1) è un decimo di millisecondo. Vedo solo una teorizzazione.
Gli utenti di OnTick vogliono vedere un tick fresco e non quello che è arrivato al terminale qualche tempo fa. Puoi mettere SymbolInfoTick subito dopo MarketBookGet nel codice sorgente.
Gli sviluppatori hanno pienamente riconosciuto due problemi con il loro silenzio.
Senza un pizzico di diplomazia, stai dicendo sciocchezze. Sleep(1) è una dozzina di millisecondi. Vedo solo una teorizzazione.
Gli utenti vogliono vedere un tick fresco in OnTick e non un tick che è arrivato al terminale qualche tempo fa. Puoi mettere SymbolInfoTick subito dopo MarketBookGet nel codice sorgente.
Gli sviluppatori, con il loro silenzio, hanno pienamente riconosciuto due problemi.
Non sempre e non ogni decimo di millisecondo. Controllato con un semplice script
Ecco il mio registro
Gli utenti di OnTick vedono sempre la zecca più fresca.
Gli utenti di OnBookEvent vedono sempre la spunta più fresca.
Ma se volete confrontare i tick ricevuti con OnTick e quelli ricevuti con OnBookEvent vi aspetta una delusione perché gli eventi sono processati in modo sequenziale e non in parallelo. Questo è ciò che l'utente pivomoe ha cercato di dirti
Non sempre e non ovunque un decimo di millisecondo. Controllato con un semplice script
Ecco il mio registro.
Ed ecco il mio registro.
Risultato.
Gli utenti di OnTick vedono sempre la zecca più fresca.
Gli utenti di OnBookEvent vedono sempre la spunta più fresca.
Il risultato dell'esecuzione dell'EA su un singolo grafico da una macchina che non è occupata in alcun modo.
Segna tick identici, che sono ricevuti in diverse funzioni On da metodi corrispondenti. Il ritardo può essere fino a decine di millisecondi se viene eseguito su sei grafici invece di uno.
Ma se volete confrontare i tick ricevuti in OnTick e quelli ricevuti in OnBookEvent, allora sarete delusi perché gli eventi sono processati in modo sequenziale, non in parallelo. Quello che l'utente pivomoe ha cercato di dirti
Se un OnBookEvent/OnTick quasi vuoto viene attivato 20 millisecondi dopo il corrispondente OnTick/OnBookEvent quasi vuoto, va bene?
ZS Mentre fai attenzione al thread, c'è un altro codice di riproduzione qui. Lì in Market Watch i tick entrano con un tempo precedente a quello di Market Watch prima.
Se un OnBookEvent/OnTick quasi vuoto viene attivato 20 millisecondi dopo il corrispondente OnTick/OnBookEvent quasi vuoto, va bene?
La coda EA è una risorsa bloccabile. Quando un evento viene scritto nella coda, l'Expert Advisor attende (a meno che l'Expert Advisor non stia elaborando un evento)
Gli eventi per l'Expert Advisor provengono dalla coda degli eventi del grafico corrispondente, che a sua volta proviene dal ciclo di elaborazione del simbolo corrispondente. E questo ciclo di elaborazione non solo distribuisce gli eventi ai propri grafici, ma fa anche un sacco di altre cose.
Vi ho già detto che Windows non è un sistema operativo in tempo reale.