Consiglio di non usare lo Strategy Tester di MetaTrader 4

 

Già in MetaTrader 3, è stato notato che era inutile utilizzare una strategia su un conto reale che ha fatto un profitto quando è stata testata nel tester delle strategie. A quei tempi l'unica soluzione era testare in tempo reale. È stato un piccolo aiuto per utilizzare la versione del periodo M1 dell'Expert Advisor. Nel nuovo terminale MetaTrader 4 gli sviluppatori hanno aggiunto al tester della strategia un modello "All ticks (basato su tutti i più piccoli periodi disponibili con interpolazione frattale di ciascuno)". Sembrerebbe: se abbiamo una storia completa di minuti, allora per i periodi M5, M15, M30, H1, H4, Daily - si formerà sempre lo stesso set di tick. Ma non lo è. Scriviamo qualsiasi strategia di tick e proviamo a testarla su diversi periodi. Se la strategia ha una redditività superiore a 1, allora più alto è il periodo, più esorbitanti sono i risultati. Inoltre, se traduciamo una strategia che mostra un profitto su, diciamo, il periodo H1, in una variante che lavora sul periodo M1, la strategia si rivela quasi sempre non redditizia. La conversione in una variante indipendente dal periodo in MQL4 è abilitata dalle funzioni di Access to timeseries group: iClose(), iHigh(), iLow(), iOpen(), iTime(). Il secondo parametro di queste funzioni permette di accedere esplicitamente ai valori del grafico di un certo periodo.

Conclusione. Prima di testare, assicuratevi di cambiare la strategia in una forma indipendente dal periodo, e testatela sempre sul periodo M1. Risultati ancora più reali possono essere ottenuti testando sul grafico in tick. Ma MetaQuotes cerca di evitare di introdurre tecnologie di tick nel suo terminale. A quanto pare, non si tratta della complessità, ma della sua attrattiva e semplicità. Tutti i principianti nelle ricerche di mercato ci cascano in primo luogo. Un altro modo è quello di utilizzare i tester di produttori terzi, che utilizzano la cronologia delle quotazioni delle zecche. Solo dopo il test della strategia su un tale tester ha senso tradurre il codice della strategia in MQL4.

© Herurg

 
Hai dimenticato la regola empirica più concettuale (per coloro che hanno effettivamente trascorso molti anni a testare): passare ai tempi più piccoli porta al fallimento imminente.

Molti principianti cercano una soluzione ai loro problemi nella microanalisi, cercando di entrare nei livelli di tick e impegnandosi nel pipsing. Di conseguenza le loro strategie falliscono a causa di deviazioni di 1-2 pips. Questo succede di continuo. Nessuno può resistere a cercare di analizzare il rumore :-)

E coloro che sono passati attraverso diversi cicli di perdite capiscono che è una follia analizzare su tick e minuti. E vanno nella direzione opposta - analizzando su periodi sempre più alti, dove il rumore dei pip è quasi irrilevante.


Siamo ben consapevoli del desiderio di tutti di calpestare il rastrello della microanalisi pipsqueak. Dovrebbero davvero essere calpestati.
 
Interessante. È vero che i tick sono generati in modo diverso sui diversi timeframe (se c'è uno storico dei minuti), o il problema è che lo storico dei minuti non copre l'intero periodo dei timeframe superiori?


E dove possiamo trovare la storia delle zecche? Può essere usato anche in MT.
 
Renat писал (а):
Hai dimenticato la regola empirica più concettuale (per coloro che hanno effettivamente trascorso molti anni a testare): passare ai tempi più piccoli porta al fallimento imminente.

Molti principianti cercano una soluzione ai loro problemi nella microanalisi, cercando di entrare nei livelli di tick e impegnandosi nel pipsing. Di conseguenza le loro strategie falliscono a causa di deviazioni di 1-2 pips. Questo succede di continuo. Nessuno può resistere a cercare di analizzare il rumore :-)

E coloro che sono passati attraverso diversi cicli di perdite capiscono che è una follia analizzare su tick e minuti. E vanno nella direzione opposta - analizzando su periodi sempre più alti, dove il rumore dei pip è quasi irrilevante.


Conosciamo bene il desiderio di tutti di calpestare il rastrello della microanalisi pipsqueak. Dovrebbero davvero essere calpestati.

Mi sembra che ciò che si intende non sia l'analisi su M1, ma il test con la selezione del periodo M1 nel tester, e il timeframe su cui viene eseguita l'analisi è specificato negli indicatori chiamati dall'Expert Advisor.
 
Renat писал (а):
Hai dimenticato la regola empirica più concettuale (per coloro che hanno effettivamente trascorso molti anni a testare): passare ai tempi più piccoli porta al fallimento imminente.

