mt5 strategia tester ticks - pagina 4

 
RaptorUK:
Non sto parlando di tick mancanti nello Strategy Tester ma di tick mancanti mentre li stai registrando. Se conti i tick che vedi mentre stai registrando i dati e ti mancano dei tick allora il tuo conteggio sarà inferiore a quello che avrebbe dovuto essere. È molto semplice determinare se hai perso un tick durante la registrazione, mi chiedevo solo se lo hai fatto e cosa hai fatto quando hai scoperto di aver perso un tick?

Come ho scritto, confido nel fatto che i miei dati in tempo reale registrati siano completi. Motivi per questo:

1, A volte sono stati registrati quasi mille tick al minuto (pari a più di dieci tick al secondo!). È un numero abbastanza alto da convincermi che non c'è nessun problema con le prestazioni dell'EA. (E a causa di questa cifra non penso che ci fossero tick non registrati e che l'EA non fosse in grado di tenere il passo)

2, L'EA gira su un VPS Metatrader dedicato che è mantenuto da un fornitore di servizi professionale appositamente personalizzato per il trading (cioè minimizzando le interruzioni di connessione).

 
NyemaSanya:

Come ho scritto, confido nel fatto che i miei dati in tempo reale registrati su VPS siano completi. Motivi per questo:

1, A volte sono stati registrati quasi mille tick al minuto (pari a più di dieci tick al secondo!). È un numero abbastanza alto da convincermi che non ci sono problemi con le prestazioni dell'EA.

2, L'EA gira su un VPS Metatrader dedicato che è mantenuto da un fornitore di servizi professionale appositamente personalizzato per il trading.


A proposito, sono curioso, come puoi determinare se c'è un tick mancante durante la registrazione?

Ok, quindi non controlli, quindi non sai se il tuo conteggio è corretto o meno... perché non hai detto semplicemente: quanto tempo impiega il tuo OnTick() per essere eseguito? Se non ha finito prima che arrivi il tick successivo, non ti mancherà un tick?

Come verificare ? Beh ... ... tieni un conteggio dei tick man mano che vai avanti, azzera questo contatore quando inizia una nuova barra e incrementalo per ogni tick, confronta il tuo conteggio con il Volume della barra 0, se il tuo conteggio differisce hai perso almeno un tick.

 
RaptorUK:

Ok, quindi non controlli, quindi non sai se il tuo conteggio è corretto o no... perché non hai detto semplicemente: quanto tempo impiega il tuo OnTick() ad essere eseguito? Se non ha finito prima che arrivi il prossimo tick, non perderai un tick?

Come verificare ? Beh ... ... tieni un conteggio dei tick man mano che vai avanti, azzera questo contatore quando inizia una nuova barra e incrementalo per ogni tick, confronta il tuo conteggio con il Volume della barra 0, se il tuo conteggio differisce hai perso almeno un tick.

Così, hai appena trovato un bel compito per te! ;-)
 
RaptorUK:

Ok, quindi non controlli, quindi non sai se il tuo conteggio è corretto o no... perché non hai detto semplicemente: quanto tempo impiega il tuo OnTick() ad essere eseguito? Se non ha finito prima che arrivi il prossimo tick, non perderai un tick?

Come verificare ? Beh ... ... tieni un conteggio dei tick man mano che vai avanti, azzera questo contatore quando inizia una nuova barra e incrementalo per ogni tick, confronta il tuo conteggio con il Volume della barra 0, se il tuo conteggio differisce hai perso almeno un tick.

Perché insisti su questo punto?
 
angevoyageur:

Perché insisti su questo punto?


Mi è venuta in mente un'altra cosa, che dimostra quanto sia ridicolo il suo bastone. Per ottenere i dati in tick del tester ho eseguito l'EA senza visualizzazione. Questo è molto più veloce della velocità della vita reale, per ottenere un giorno ci vuole meno di mezzo minuto. Anche in questo caso tutti i tick sono stati registrati....

 
NyemaSanya:

Mi è appena venuta in mente un'altra cosa, che dimostra quanto sia ridicolo il suo bastone. Per ottenere i dati in tick del tester ho eseguito l'EA senza visualizzazione. Questo è molto più veloce della velocità della vita reale, per ottenere un giorno ci vuole meno di mezzo minuto. Anche in questo caso tutti i tick sono stati registrati....

Su un test in avanti, si perdono SEMPRE alcuni tick (per un tempo di test significativo). Non c'è niente da fare, questi tick semplicemente non arrivano al tuo script/EA. Vedere la documentazione:

