Citazione Originariamente Scritto da Francario Massimiliano Visualizza Messaggio
Salve,



nell'esecuzione del backtest di beeTrader non ci sono errori.

L'errore è nell'impostazione di un livello di Trailing Stop troppo basso, praticamente più piccolo del valore di movimento minimo del titolo considerando la quantità aperta. Con questa impostazione, è ovvio che il primo tick in salita dopo l'apertura della posizione attiva il Trailing Stop, ed il successivo tick in discesa chiude la posizione, perchè la percentuale di scostamento rispetto al massimo profitto ottenuto è pari al 100% !
Lo stesso errore di impostazione si può commettere anche nell'impostazione degli Stop Loss e Take Profit.
Per capire come funziona il Trailing Stop, faccio un semplice esempio:
- supponiamo di avere una posizione Long aperta di 100 contratti al prezzo di carico 100 (pari a 10000 €), con Tick minimo di 0.1, ed impostiamo il Trailing Stop a 5 €
- data la posizione, la variazione minima del Profit / Loss è pari a Tick Minimo * Quantita = 0.1 * 100 = 10 €
- al primo tick superiore al prezzo di carico, ad esempio a 100.1, ho un Profit / Loss pari a (100.1 - 100) * 100 contratti = 10 €, quindi il Trailing Stop si attiva
- se il tick successivo è inferiore al tick di attivazione del Trailing Stop, la posizione viene chiusa, perchè la variazione rispetto al massimo Profit / Loss è come minimo pari a 10€, quindi al 100%, e qualsiasi impostazione sia stata fatta sulla percentuale del Trailing Stop diventa ininfluente.

Ovviamente in backtest non ci sono le sequenze di tick, ma solo di barre. Di conseguenza, se la barra successiva a quella di entrata ha un prezzo high maggiore del prezzo di entrata (long), il Trailing Stop si attiva subito, viene calcolato quindi un prezzo teorico di uscita in Trailing in base all'impostazione della percentuale, arrotondato al valore del tick più vicino, e se questo prezzo è compreso tra high e low della barra, viene segnalato come eseguito.

Un ulteriore errore di impostazione che si può notare dai grafici è quello di non filtrare i dati in arrivo dal datafeed per i prezzi al di fuori degli orari di negoziazione normali. Nella selezione del simbolo, quando si crea il nuovo chart, è possibile attivare l'apposita sezione a questo scopo.
Per capire l'effetto di questa mancata impostazione, basta aggiungere una media mobile al grafico, con qualsiasi periodo.

Ricapitolando, prima di qualsiasi altra cosa, bisogna:
1. Impostare dei livelli di Stop Loss, Take Profit e Trailing Stop adeguati in base al titolo, alla quantità ed al controvalore da usare nel backtest
2. Filtrare i dati escludendo i periodi al di fuori degli orari di negoziazione standard.


Max Francario
Grazie Max per la spiegazione e i chiarimenti.
Bene, riprendo da zero la ricerca ........

Vorrei solo domandare ai gentili colleghi se sono riusciti finora dove io finora sto miseramente fallendo.
Non oso chiedere particolari, ma vorrei solo sapere se siete riusciti ad ottenere un risultato con tutti i requisiti che un buon TS deve soddisfare, come abbiamo visto nelle discussioni dedicate all'ottimizzazione.

Grazie.