Molti principianti cercano una soluzione ai loro problemi nella microanalisi, cercando di entrare nei livelli di tick e impegnandosi nel pipsing. Di conseguenza le loro strategie si bloccano a causa di deviazioni di 1-2 pips.
Si noti che le mie strategie personalizzate hanno mostrato ottimi risultati su timeframe da M15 a H4. Avevano obiettivi intorno ai 30 - 200 pip, trailing stop e stop loss. Ma poi abbiamo ricevuto delle lamentele che non funzionava sull'account reale. Queste strategie non possono essere chiamate in nessun modo basate su pip. Dopo la conversione in una forma indipendente dal periodo e il test sul periodo M1, si è scoperto che le strategie non sono redditizie. Non si può fare il debug su grandi periodi. Il flusso di tick del tester della strategia differisce molto da un periodo all'altro e non corrisponde affatto alla natura del mercato reale. L'analisi tecnica è inutile in queste condizioni. Solo il flusso di quotazioni che è massimamente vicino a quello reale può fornire un test oggettivo e non si tratta di prendere 1-2 pips.

© Herurg
 
Integer писал (а):
Interessante. I tick sono davvero generati in modo diverso su diversi timeframe (quando c'è una storia di un minuto)...?
Scriviamo qualsiasi strategia tick e proviamo a testarla su diversi timeframe. Seleziona il modello "All ticks (basato su tutti i più piccoli periodi disponibili con interpolazione frattale di ciascuno)". Personalmente, ho visto che anche con un'anamnesi completa, i risultati sono molto diversi. Vedere qui e qui. Il periodo H1 mostra risultati esorbitanti. Il periodo M1 è più reale e modesto. La tecnica è puramente di zecca e non dipende dal periodo.

© Herburg
 
Renat писал (а):
Hai dimenticato la regola empirica più concettuale (per coloro che hanno effettivamente trascorso molti anni a testare): passare ai tempi più piccoli porta al fallimento imminente.

Molti principianti cercano una soluzione ai loro problemi nella microanalisi, cercando di entrare nei livelli di tick e impegnandosi nel pipsing. Di conseguenza le loro strategie falliscono a causa di deviazioni di 1-2 pips. Questo succede di continuo. Nessuno può resistere a cercare di analizzare il rumore :-)

E coloro che sono passati attraverso diversi cicli di perdite capiscono che è una follia analizzare su tick e minuti. E vanno nella direzione opposta - analizzando su periodi sempre più alti, dove il rumore dei pip è quasi irrilevante.


Conosciamo bene il desiderio di tutti di calpestare il rastrello della microanalisi pipsqueak. Dovrebbero davvero essere calpestati.

È molto semplice, infatti. Il modello dovrebbe essere il più vicino possibile alla realtà... e meglio ancora, dovrebbe essere la storia della realtà stessa... e non spaventarci con i rumori... :) La domanda è stata posta più di una volta - perché modellare ciò che è già noto... :)
 
mandor:
Intero:
Interessante. I tick sono davvero generati in modo diverso su diversi timeframe (se c'è uno storico di un minuto)...?
Scriviamo qualsiasi strategia tick e proviamo a testarla su diversi timeframe. Seleziona il modello "All ticks (basato su tutti i più piccoli periodi disponibili con interpolazione frattale di ciascuno)". Personalmente, ho visto che anche con un'anamnesi completa, i risultati sono molto diversi. Vedere qui e qui. Il periodo H1 mostra risultati esorbitanti. Il periodo M1 è più reale e modesto. La tecnica è puramente a zecca e non dipende dal periodo.

© Herurg.

Se ho capito bene, non vedi alcuna differenza tra i diversi periodi? Cioè, una strategia scritta per H1 dovrebbe funzionare bene anche su M1?

Se effettivamente sostenete che (testare la strategia su diversi timeframes dovrebbe essere lo stesso), allora esprimo le mie sincere condoglianze ai vostri clienti. Questo è un fraintendimento completamente selvaggio della situazione o un tentativo di giocare con le parole nella modalità "se quello che ho detto è sbagliato, mi hai solo frainteso".
 
Renat писал (а):
Se ho capito bene, non vedi nessuna differenza tra i diversi periodi? Cioè, una strategia scritta per H1 dovrebbe funzionare bene anche su M1?

Se effettivamente sostenete che (testare la strategia su diversi timeframes dovrebbe essere lo stesso), allora esprimo le mie sincere condoglianze ai vostri clienti. Questo è un fraintendimento completamente selvaggio della situazione o un tentativo di giocare con le parole nella modalità "se quello che ho detto è sbagliato, mi hai solo frainteso".
Intendevo solo che il tester della strategia dà diversi set di tick per diversi periodi quando si usa il modello "All ticks (basato su tutti i più piccoli periodi disponibili con interpolazione frattale di ciascuno)" e quando si ha una storia completa di minuti per l'intervallo testato. Non ho indagato su quanto sia diverso questo set. Apparentemente è significativamente diverso se le strategie redditizie per H1 diventano in perdita su M1, anche se i dati del grafico H1 sono ancora utilizzati con funzioni di Access al gruppo di serie temporali: iClose(NULL,PERIOD_H1,.......), iHigh(NULL,PERIOD_H1,...), iLow(NULL,PERIOD_H1,...), iOpen(NULL,PERIOD_H1,...), iTime(NULL, PERIOD_H1,...). Beh, come spiegare altrimenti questo punto al capo della nobiltà (MQ)?

Non ho ricevuto o scritto nessuna statistica specifica per M1 come ordini. È solo una questione di come viene testato. Un tester su H1 produce una serie di tick completamente lontani dal mercato.

© Erculeo
 
Registr:

È molto semplice, infatti. Il modello dovrebbe essere il più vicino possibile alla realtà... e meglio ancora, dovrebbe essere la storia della realtà stessa... e non spaventarci con il rumore... :) La domanda è stata posta più di una volta - perché modellare ciò che è già noto... :)

