Risposta

Domanda sui dati e sul backtesting

9 risposte

clonex / Ivan Hudec

Cliente, bbp_partecipante, comunità, sq-ultimate, collaboratore, autore, editore, 271 risposte.

Visita il profilo

9 anni fa #112483

Ciao, 

 

forse una domanda da principiante:

 

Sto sviluppando una strategia intraday che prevede l'utilizzo di 1 H TF

Nei primi tentativi ho utilizzato dati orari importati da MT4 direttamente da IRONFX con il metodo "Selected Timeframe Only". I risultati sono stati ottimi e le strategie entrano per stop. In altri test ho utilizzato i dati tick di dukascopy e i risultati sono stati completamente diversi. Nel manuale c'è una sezione in cui è scritto

 

"Solo timeframe selezionato" insieme a "Trade On Bar Open" è la modalità di test più veloce. Utilizza solo il timeframe principale per simulare i prezzi.

Il risultato è un backtesting molto veloce con un'ottima precisione. Tuttavia, per gli ordini Stop o Limit l'accuratezza del test potrebbe non essere sufficiente e si dovrebbe provare una modalità più precisa."
 
Ok, in generale capisco perché i TF più alti sono pericolosi per il backtesting degli ordini stop limit. Ma è possibile avere risultati completamente diversi?
 
Cosa consigliate in caso di sviluppo di strategie su 1H TF? Cioè, qual è il metodo più veloce ma più affidabile in caso di test di precisione? Posso usare i dati del broker (IRONFX) direttamente in 1H TF o è un metodo sbagliato?
 
Grazie,

0

Mark Fric

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

9 anni fa #125894

Salve,

 

Sì, gli ordini di stop e di limite sono di solito riempiti all'interno della barra e, a seconda della vostra strategia, potrebbe essere molto impreciso testarla con la precisione del timeframe selezionato.

Le differenze potrebbero essere davvero notevoli.

 

Vi consiglio di utilizzare una precisione di simulazione di almeno 1 minuto o tick, e per i test finali di utilizzare i dati tick reali di Dukascopy.

Marchio
Architetto StrategyQuant

0

SammyDoe

Cliente, bbp_partecipante, comunità, 6 risposte.

Visita il profilo

9 anni fa #126928

Ciao Mark,

Potresti spiegare la differenza tra "Solo timeframe selezionato" e "Negoziazione su barra aperta"?

Con Se si imposta "solo il timeframe selezionato" per la generazione della strategia sui dati H1, ci sono solo operazioni inserite e chiuse alla barra completa.

Ciò significa ovviamente che anche i TP e gli SL vengono eseguiti solo a barre piene, 

 

Mi sarei aspettato esattamente questo per "Commercio su Bar aperto".

Quindi, di nuovo... Qual è la differenza tra le due modalità?

 

Grazie.

0

Matusiak Adrian

Cliente, bbp_partecipante, comunità, 300 risposte.

Visita il profilo

9 anni fa #126930

Ciao Sammy,

 

Penso che "Solo per il timeframe selezionato" verifichi l'apertura/chiusura/alto/basso della barra e che "Negozia su apertura barra" verifichi solo il prezzo di apertura della barra. 

 

Ma è solo la mia opinione - aspettate la risposta di Mark. Sicuramente ne saprà di più.

btn_viewmy_160x33.png

0

Mark Fric

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

9 anni fa #127013

Sì, la differenza sta nella gestione dello Stop Loss e del Profit Target.

 

La precisione del timeframe selezionato significa che utilizza l'intera candela per determinare se lo SL o il PT sono stati colpiti. Se ad esempio lo SL viene attivato all'interno della candela, verrà attivato al livello di prezzo SL.

 

Con Trade on bar open controlla se lo SL/PT è attivato solo all'apertura della barra, quindi l'operazione uscirà al prezzo dell'apertura della barra, non al livello esatto di SL.

Il trading all'apertura della barra è una modalità molto speciale e deve essere utilizzata solo se si sa cosa si vuole.

 

Per il backtesting standard si dovrebbe utilizzare la precisione del timeframe selezionato.

Marchio
Architetto StrategyQuant

0

SammyDoe

Cliente, bbp_partecipante, comunità, 6 risposte.

Visita il profilo

9 anni fa #127059

Mark, ok.

In pratica l'ho preso...

 

Ma allora viene da chiedersi perché ogni singola operazione viene chiusa nell'orario completo per la generazione H1, anche se c'era uno SL o un TP all'interno della barra.

Tutto questo con Scelta della precisione dell'orizzonte temporale.

Questo si riferisce all'elenco delle operazioni delle strategie generate.

 

Potrebbe questo deve essere considerato un bug nella versione 3.7?

0

Matusiak Adrian

Cliente, bbp_partecipante, comunità, 300 risposte.

Visita il profilo

9 anni fa #127067

Quindi... dobbiamo usare "solo il timeframe selezionato" con "Entrare a mercato"?

Come si fa a fare in modo che la strategia apra gli ordini solo alla nuova barra? Dobbiamo spuntare solo "Open" ai blocchi di costruzione?

btn_viewmy_160x33.png

0

Mark Fric

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

9 anni fa #127280

Sammy - è strano, potresti allegare una strategia (.str)? Ci darò un'occhiata, non credo che ci sia un bug in SQ.

 

Adrian - no, è possibile utilizzare il timeframe selezionato con qualsiasi tipo di ordine, ma se si desidera aprire gli ordini all'apertura di una nuova barra, è necessario utilizzare Enter at market. Gli ordini Stop/Limit possono aprire operazioni anche all'interno della barra.

Marchio
Architetto StrategyQuant

0

SammyDoe

Cliente, bbp_partecipante, comunità, 6 risposte.

Visita il profilo

9 anni fa #127655

Ok Marc... un po' in ritardo ma ecco i file.

 

Quello chiamato "Strategy1.2_selectedTimeframeOnly_precision.str" mostra tutte le operazioni chiuse sempre a ore piene (il che non è previsto),

mentre il file "Strategy1.2_1min_precision.str" mostra le operazioni che si chiudono con una granularità di minuti (come previsto).

 

 

Potreste verificare questa incongruenza?

 

 

Edit: Btw. ora mi sembra che solo l'orario di chiusura riportato sia sbagliato per 'selectedTimeframeOnly',

poiché oltre a questa differenza Tutte le operazioni sono uguali in entrambi i file.

Ma poi sorge la domanda: perché le operazioni sono esattamente le stesse per entrambe le modalità di precisione?

Dov'è la differenza?

0

Mark Fric

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

9 anni fa #127909

Quello chiamato "Strategy1.2_selectedTimeframeOnly_precision.str" mostra tutte le operazioni chiuse sempre a ore piene (il che non è previsto),

 

ma questo è un comportamento atteso. Con la precisione "Timeframe selezionato", backtester non guarda all'interno delle barre, quindi non saprebbe quando esattamente lo SL/TP è stato attivato. 

Può solo verificare se lo SL/TP è stato colpito o meno in questa barra, ma non quando esattamente, ecco perché utilizza i tempi della barra completa.

Marchio
Architetto StrategyQuant

0

Stai visualizzando 9 risposte - da 1 a 9 (di 9 totali)