Programmazione Metatrader Overfitting_II (per principianti)

Allora...
Seguendo il suggerimento di autotrader ho scritto una versione del TS nella quale si invertono le regole di entrata long/short, ovvero si entra long quando la pendenza del MACD diventa negativa e si entra short quando la pendenza del MACD diventa positiva.
Chiameremo questa versione come "TS contrarian".
Ho effettuato tre ottimizzazioni sul solito periodo di 20 mesi, che ci serve da periodo di riferimento.

- ottimizzazione 1 sul TS contrarian: tenendo conto che nella mia impostazione originaria vorrei tenere fissi almeno 5 parametri e ottimizzare periodicamente i rimanenti 3, ho effettuato l'ottimizzazione simultanea di :
Limit;
ProfTrgt;
ProfFctr;
tenendo fissi gli altri, con questi valori:
SMAFast=8;
SMASlow=13;
SMASignal=2;
Delay=1;
IniStplss=140; (valore medio tra 110 e 170)

- ottimizzazione 2 sul TS originario : ottimizzazione simultanea di tutti gli 8 parametri, per creare il riferimento con il quale confrontare la terza ottimizzazione;

- ottimizzazione 3 sul TS contrarian : ottimizzazione simultanea di tutti gli 8 parametri.

Nei successivi tre post metterò i risultati.
 
OTTIMIZZAZIONE N.1 - TS contrarian

Tengo fissi i valori di :

SMAFast=8;
SMASlow=13;
SMASignal=2;
Delay=1;
IniStplss=140; (valore medio tra 110 e 170)

e ottimizzo Limit, ProfTrgt e ProfFctr-

Il risultato migliore si ottiene con :

Limit = 6;
ProfTrgt = 20;
ProfFctr = 0.8;

Ecco il rapporto :

Deposito iniziale 10000.00
Profitto totale netto 1064.00
Drawdown assoluto 21.00
Drawdown massimo 424.00 (3.79%)
Drawdown relativo 3.79% (424.00)
Operazioni totali 48
Operazioni con profitto (% del totale) 36 (75.00%)
Operazioni in perdita (% del totale) 12 (25.00%)
Il piu' grande
operazione con profito 233.00
operazione in perdita -192.00
Media
operazione con profito 56.17
operazione in perdita -79.83

Si ottiene una resa decente (10,64 %) comunque inferiore a quella ottenuta con il TS originario (15,65%).
Peggiora anche il drawdown ma migliora nettamente il rapporto vincite/perdite.
 
OTTIMIZZAZIONE N.2 - TS originario

Ottimizzo simultaneamente tutti gli otto parametri.
Il risultato migliore si ottiene con questa combinazione :

SMAFast = 5
SMASlow = 41
SMASignal = 5
Limit = 1
MaxDelay = 11
IniStplss = 235
ProfTrgt = 215
ProfFctr = 0.95

Ecco il rapporto:

Deposito iniziale 10000.00
Profitto totale netto 1846.00
Drawdown assoluto 24.00
Drawdown massimo 217.00 (1.99%)
Drawdown relativo 1.99% (217.00)
Operazioni totali 32
Operazioni con profitto (% del totale) 23 (71.88%)
Operazioni in perdita (% del totale) 9 (28.13%)
Il piu' grande
operazione con profito 328.00
operazione in perdita -99.00
Media
operazione con profito 100.35
operazione in perdita -51.33

Rispetto alla combinazione-base con 5 parametri fissi, c'e' un miglioramento su tutte le voci.
In particolare il profitto passa al 18,46 % e il rapporto vincite/perdite migliora nettamente.
Il parametro che varia in modo piu' marcato con l'ottimizzazione e' il Delay (da 1 a 11) ovvero il numero di candele di stand-by tra ogni uscita e ogni entrata nei trade; questo origina una riduzione del n. di trade.
Anche i parametri del MACD risultano nettamente diversi da quelli che uso solitamente e che sono imposti nella versione-base del TS originario.

Chissa quanto overfitting ci sara' dentro ! :(
 
Chissa quanto overfitting ci sara' dentro ! :(

Quindi mi sembra che l'esperimento conferma la tesi che il ts come è concepito ed ottimizzato, cioè su di una serie storicia assai corta per 8 parametri, genera overfitting assai spinto.
Da ciò deriva il fallimento praticamente certo nell'uso out-of-sample.
Concordi?
 
OTTIMIZZAZIONE N.3 - TS contrarian

Ottimizzo simultaneamente tutti gli otto parametri.
Il risultato migliore si ottiene con questa combinazione :

SMAFast = 11
SMASlow = 48
SMASignal= 13
Limit = 8
MaxDelay = 7
IniStplss = 140
ProfTrgt = 250
ProfFctr = 0.9

Ecco il rapporto :

Deposito iniziale 10000.00
Profitto totale netto 2306.00
Drawdown assoluto 65.00
Drawdown massimo 232.00 (2.10%)
Drawdown relativo 2.10% (232.00)
Operazioni totali 11
Operazioni con profitto (% del totale) 10 (90.91%)
Operazioni in perdita (% del totale) 1 (9.09%)
Il piu' grande
operazione con profito 411.00
operazione in perdita -146.00
Media
operazione con profito 245.20
operazione in perdita -146.00

Le prestazioni sono decisamente migliori rispetto alla ottimizzazione n. 2 :eek:.
Il profito diventa del 23,06%.
Il n. di operazioni si riduce drasticamente e il rapporto vincite/perdite diventa eccezionale.

