Programmazione Metatrader Overfitting_II (per principianti)

Approfitto di questo ritorno sul 3D per avvisare che ho messo molta "carne al fuoco" e sto provando parecchie varianti su TS vecchi e nuovi.
Purtroppo il tempo a disposizione per questo hobby e' sempre troppo poco. :wall:
Spero di tornare presto con qualche novità ... succolenta. ;)
 
Dopo aver elogiato lo Shaff , mi sono fatto un giro su vari forum per vedere cosa "bolle in pentola" tra i vari artigiani del TS.
Di idee se ne propongono molte... gran parte non mi convincono, ma qualcuna mi e' sembrata piu' credibile.
In particolare, ci sono un paio di 3D su fol dove dei bravi programmatori su PRT sperimentano vari tools, anche piu' di quanto facciamo noi.
Di spunti me ne hanno offerti parecchi e, piano piano, cerchero' di approfondirli.
Quello che mi ha maggiormente stimolato e' stato l'impiego di alcuni indicatori trend-following che non avevo ancora provato, in particolare KAMA (d Kaufman), TEMA (Triple_EMA) e T3 (di Tylson).
Così, nell'ultima settimana, ho messo da parte le cose su cui stavo lavorando, e mi sono costruito i programmi in MT4 per calcolare questi indicatori.
Visti i risultati, ho subito abbandonato la media KAMA che, pur seguendo bene il trend, mi e' sembrata troppo rumorosa.
Nel presente grafico H4 di EurUsd, ho messo a confronto il beneamato oscillatore Shaff, con le medie TEMA e T3; ha aggiunto anche la media Hull, che già conoscevo come ottimo trend-follower.
Tutti i calcoli sono effettuati sui prezzi di apertura.
Nel grafico non ho messo gli andamenti di questi indicatori, ma il loro momentum, con aggiunta di un piccolo filtro necessario per tagliare alcuni fastidiosi falsi segnali.
Per valutare meglio il loro comportamento, ho sovrapposto ai segnali l'andamento dei prezzi (aperture).
Sul grafico sono pure riportate, con linee verticali tratteggiate, le demarcazioni dei cicli tracy, in quanto sono sempre interessato anche agli strumenti che meglio possano segnalare la fine e l'inizio dei cicli.
Tutti e quattro i tools sono performanti e lascio a voi di valutare visivamente le differenze.
La cosa che comunque mi sembra piu' evidente e' l'ottimo comportamento di T3, che mi sembra decisamente il migliore.
Ora procederò a costruire i TS automatici per gestire gli ordini, per avere dati quantitativi di confronto.
Ovviamente, darò la priorità al T3.
 

Allegati

  • EURUSDH4.png
    EURUSDH4.png
    68,6 KB · Visite: 444
TS_Four_Signal (progetto)

Ho preparato i TS automatici che lavorano con i quattro tool che ho mostrato nel post precedente.
Sono tutti molto promettenti e presto vi mettero' i files, cosi' potrete valutarli.
La prima idea che mi e' venuta e' quella che si potrebbero attivare tutti e quattro i TS, singolarmente e simultaneamente, in modo da compensare le fasi positive e negative.
Poi, guardanto piu' attentamente il grafico di cui sopra, mi e' venuta un'altra idea che mi sembra ancora migliore.
Se osservate bene, i quattro segnali si alternano nella prontezza con cui avvertono i cambi di trend.
Ce n'e' sempre uno che segnala per primo il cambio short->long e un altro che segnala per primo il cambio long->short.
Non ce ne mai uno solo che sia sempre migliore degli altri ma, presi tutti insieme, si integrano meravigliosamente.

Da qui l'idea:

1 - entrati in una certa posizione (long o short), si attende che almeno tre segnali su quattro si trovino in sintonia (long o short);
2 - dopodiche' si reversa la posizione non appena uno dei tre/quattro segnali, che erano in sintonia, cambia valore;
3 - si ritorna al punto 1

Se applicate mentalmente questo metodo ai grafici del post precedente, vedrete che si arriva quasi al 100% di operazioni in gain.

Ovviamente, nell'applicazione pratica non sarà sempre cosi' e il tutto andrà configurato e testato, ma, dalla prima impressione, penso che valga la pena di provare.
Cosi' da oggi metto in cantiere un bel "programmone" che calcolerà i quattro segnali in temporeale e poi adotterà il metodo descritto.
Vedremo cosa ne esce ...
 
Ultima modifica:
:mmmm: Interessante ....... non avresti a portata di mano qualche link o pdf o quello che ti pare per poter costruire gli indicatori da zero. Non so quando ma mi ispira una verifica....
Grazie. :)

Ciao.

