Programmazione Metatrader Overfitting_II (per principianti)

grazie intanto
non ho modo di usare il tuo codice ma i principi si
non ho mai avuto grandi successi con i cicli..se non dopo averli contestualizzati..quindi se questo va cosi' ....e' una sorpresa.
ora vedo che tu hai stop loss e io no...basta questo a giustificare ?
l'impostazione manuale...quindi sicuramente a posteriori...quindi dopo aver visto il futuro...invece non mi convince...oltre che impossibilitare il backtesting
non potresti sostituirla con un ciclo bello lungo che la battezzi?
 
Files di Indicatore_TS_Cicli

Ad integrazione del TS_Cicli, allego anche i files del simulatore equivalente al TS.
Immettendo gli stessi parametri del TS si ottiene un grafico con i segnali long e short.
Puo' essere utile per seguire visivamente il TS e per provare velocemente le configurazioni.
 

Allegati

  • Indicatore_TS_Cicli.zip
    Indicatore_TS_Cicli.zip
    10 KB · Visite: 120
  • Euro50Jun15H1.png
    Euro50Jun15H1.png
    42,3 KB · Visite: 242
Se un professore della bocconi scende nel laboratorio dell'artigiano, dovrebbe parlare terra-terra, e spiegarsi con termini e ragionamenti comprensibili dall'artigiano.
Ma forse i professori della bocconi, che parlano sempre tra di loro, non sanno piu' comunicare con la gente normale.

Nessun professore qua. Non che penso cambi qualcosa essere professori.

La provocazione era dovuto al fatto che sei partito volendo affrontare il tema e poi hai semplicemente ignorato il tutto. Sta a te cercare di capire e studiare, se t'interessa!


Dovresti avere un metodo di testing ben definito prima di fare qualunque analisi.
A maggior ragione se stai cercando qualcosa che funzioni, piuttosto che vedendo se qualcosa di specifico funziona.

Da quello che ho visto state solo cercando di descrivere quanto meglio i dati storici, piuttosto che cercare qualcosa che potrebbe aver funzionato in passato e sulla quale poter avere delle aspettative sul comportamento futuro.

Ad esempio, mi sembra (correggimi se sbaglio) che usiate tutti i dati storici a disposizione per qualunque "analisi".
Gia' questo facilita tanto la caduta in overfitting (o meglio, non ti aiuta ad evitarla), anche se il modello fosse la cosa piu' semplice del mondo.

Fare in-sample, (cross-validation) e out-of-sample dovrebbe essere scontato e solo un punto di partenza.
 
...
l'impostazione manuale...quindi sicuramente a posteriori...quindi dopo aver visto il futuro...invece non mi convince...oltre che impossibilitare il backtesting
non potresti sostituirla con un ciclo bello lungo che la battezzi?

Ciao Maro...
Se riuscissi a "battezzare" al 100% l'inizio dei cicli, anche di quello in corso, l'avrei già messa nel TS.
Penso che fare cio' in modo automatico sia umanamente impossibile (o almeno per me).
Per ora, in automatico, il TS e' capace di riaggiustare la partenza del ciclo in corso, quando il ciclo e' arrivato ai fatidici 2/3.
La reimpostazione manuale del primo ciclo e' invece una manutenzione periodica, da fare quando l'aggiustamento automatico sballa vistosamente a causa di qualche disgrazia ciclica.
Su quest'ultimo aspetto, forse si potrebbe aggiungere un altro pezzo di programma capace di riconoscere l'anomalia e correggerla, ma sempre e solo dopo che siano trascorse un certo numero di barre.
Ci penserò.
 
Nessun professore qua. Non che penso cambi qualcosa essere professori.
...
Fare in-sample, (cross-validation) e out-of-sample dovrebbe essere scontato e solo un punto di partenza...

Ciao Andrew...
Ora va un po' meglio e capisco le tue obiezioni.
In effetti in partenza c'era l'intenzione di affrontare il tema ma non pensavo di essere capace di risolverlo da solo e contavo sui contributi di quelli piu' bravi.
Alle spalle ho giorni, mesi e anni di inutili backtest, compresi quelli in-sample ( prima) e out-of-sample (dopo), e utilizzando altri metodi che ho trovato in giro.
Appena si tratta di ottimizzare un parametro, si cade nel buco dell'overfitting.
Alla fine l'unica certezza che ho maturato e' che piu' e' lungo il periodo di learning e piu' si media il noise del mercato e la conseguenza e' quella di trovare dei parametri che funzionano bene sul noise mediato, ma che non funzioneranno mai sul mercato della prossima seduta.
Come dire : non credo piu' nelle ottimizzazioni fatte in maniera classica.
Finche' non trovo qualcuno che mi dimostra il contrario, con evidenze chiare e riproducibili, non perderò piu' tempo con ottimizzazioni estenuanti.
Ultimamente sono invece alla ricerca di metodi che siano intrinsecamente esenti da ottimizzazione, ovvero senza parametri, o con parametri univoci e costanti.
Per questo sto lavorando sull'analisi ciclica o sui pattern e i breakout e non voglio piu' usare indicatori, oscillatori, regressioni e altri algoritmi parametrizzati.
Se poi qualcuno "di quelli bravi" (i professori) volesse darmi qualche idea da trasformare in software, sarei felicissimo di collaborare.
Anche perche' mi diverto di piu' a programmare che a fare trading discrezionale stando incollato al monitor.
 
pero non capisco il problema di centrare i cicli
quando hai la sinusoide.... cerchi il minimo o il massimo all'interno di essa....non e' sufficiente? ...chiaro che devi mettere un ciclo lungo 3 6 mesi ecc
 