La cosa piu' evidente che noto e' che la combinazione dei parametri Limit e Delay fa si che rispetto all'oscillazione MACD l'entrata nei trade e' molto ritardata, quasi ad annullare l'effetto "contrarian" di questa versione del TS.

Qui ci sarà un overfitting al cubo ! :lol:
 
Autotrader, quando puoi e se vuoi, mi dai il tuo parere anche dopo questo ultimo test ?
Grazie in anticipo.
 
Ultima modifica:
Eccomi, a me interessa il tuo responso. Tu sei molto chiaro ed esauriente nel documentare, però che vuoi magari non capisco bene quello che vuoi comunicare.
Il tuo parere qual è? L'esperimento cosa ha dimostrato?
 
Eccomi, a me interessa il tuo responso. Tu sei molto chiaro ed esauriente nel documentare, però che vuoi magari non capisco bene quello che vuoi comunicare.
Il tuo parere qual è? L'esperimento cosa ha dimostrato?

Le prove che mi hai suggerito sono state utili, anche se comunque ho la sensazione di "essere ancora in alto mare".
In attesa di risolvere la questione del database insufficiente per Eurostox, nel week end ricomincero' daccapo con EurUsd, dove dispongo di piu' dati.
Per quanto riguarda i risultati dei test di oggi direi che sono stati la dimostrazione di come si possa ricavare un profitto virtuale anche applicando la chiromanzia ad una serie di dati random.
E comunque, nonostante i risultati, non proseguirò di certo con il TS contrarian e il suo MACD a rovescio.
Il TS originario si basa su un MACD configurato a ragion veduta.
I suoi parametri, che non vorrei cambiare, sono anche il frutto della sua applicazione nel tempo, nel mio trading discrezionale e sono alla base delle mie analisi sui cicli (mediante l'oscillatore Shaff che e' un derivato del MACD).
Quindi vorrei considerare questo tool come un paletto fisso, non piu' ottimizzabile, per decidere le entrate nei trade.
In altri termini vorrei che la messa a punto del TS riguardasse solo l'uscita dai trade e non l'entrata.
L'ottimizzazione dovrà riguardare pertanto solo i parametri che stabiliscono come uscire in stop-loss o take-profit.
Questo dovrebbe rendere il TS meno vulnerabile all'overfitting, dovendosi ottimizzare solo due o tre parametri.
Alla fine il quesito che sottopongo al 3D puo' essere meglio precisato nel seguente modo:

- come fate voi a gestire (ottimizzare) lo stop-loss e il take-profit, quando siete già all'interno di un trade ?

Grazie ancora ad Autotrader, e ...

:ciao:
 
Non avevo mai visitato questa sezione del forum fino a questa mattina. Ho letto tutta questa discussione e l'ho trovata interessantissima.

Devo andare a cucinarmi qualcosa quindi sarò breve ma visto che condivido il tuo stesso sogno possiamo mettere in comune le nostre idee e fare un TS che funzioni alla grande :D

Premetto che non sono neppure al tuo livello e le mie competenze con la programmazione sono quasi nulle. Uso un po' excel e per adesso ho fatto i miei indicatori sono usando quello ma molto spesso non riesco bene ad inserire tutte le variabili che vorrei sperimentare e non mi sono reso conto che magari stavo cadendo brutalmente nel vortice dell'overfitting.

Domanda: Quale è il migliore strumento/programma per creare un Trading System in modo facile e poco caro. Se ho capito bene questo programma che usi te (Tolomeo) ha principalmente problemi di database oppure ci sono altre pecche? Però è gratuito giusto?

Visto che ti indendi un po' si astrologia, quale segno è più portato nella creazione di trading system?

Riguardo ai trading system che hai postato avrei alcune considerazioni:
Prima cosa perché devi mettere SL e TP, non è possibile fare un TS che sia sempre dentro al mercato? Alla fine il mercato sale, scende, o lateralizza. Se sale bisogna essere long, se scende short, se sta in fase laterale è indifferente come siamo posizionati basta che non cambiamo la nostra posizione ogni 5 minuti.
Pure con la mia limitata conoscenza di excel riesco a calcolare che negli ultimi 10 anni sul Fuzzi, semplicemente usando una MM a x periodi come segnale di long-short sulla chiusura daily ottengo un gain. Sicuramente non è overfitting perché uso un solo parametro e porta un gain anche se lo vario fra 10-20-30-40-50 giorni. Semplicemente sul Fuzzi i trend esistono.

Tutti questi tuoi parametri si basano tutti solo sui prezzi, per me questo è un grande errore/limitazione. Bisogna inserire altre variabili indipendenti, prima fra tutti i volumi ma potremmo pensarne anche altre...

Adesso devo scappare ma se sei interessato io credo/spero di avere grandi idee anche se manco delle conoscenze di programmazione necessarie per vedere se funzionano. Possiamo fare un team ;)
 
Nel frattempo sto esercitandomi con le piu' disparate ottimizzazioni sul mio TS e ritorna sempre lo stesso problema.
Usando EurUsd dove il database e' piu' profondo e usando vari range temporali i parametri ottimizzati e i profitti variano in continuazione.
Usando periodi di uno o due mesi il profitto e' stratosferico.
Usando periodi di media lunghezza, come quello di 20 mesi che ho utilizzato finora, il profitto e' mediamente buono.
Usando l'intero database il profitto quasi sparisce.
Sembra un rompicapo inestricabile.
:ciao:

ma queste variabili che inserisci, sono in grado di funzionare da sole?
la volatilita' quando metti profit/stoploss ....la consideri?
 

Users who are viewing this thread

Back
Alto