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
Non è possibile anticipare il futuro, perché se per l'istante X sono presenti dei tick su più simboli, insieme al primo evento su uno degli strumenti, sugli altri simboli (per i quali gli eventi sono ancora in coda) apparirà il tick precedente e non quello successivo (come nell’esempio, le 00:04 precedevano le 00:05, e non le seguivano).
Per la sincronizzazione, è necessario garantirla algoritmicamente nel proprio codice; ad esempio, nel gestore OnTick, interrogare l’ora dei tick su tutti i simboli coinvolti prima di avviare un’operazione. Ma, in linea di principio, se l’arbitraggio si basa proprio sui tick (e non sulle barre o sui minuti), è difficile immaginare una sincronizzazione affidabile, poiché i tick su alcuni simboli potrebbero effettivamente mancare per diversi secondi.
Tutto è relativo: per un instrumento ci sarà un ritardo, mentre per un altro un anticipo.
Lì è tutto instabile; nel debugger è tutto sincronizzato, anche con OnTick quasi vuoto.
Bisogna convertire le barre in tick per il test, in modo da simulare correttamente la commissione e lo spread.
Questo ho dovuto farlo in OnTick, affinché i calcoli del tester personalizzato coincidessero con quelli di MT.
Per garantire la sincronizzazione, è necessario implementarla algoritmicamente nel proprio codice; ad esempio, nel gestore OnTick, è necessario interrogare i tempi di tick di tutti i simboli coinvolti prima di avviare un'operazione.
Temo che ciò non permetta all’OnTick di capire che la sequenza di tick con l’ora corrente sia terminata. Probabilmente, l’unica soluzione sarà un OnTimer in millisecondi.
Tutto è relativo: per uno strumento si tratterà di un ritardo, mentre per un altro di un anticipo.
Temo che ciò non permetta a OnTick di capire che la sequenza di tick con l'ora corrente è terminata. Probabilmente l'unica soluzione sarà un OnTimer in millisecondi.
Dipende da come si scrive la condizione nel ciclo if in base al tempo: occorre usare il segno > (maggiore di), non >= (maggiore o uguale a), e non conteggiare il tick che ha determinato l'attivazione della condizione.
Con il timer funziona allo stesso modo.
Non ho capito.
A prima vista, con l'identificazione del tempo con una precisione al millisecondo (lo stesso vale per i secondi):
Ma ribadisco ancora una volta (per Rorschach) che la sincronizzazione su intervalli così piccoli è illusoria. I tick di un determinato strumento possono mancare per interi secondi, quindi il prezzo attuale per essi potrebbe in realtà diventare "obsoleto". Se per qualcuno è importante che tutti i prezzi corrispondano allo stesso [mili]secondo, allora nel frammento riportato (nel blocco di analisi commentato) è necessario verificare ulteriormente la corrispondenza dei tempi dei tick e operare solo se questa condizione è soddisfatta.
A prima vista, con l'identificazione del tempo con una precisione al millisecondo (lo stesso vale per i secondi):
Con questo metodo non è assolutamente possibile garantire l'attualità dei tick di tutti i simboli. Solo tramite un OnTimer in millisecondi.
Stanislav Korotky #:
Что подразумевается под актуальностью (этот метод отдает последние известные тики по всем инструментам)?
Non ci saranno più tick con l'ultimo tempo noto.
E in che modo OnTimer fornirà un risultato diverso?
OnTimer in millisecondi garantisce che tutti i tick siano trascorsi PRIMA di quell'evento del timer. Cioè, per tutti i simboli i tick sono aggiornati.