Files del TS_Cicli_inversi

Ed ecco i files del TS sui cicli inversi
Ho messo anche il simulatore.

La descrizione e' la stessa che ho dato per il TS sui cicli diretti; ovviamente la logica e' rovesciata.

Il prossimo parto sarà la versione integrata che combina i segnali provenienti dai due cicli.
 

Allegati

pero non capisco il problema di centrare i cicli
quando hai la sinusoide.... cerchi il minimo o il massimo all'interno di essa....non e' sufficiente? ...chiaro che devi mettere un ciclo lungo 3 6 mesi ecc

No, Maro, io la sinusoide non la uso; conto le barre e cerco i minimi e i massimi.
E il metodo puo' lavorare con ogni ciclo dal T-7 al T+7 anche se ovviamente con gli ordini piu' estremi non avrebbe senso usare un TS.
Cerco di spiegare meglio il problema, non solo a te, ma a tutti quelli che ci seguono..
Si parte da un minimo che gli diamo in ingresso.
In ingresso gli diamo anche la durata virtuale dei cicli, supponiamo 100 barre.
Il TS conta e quando arriva alla 67 barra si volta indietro.
Conta 100 barre indietro e verifica dove c'e il minimo piu' minimo.
Al primo giro troverà certamente la barra che gli abbiamo dato in ingresso.
Poi ricomincia a contare fino a 100.
A 101, riparte da 1 perche' si entra nel secondo ciclo (virtuale).
Conta e riconta, arriva alla 67 barra del secondo ciclo (ovvero alla 167 barra dall'inizio) e si volta indietro.
Conta 100 barre indietro e verifica dove c'e il minimo piu' minimo.
Al secondo giro, il minimo piu' minimo quasi certamente non coinciderà con la barra 0 del secondo giro (ovvero la barra 100 del primo giro), perche' il primo ciclo reale non sarà di 100 barre ma di qualche barra in piu' o in meno; supponiamo che il minimo sia alla 95esima barra del primo ciclo.
A questo punto il TS battezza quella barra come il vero inizio del secondo ciclo e aggiorna il contatore da 67 a 167-95 = 72.
Poi riprende il conteggio fino a 100 dove si concluderà il secondo ciclo (virtuale).
Da li si riparte per il terzo ciclo e si ripetera' la procedura.

Lavorando in questo modo il TS ritrova sempre il vero inizio dei cicli e lascierà in sospeso la vera conclusione dell'ultimo ciclo, ovvero la vera partenza del prossimo ciclo; quando si trova tra la 67esima e la 100esima barra il TS e' comunque in posizione flat.

Se si verifica la "disgrazia" ciclica, ovvero una lingua o una troncatura o una fusione tra cicli (tutte cose possibili) il meccanismo di autocentratura delle barre di inizio ciclo potrebbe fallire, perche' il vero minimo di inizio del ciclo attuale potrebbe non rientrare nella finestra di controllo e il TS attribuirebbe l'inizio ciclo ad un altro minimo che non e' quello giusto.
Dopo un simile guaio, il TS e' in grado di ritrovare la centratura nel giro di tre o quattro cicli, ma nel corso di quei tre/quattro cicli i trade potrebbero andare in loss.
Ecco perche', in quei casi, sarebbe meglio intervenire manualmente e ridefinire una barra esatta di reinizializzazione dei conteggi.
 
Alle spalle ho giorni, mesi e anni di inutili backtest, compresi quelli in-sample ( prima) e out-of-sample (dopo), e utilizzando altri metodi che ho trovato in giro.

E il mio messaggio va appunto in quella direzione. Affronta il problema in se' di petto per quanto possibile.

Anche a livello piu' generale: stai cercando di avere successo in un certo tipo di ricerca, la prima cosa di cui ti devi preoccupare e' riuscire a distinguere fra potenziale successo o fallimento.
Se no di che stai a parlare...

Come dire : non credo piu' nelle ottimizzazioni fatte in maniera classica.

Ultimamente sono invece alla ricerca di metodi che siano intrinsecamente esenti da ottimizzazione, ovvero senza parametri, o con parametri univoci e costanti.

Il concetto non cambia. Da quello che ho visto, state provando diversi metodi sulla stessa serie storica, prendendo spunto dai risultati per provare cose nuove.

Che il modello sia semplice e non parametrico aiuta, ma non basta nemmeno alla lontana.
Immagina un modello banalissimo in cui sei sempre long o sempre short. Provi che il sempre short non "funziona", e allora provi il sempre long...hey, "funziona"!
 
E il mio messaggio va appunto in quella direzione. Affronta il problema in se' di petto per quanto possibile.

Anche a livello piu' generale: stai cercando di avere successo in un certo tipo di ricerca, la prima cosa di cui ti devi preoccupare e' riuscire a distinguere fra potenziale successo o fallimento.
Se no di che stai a parlare...
Il concetto non cambia. Da quello che ho visto, state provando diversi metodi sulla stessa serie storica, prendendo spunto dai risultati per provare cose nuove.
Che il modello sia semplice e non parametrico aiuta, ma non basta nemmeno alla lontana.
Immagina un modello banalissimo in cui sei sempre long o sempre short. Provi che il sempre short non "funziona", e allora provi il sempre long...hey, "funziona"!

Non so ...
Forse ogni metodo andrebbe triplicato.
Una configurazione per i trend lunghi, una per i corti e una per il flat.
Intanto questo metodo, che lavora in tandem sui cicli diretti e inversi, pare molto promettente.
E ne sto mettendo in cantiere un altro che, in discrezionale, sembra che dia ottimi risultati.
Tirem innanz ...
 

Users who are viewing this thread

Back
Alto