Visualizzazione Ibrida
-
19-09-16, 17:40 #1
Ciao,
questo è un piccolo bug che verrà risolto nella prossima release, i calcoli nella versione che usi tengono comunque conto dello slippage che imposti, è solo la visualizzazione nella scheda settings che ti mostra sempre 0.
Grazie della segnalazione.
Ciao Ciao
-
19-09-16, 18:36 #2
- Data Registrazione
- May 2010
- Messaggi
- 47
Ciao!
Grazie mille della risposta.
Domani pubblico il codice che è davvero striminzito... Ma che fa capire che coppia straordinaria formano Trix e Super Trend. Ottimizzando leggermente i periodi e take profit e profit loss mi da ottimi risultati su minidax 1 min, ftse 1 min, stoxx 1 min e stoxx 5 min (slippage 1 e senza traling percent). Dovrei migliorare le statistiche di uscita soprattutto, ma ci lavorerò. Ora il computer sta subendo lo sforzo di un'intera giornata di ottimizzazioni. XD
Grazie davvero per tutto.
Buona serata!
-
19-09-16, 22:53 #3
Ciao Fram, il miglior modo per testare una idea di trading che ha superato il backtest è il front test.
Il backtest è un arma a doppio taglio e si rischia quasi sempre di cadere nella trappola dell' overfitting.
Ci sono diversi modi di procedere per non incorrere in questo errore , alcuni dei quali anche piuttosto complessi e difficili da eseguire in manuale.
a me invece piace fare in questo modo molto semplice ma molto efficace e cioè:
Per allontanare il piu possibile la trappola della sovraottimizzazione dovresti far girare il tuo TS su segmenti IN SAMPLE e OUT SAMPLE dopodichè se le performance non degradano sensibilmente puoi anche decidere di andare a mercato reale. In buona sostanza, supponiamo che tu voglia testare ed ottimizzare il tuo TS sulle ultime 1500 barre, ebbene, questo è il periodo che chiamiamo IN SAMPLE in cui si va alla ricerca dei migliori parametri. Terminata questa fase di ricerca ti vai a selezionare a ritroso un altro segmento OUT SAMPLE di 1500 barre che il Ts non ha mai visto, quello che precede le prime 1500 dell' in sample e su di esso senza toccare niente fai girare il tuo TS e verifica i risultati. Se la equity che ottieni è abbastanza paragonabile a quella del periodo IN SAMPLE allora sei sulla buona strada e sei pronto per testarlo su un terzo periodo di 1500 barre ma questa volta in avanti ed in paper e se anche questa volta il ts supera il test allora potresti pensare di metterlo in real con una buona probabilità di ottenere gli stessi risultati e la sicurezza quantomeno di non averlo overfittato. Se fallisci una delle prime 2 fasi devi tornare indietro al primo punto e cercare altri parametri più stabili o addirittura modificare l'impianto di base
PS: fondamentale è la scelta del periodo IN SAMPLE di apprendimento del TS, esso deve replicare il piu possibile al suo interno i diversi andamenti del mercato e cioè lateralità, fase rialzista, fase ribassista, alta volatilità, bassa volatilità etc..
Spero di essermi spiegato
ApoUltima modifica di Apocalips; 20-09-16 alle 00:04
....non si desidera ciò che è facile ottenere (Ovidio)....
-
20-09-16, 10:48 #4
- Data Registrazione
- Jul 2012
- Messaggi
- 674
-
20-09-16, 10:57 #5
- Data Registrazione
- Oct 2010
- Messaggi
- 319
-
20-09-16, 15:06 #6
- Data Registrazione
- May 2010
- Messaggi
- 47
Ti sei spiegato benissimo. Il backtest è estremamente delicato e complesso. Mi sfugge il procedimento con cui posso backtestarlo su un periodo passato...
Messi. In realtà in questo TS sono previsti pochi trade; a seconda dell'indice diciamo dai 10 ai 20 su 3000 barre.
Questo il codice, riferito al minidax tf 1 min
BUY SCRIPT
# REQUIRED_BARS is used to adjust how many periods will be used to initialize calculations. Default value is 50 periods.
# Un-comment and edit the line below to set your own value.
# SET REQUIRED_BARS = 50
INPUTS: @TRIXperiods(10), @VECTOR(CLOSE), @takeprofit(210), @stopLoss(240), @STperiods(4),@STstrenght(11),
SET TAKE_PROFIT = @takeprofit
SET STOP_LOSS = @stopLoss
SET A = SuperTrend(@STperiods, @STstrenght)
SET T = TRIX(@VECTOR, @TRIXperiods)
SET T1 = REF (T,1)
SET T2 = REF (T,2)
T< 0 AND T> T1 AND T1< T2 AND CLOSE > A
PRINT(T)
PRINT(T1)
PRINT(T2)
SELL SCRIPT
SET T = TRIX(@VECTOR, @TRIXperiods)
SET T1 = REF (T,1)
SET T2 = REF (T,2)
SET A = SuperTrend(@STperiods, @STstrenght)
T> 0 AND T< T1 AND T1> T2 AND CLOSE < A
Verificatelo con qualche front test fatto a modo e magari ditemi come va, cosa non va. Vorrei usare questo spazio per capire che tipo di pensieri e miglioramenti si possono fare, e COME soprattutto. A me da ottimi risultati. Ripeto, trovo la combinazione TRIX/SuperTrend super performante quindi questo mi gasa molto... Spero di averlo testato in maniera corretta. Per vari problemi ancora non sono riuscito a far partire il paper, ma appena riesco a partire posto i risultati.
(slippage 1, commissioni inserite, 3000barre, senza trailing stop e percent. Teoricamente è abbastanza "peggiorativo"..)
-
20-09-16, 15:10 #7
- Data Registrazione
- May 2010
- Messaggi
- 47
e questi sono i risultati sullo stoxx a 5 min
Variando leggermente i periodi e i valori di stop loss e take profit si possono raggiungere risultati decenti anche sullo stoxx a 5 minuti. E' sicuramente migliorabile,ma almeno è un punto di partenza.
(i settaggi di slippage e commissioni sono come nella prova col minidax)