L ' eventoNewTick viene generato se ci sono nuove quotazioni e viene elaborato da OnTick() degli Expert Advisor collegati. Nel caso in cui la funzione OnTick per la quotazione precedente sia in corso di elaborazione quando viene ricevuta una nuova quotazione, la nuova quotazione sarà ignorata da un Expert Advisor, perché l'evento corrispondente non sarà messo in coda.

Con il tester, tutto è generato internamente, quindi non si perde un tick. E questo è il problema.
 
angevoyageur:

In un test a termine, si perdono SEMPRE alcuni tick (per un tempo di test significativo). Non c'è niente da fare, questi tick semplicemente non arrivano al tuo script/EA. Vedere la documentazione :

L ' eventoNewTick viene generato se ci sono nuove quotazioni e viene elaborato da OnTick() degli Expert Advisor collegati. Nel caso in cui la funzione OnTick per la quotazione precedente sia in corso di elaborazione quando viene ricevuta una nuova quotazione, la nuova quotazione sarà ignorata da un Expert Advisor, perché l'evento corrispondente non sarà messo in coda.

Con il tester, tutto è generato internamente, quindi non si perde un tick. E questo è il problema.


Scusa angevoyageur:


Non sono d'accordo né con te né con RaptorUK. Mi sembra che si ignori la logica di base. L'EA è in grado di registrare alcune centinaia di migliaia di tick in un arco di tempo di minuti quando si esegue il tester. Il che significa che la funzione Ontick() è stata completata in una frazione di millisecondo.

Ma tu continui ad insistere che l'EA potrebbe non essere in grado di registrare meno tick in tempo reale, avendo molto più tempo per l'esecuzione di Ontick()?

Mi dispiace, ma penso che ora questa sia diventata una conversazione totalmente inutile, quindi mi ritiro.
 

@NyemaSanya: Ovviamente non ti rendi conto che puoi perdere un Tick durante la registrazione. RaptorUK ti ha già detto questo. I Tick sono nuove quotazioni trasmesse dal server del broker. Le nuove quotazioni possono essere ignorate da mt5 mentre elabora il tuo Tick_Recorder. angevoyageur te l'ha già detto. I tick sono pacchetti di dati che devono viaggiare nel cyber-spazio e arrivare al tuo terminale, puoi perdere i tick a causa di pacchetti di dati persi. Ora Ubzen ti ha detto questo.

Tutti i membri leggendari di mql4, i creatori di mql4 | mql5 sembrano concludere la stessa cosa. L'adattamento della curva dei tick si avvicina alla casualità.

- Se pensi ancora che non si possa perdere un tick nella vita reale, allora devi fare delle ricerche prima di discutere ulteriormente.

- Se ti rendi conto che puoi perdere un tick, allora devi rispondere alla domanda sul perché il tuo metodo è migliore.

Comunque, questo è solo lo stesso argomento più e più volte. Leggi questo argomento.

 
NyemaSanya:


Scusa angevoyageur:


Non sono d'accordo né con te né con RaptorUK. Mi sembra che tu ignori la logica di base. L'EA è in grado di registrare alcune centinaia di migliaia di tick in un lasso di tempo di minuti quando si esegue il tester. Il che significa che la funzione Ontick() ha completato in una frazione di millisecondi.

Ma tu continui ad insistere che l'EA potrebbe non essere in grado di registrare meno tick in tempo reale, avendo molto più tempo per l'esecuzione di Ontick()?

Mi dispiace, ma penso che ora questa sia diventata una conversazione inutile, quindi mi ritiro.

Perché reagire così? Non c'è niente di personale qui.

Non è una questione di essere d'accordo o meno. Un EA su forward test perde sempre i tick, questo è un fatto. Trovo il tuo primo commento molto interessante in quanto non ho mai prestato attenzione al fatto che gli Strategy Tester non perdono un tick in quanto sono emulati sulla base del volume. Ho chiesto a RaptorUk perché insiste perché trovo questo problema secondario, non ho capito che non sai cos' è un tick.

 

Ho fatto un test ieri (9/4) su EURUSD, con un EA che conta solo i tick e confronta i dati MqlTick:

Ticks
Volume (tick) come indicato dal terminale MT5 sul grafico D1
46 645
Test in avanti D1
46 106
Backtest su Daily46 489


  • Quindi, anche con quasi nulla da fare, l'EA su test in avanti, ancora manca centinaia di tick al giorno.
  • Sono un po'incuriosito dal fatto che il backtest ha prodotto meno tick del volume giornaliero.
Documentation on MQL5: Standard Constants, Enumerations and Structures / Data Structures / Structure for Current Prices
Documentation on MQL5: Standard Constants, Enumerations and Structures / Data Structures / Structure for Current Prices
  • www.mql5.com
Standard Constants, Enumerations and Structures / Data Structures / Structure for Current Prices - Documentation on MQL5