Ciao Joe,
ti metto i files che ho trovato in rete e sui quali mi sono basato per costruire i miei programmini MT4.
Per le medie di Hull e T3 di Tylson ci sono documenti PDF.
Per la Triple_EMA un file di testo che viene da un copia e incolla.
Per lo Shaff, che ha un algoritmo un po' piu' complesso, non ho trovato documentazioni esaurienti in rete ma solo il sorgente MT4.
Non so con che linguaggio vuoi scrivere i tuoi programmi, ma se usi anche tu la piatta MT4, puoi dare un'occhiata ai file che mettero' nei prossimi post.
Spero di avere in fututo eventuali tuoi commenti/suggerimenti.
Buon lavoro.
 

Allegati

TS_Mom_T3

Come promesso vi metto i files dei quattro singoli TS.
Comincio con quello basato sulla media T3 di Tylson.

L'indicatore ha i seguenti parametri :

AppliedPrice = 1; // 0=Close 1=Open
EmaPeriod = 3;
PhaseLag = 0.7;
MomShift = 1;
Limit = 0.0019;

AppliedPrice e' il tipo di prezzo usato, secondo la convenzione MT4 :
0=Close
1=Open
2=Max
3 =Min
Io uso sempre l'Open, per evitare saltellamenti del segnale durante la vita della candela.

EmaPeriod e il numero di dati su cui calcolare le medie esponenziali; questo parametro va ottimizzato per ogni strumento e per ogni timeframe.

PhaseLag e' un coefficente che Tylson raccomanda di non modificare troppo dal valore default 0.7.

MomShift e' lo shiff tra la candela attuale e quella precedente, tra le quali calcolare la differenza (momentum); il valore default 1 significa che il momentum e' calcolato tra la candela attuale e quella immediatamente precedente; volendo si puo' ottimizzare, ma non lo ritengo indispensabile.

Limit e' una soglia del momentum, espressa nella scala di prezzo dello strumento utilizzato, al di sopra e al di sotto della quale si considera valido il cambio di segnale; questo filtro e' indispensabile per tagliare i piccoli falsi segnali e va ottimizzato per ogni strumento e per ogni timeframe.

Il TS oltre agli stessi parametri dell' indicatore, ha i soliti parametri per la gestione degli ordini e degli eventuali stoploss e takeprofit:

MyMagic = 333333; // num. assegnato dal Ts al proprio ordine
MyLts = 0.1; // numero di lotti
MaxDelay = 1; // numero di barre di stand-by dopo entrate e uscite dai trade
IniTrade = 0; //forza ordine all' avvio del TS; 0=dipende dal segnale 1=long -1=short
IniStplss = 1999; // stoploss
ProfTrgt = 1999; // target profitto per innesco trailing
ProfFctr = 1.0; // percentuale ritracciamento trailing stop da massimo profitto

I valori default dell'indicatore e del TS sono configurati per EurUsd su timeframe H4, ottimizzati sugli ultimi tre mesi, con l'equity che riporto nel grafico; non sono applicati stoploss e takeprofit.

Come sempre, non metto ottimizazioni lunghe, backtest in e out-of-sample, test su mille strumenti, test su tutti i timeframe ecc.
Chi e' interessato provvederà per conto suo.

Ora e' tardi e vado a dormire; domani vi metterò un altro TS.
Ciaoooo
 

Allegati

  • TS_Mom_T3.zip
    TS_Mom_T3.zip
    29,3 KB · Visite: 257
  • TesterGraph.gif
    TesterGraph.gif
    11,5 KB · Visite: 268
Ultima modifica:
TS_Mom_TEMA

Ed ecco i files del TS basato sul momentum della media Triple_EMA, il secondo della serie di quattro.

L'indicatore ha i seguenti parametri :

AppliedPrice = 1;
EmaPeriod = 11;
MomShift = 1;
Limit = 0.0017;

Il significato e' lo stesso delle variabili del TS_Mom_T3.

Il TS, oltre agli stessi parametri dell' indicatore, ha i soliti parametri per la gestione degli ordini e degli eventuali stoploss e takeprofit, identici a quelli del TS_Mom_T3.

I valori default dell'indicatore e del TS sono configurati per EurUsd su timeframe H4, ottimizzati sugli ultimi tre mesi, con l'equity che riporto nel grafico; non sono applicati stoploss e takeprofit.

Stasera vi metto i files del TS_Mom_Hull.

:ciao:
 

Allegati

  • TesterGraph.gif
    TesterGraph.gif
    12,2 KB · Visite: 283
  • TS_Mom_TEMA.zip
    TS_Mom_TEMA.zip
    30,3 KB · Visite: 291
TS_Mom_HULL