Buona fortuna con il rastrello :) I test basati sui minuti funzionano quasi perfettamente. Beh, non lo capisci ancora - quindi stai cercando di fare/dichiarare quello che la logica banale di qualsiasi trader principiante suggerisce e di cui ti sto mettendo in guardia:

Molti principianti cercano una soluzione ai loro problemi nella microanalisi, cercando di arrivare al livello dei tick e facendo pip. Di conseguenza le loro strategie si bloccano a causa di deviazioni di 1-2 pips. Questo succede di continuo. Nessuno può resistere a cercare di analizzare il rumore:-)

E coloro che sono passati attraverso diversi cicli di perdite capiscono che è una follia analizzare su tick e minuti. E vanno nella direzione opposta - analizzando su periodi sempre più alti, dove il rumore dei pip è quasi irrilevante.


Conosciamo bene il desiderio di tutti di calpestare il rastrello della microanalisi pipsqueak. Dovrebbero davvero essere calpestati.

Eseguiremo dei test poticky (nei sistemi futuri) - non è difficile, ma non risolverà assolutamente il problema. Ma aumenterà la comprensione (attraverso lo stesso problema delle differenze tra il tester e il reale) - il trading su rumori poticky è instabile e non redditizio.


A proposito, l'analisi dei test preliminari durante l'Automated Trading Championship 2006 ha mostrato che circa il 60% degli Expert Advisors inviati a noi non erano nemmeno in grado di seguire alcune semplici regole. Quello che c'è dentro il loro codice è un vero mistero.

Praticamente _tutti_ gli EA scritti (non solo quelli del campionato) non contengono il blocco "coarsening/thickness" ed è per questo che si innervosiscono a qualsiasi mormorio. Significa che i programmatori non pensano nemmeno a un "riempimento" speciale dei loro EA. È molto più facile per loro pensare ai "tick sbagliati" invece di capire l'essenza del "i tick sono sempre sbagliati e dovrei guadagnare ad un rumore standard di 2-3 pips".

 
mandor:
Renat:
Se ho capito bene, non vedi nessuna differenza tra i diversi periodi? Cioè, una strategia scritta per H1 dovrebbe funzionare bene anche su M1?

Se effettivamente sostenete che (testare una strategia su diversi timeframes dovrebbe essere lo stesso), allora esprimo le mie sincere condoglianze ai vostri clienti. Questo è un fraintendimento completamente selvaggio della situazione o un tentativo di giocare con le parole nella modalità "se quello che ho detto è sbagliato, mi hai solo frainteso".
Intendevo solo che il tester della strategia dà diversi set di tick per diversi periodi quando si usa il modello "All ticks (basato su tutti i più piccoli periodi disponibili con interpolazione frattale di ciascuno)" e quando si ha una storia completa di minuti per l'intervallo testato. Non ho indagato su quanto sia diverso questo set. Apparentemente è significativamente diverso se le strategie redditizie per H1 diventano in perdita su M1, anche se i dati del grafico H1 sono ancora utilizzati con le funzioni di Access al gruppo di serie temporali: iClose(NULL,PERIOD_H1,.......), iHigh(NULL,PERIOD_H1,...), iLow(NULL,PERIOD_H1,...), iOpen(NULL,PERIOD_H1,...), iTime(NULL, PERIOD_H1,...). Come spiegare in modo più dettagliato un leader della nobiltà (MQ)?

© Herurg.

E voi fate una ricerca e pubblicate le discrepanze dei risultati - sarà interessante per tutti. E prima di tutto per noi. Se ne fai un articolo per la sezione Articoli, lo pagheremo (abbiamo pagato 1.720 dollari per un certo numero di articoli finora).