Metto ora i files del TS basato sul momentum della media di HULL, il terzo della serie di quattro TS.

L'indicatore ha i seguenti parametri :

TimeFrame = 240;
AppliedPrice = 1;
HullPeriod = 11;
Method = 3;
Limit = 0.0025;

Alcuni parametri sono gli stessi dei primi due TS, altri no:

TimeFrame deve essere specificato (espresso in minuti) perche questa versione del programma e' stata scritta prima di scrivere i TS T3 e TEMA e contiene ancora un algoritmo che consente di calcolare l'indicatore per ogni TF pari o superiore a quello del grafico.

AppliedPrice e' il tipo di prezzo usato (come in T3 E in TEMA)

HullPeriod e il numero di dati su cui calcolare la media di Hull; questo parametro va ottimizzato per ogni strumento e per ogni timeframe.

Method specifica l' opzione metodologica con cui calcolare la media di Hull; i valori possibili vanno da 1 a 3; io preferisco l'opzione 3 ma converrà testare anche le altre opzioni.

Limit e' il filtro per tagliare i piccoli falsi segnali e va ottimizzato per ogni strumento e per ogni timeframe (come in T3 e TEMA).

Il TS, oltre agli stessi parametri dell' indicatore, ha i soliti parametri per la gestione degli ordini e degli eventuali stoploss e takeprofit, identici a quelli di T3 e TEMA.

I valori default dell'indicatore e del TS sono configurati per EurUsd su timeframe H4, ottimizzati sugli ultimi tre mesi, con l'equity che riporto nel grafico; non sono applicati stoploss e takeprofit.

A domani per il quarto e ultimo TS, basato sull'oscillatore Shaff.
 

Allegati

  • TesterGraph.gif
    TesterGraph.gif
    12 KB · Visite: 285
  • TS_Mom_HULL.zip
    TS_Mom_HULL.zip
    33 KB · Visite: 282
Ultima modifica:
TS_Mom_Shaff

Infine, ecco i files del quarto TS della seria, basato sul momentum dell'oscillatore Shaff.

L'indicatore ha i seguenti parametri di ingresso :

Timeframe = 1440;
AppliedPrice = 1;
MAShort=5;
MALong=8;
Cycle=5;
Limit = 21.0;

Timeframe, come per il TS basato sulla media di Hull, e' pssibile calcolare l'indicatore per ogni TF pari o superiore a quello del grafico.

AppliedPrice e' il tipo di prezzo usato (come nei precedenti TS).

MAShort, MALong e Cycle sono i parametri di configurazione dell'oscillatore di Shaff; questa e' un combinazione molto sensibile che io uso sempre e non cambio mai (ma voi potete provare altre combinazioni).

Limit e' il filtro per tagliare i piccoli falsi segnali e va ottimizzato per ogni strumento e per ogni timeframe (come nei precedenti TS).

Il TS, oltre agli stessi parametri dell' indicatore, ha i soliti parametri per la gestione degli ordini e degli eventuali stoploss e takeprofit, identici a quelli dei precedenti TS.

I valori default dell'indicatore e del TS sono configurati per EurUsd su timeframe H4, ottimizzati sugli ultimi tre mesi, con l'equity che riporto nel grafico; non sono applicati stoploss e takeprofit.
 

Allegati

  • TesterGraph.gif
    TesterGraph.gif
    13,1 KB · Visite: 284
  • TS_Mom_Shaff.zip
    TS_Mom_Shaff.zip
    37,1 KB · Visite: 283
I quattro TS che ho messo sono i "mattoncini" del TS_Four_Signals che ho in cantiere e sul quale ripongo buone aspettative.

L'idea del progetto l'ho illustrata qui :

http://www.investireoggi.it/forum/4316301-post648.html

Dovrebbe uscirne fuori qualcosa di certamente superiore rispetto ai singoli TS che comunque, già da soli, potrebbero risultare profittevoli e che ritengo andranno testati in forme piu' esaustive.

Spero che qualcuno mi aiuti, da qui in avanti, nel grosso lavoro di backtesting e ottimizzazione che ci sarà da fare.

Spero anche che qualcuno possa convertire questi TS su altre piattaforme, in modo da allargare il gruppo di lavoro.
 
Ciao Tolomeo, ti leggo sempre con interesse ed apprezzo l'energia e buona volontà nel divulgare le tue idee assai interessanti, ma quello che non capisco e che sicuramente toglie valore a quello che fai è: perchè ti ostini a fare backtest su pochissimi trades? ti leggerei con tantissimo interesse in più se i tuoi test fossero statisticamente più significativi. Cmq 6 liberissimo di concalcolarmi :) ti leggo lo stesso :up:
 

Users who are viewing this thread

Back
Alto