Programmazione Metatrader Overfitting_II (per principianti)

e perche' non 3 4 oppure 10 20?

perche' dare tutta sta responsabilita' al secondo.....che se per caso sbagli a codificarlo o l'impianto teorico collassa.....diventa una costa concordia?

non ti conviene fare semplice strategie separate, dove nessuna si arroga il potere di vita e morte? e le unisci a valle?

Grazie del suggerimento.
Ecco, proprio di questo ho bisogno : di suggerimenti progettuali come questo.
Comincero' a pensare a questa ipotesi.
Un insieme di robottini, scarsamente overfitting-ogeni, ognuno dei quali svolge un compitino facile facile (ovvero un insieme di tante subroutine).
E un main program che riassume e decide.
Mi piace. :up:
 
e il main program puo' anche essere la roba di quel link anche se non e' obbligatorio...dipende dai gusti

collezioni tutta una serie di variabili dummy e.......
 
Ciao,
la cosa che trovo molto interessante di Metatrader ...
...
Per me dei "fondamenti" su cui potremmo costruire qualcosa potrebbero essere....

Ciao Aldrin.

Su MT4...
Per sfruttare appieno la potenza di MetaTrader dovresti necessariamente imparare il suo linguaggio di programmazione MetaQuotes.
Poi potrai fare quello che vuoi.
Siccome il linguaggio MetaQuotes e' imparentato col linguaggio C, se non hai nessuna base, ti servirebbe seguire un corso di base introduttivo al C.
Sicuramente nella tua città troverai qualcuno che organizza corsi simili.
Usato anche senza la programmazione, MT4 di consente comunque di fare come e forse piu' del Power Desk di Fineco.
Quando disporrai di un TS automatico scritto per MT4, che nel gergo di MT4 si chiama "Expert Advisor" (scritto da te, o da me o scaricato dalla rete), potrai ottimizzarlo utilizzando l'apposita routine di MT4, che e' sufficientemente potente e fornisce report abbastanza esaurienti.

Sugli indicatori e sui settaggi...
I risultati che si ottengono, ottimizzando indicatori e oscillatori vari, sono un "mare magnum".
Ogni ottimizzazione fornisce innumerevoli combinazioni profittevoli di pararametri e già qui e' difficile operare una scelta; dipende dai gusti, puoi scegliere il maggiore profitto assoluto, o il minimo drawdown, o il migliore payoff (profitto/operazioni), o il migliore rapporto vincite/perdite.
I parametri ottimali, a seconda del criterio scelto, variano entro range molto larghi.
Cambiando ampiezza e limiti temporali del periodo di ottimizzazione, cambiano sempre le combinazioni e i profitti.
Insomma e' un gran casino.
E piu' parametri ottimizzi e piu casino (e overfitting) otterrai.

Sul progetto di TS...
Concordo sul criterio della semplicità ma a volte occorre qualcosa in piu'.
Dalle numerose prove che ho fatto il MACD (che combina due, o tre se usi anche il suo segnale, medie mobili) e' meno rumoroso dell'incrocio prezzo-media mobile o tra due medie mobili, quindi produrrà meno falsi segnali o, a parità di rumore, fornirà una risposta meno ritardata.
In ogni caso, come dicevo in un precedente post, credo che la individuazione di un buon indicatore/oscillatore trend-follower sia la cosa meno complicata da fare.

Su SL e TP...
Il lavoro che ho descritto finora sul TS basato sul MACD, in effetti ottimizza SL e TP sul miglior profitto possibile.
Il fatto di cercare altri "fondamenti", tipo volatilità o volumi, da inserire nella strategia di uscita dal trade, rappresenta per me la questione centrale.
Come ho già detto nel post sopracitato, occorre mettere a punto un meccanismo che sia capace di stabilire se il trend e' ancora favorevole o se e' girato contro di me, AL NETTO DEL NOISE/VOLATILITA'.
Senza dimenticare la semplicità, bisogna forse seguire il consiglio di Marofib, ovvero di produrre tante piccole semplici routine (esenti da ottimizzazione) ognuna delle quali esegua un compitino facile-facile.
Sto cominciando a pensare, per esempio, a un insieme di step di questo tipo:

1 - calcolo della volatilità (variazione prezzo/tempo o momento)
2 - osservazione del volume
3 - calcolo delle derivate prima(momento) e seconda (flessi) dell'indicatore/oscillatore per capire la forza del trend
4 - osservazione dello stato di avanzamento (invecchiamento) del cicli diretto e inverso in corso, nonche dei minimi e massimi di inizio di tali cicli (NB - io seguo molto l'analisi ciclica)
5 - calcolo della distanza da certi target di prezzo (Pivot o Fibonacci, supporti e resistenze importanti)
6 - ecc.
7 - ecc.

ognuno di questi calcoli/osservazioni non necessita di essere ulteriormente parametrizzato e quindi sarà esente da ottimizzazione.
Al massimo si dovrà procedere ogni sera, o ogni fine settimana, a inserire determinati valori di input esterni per quei valori che il TS non potrà calcolare (inizio dei cicli, target di prezzo ecc.)
Alla fine si otterrà una matrice di valori che dovrà essere interpretata dal TS e che lo porterà a decidere se e' il caso di uscire o rimanere nel trade.

Certamente ci sarà un lavoro lungo e laborioso da fare ma penso che si debba tentare.
 
Sto cominciando a pensare, per esempio, a un insieme di step di questo tipo:

1 - calcolo della volatilità (variazione prezzo/tempo o momento)
2 - osservazione del volume
3 - calcolo delle derivate prima(momento) e seconda (flessi) dell'indicatore/oscillatore per capire la forza del trend
4 - osservazione dello stato di avanzamento (invecchiamento) del cicli diretto e inverso in corso, nonche dei minimi e massimi di inizio di tali cicli (NB - io seguo molto l'analisi ciclica)
5 - calcolo della distanza da certi target di prezzo (Pivot o Fibonacci, supporti e resistenze importanti)
6 - ecc.
7 - ecc.

ognuno di questi calcoli/osservazioni non necessita di essere ulteriormente parametrizzato e quindi sarà esente da ottimizzazione.
Al massimo si dovrà procedere ogni sera, o ogni fine settimana, a inserire determinati valori di input esterni per quei valori che il TS non potrà calcolare (inizio dei cicli, target di prezzo ecc.)
Alla fine si otterrà una matrice di valori che dovrà essere interpretata dal TS e che lo porterà a decidere se e' il caso di uscire o rimanere nel trade.

Sì, concordo pure io, l'idea di tanti piccoli robottini è carina :up:
Perché il TS non dovrebbe essere in grado di calcolare l'inizio dei cicli o un target di prezzo in modo automatico? Pure io seguo abbastanza Migliorino e l'analisi ciclica, credo che effettivamente i cicli siano un ottima descrizione degli eventi dell'universo. Giorno-Notte-Giorno; Vita-Morte-Vita e sicuramente Compro-Vendo-Compro.

Sono quasi convinto che imparerò MetaQuotes ma pensavo di impararlo su MT5, non mi pare abbia molto senso usare la versione precedente ma se ho capito bene le due non sono compatibili. Ho compiuto da poco 31 anni e mi sembra arrivata l'ora di imparare un po' di programmazione.

Cosa ne pensi di aggiungere alla lista anche la curva dei tassi? E' indipendente dagli altri indicatori e da quello che ho capito è strettamente legata ai fondamentali che muovono i mercati. Lunedì vado a fare un po' di sci in settimana bianca, continuerò a leggere il forum ma quando torno mi metterò a scaricare MT5 e così guardiamo se riesco a visualizzare lì cosa avrai fatto fino a quel punto....
 
Sì, concordo pure io, l'idea di tanti piccoli robottini è carina :up:
Perché il TS non dovrebbe essere in grado di calcolare l'inizio dei cicli o un target di prezzo in modo automatico? Pure io seguo abbastanza Migliorino e l'analisi ciclica, credo che effettivamente i cicli siano un ottima descrizione degli eventi dell'universo. Giorno-Notte-Giorno; Vita-Morte-Vita e sicuramente Compro-Vendo-Compro.

Sono quasi convinto che imparerò MetaQuotes ma pensavo di impararlo su MT5, non mi pare abbia molto senso usare la versione precedente ma se ho capito bene le due non sono compatibili. Ho compiuto da poco 31 anni e mi sembra arrivata l'ora di imparare un po' di programmazione.

Cosa ne pensi di aggiungere alla lista anche la curva dei tassi? E' indipendente dagli altri indicatori e da quello che ho capito è strettamente legata ai fondamentali che muovono i mercati. Lunedì vado a fare un po' di sci in settimana bianca, continuerò a leggere il forum ma quando torno mi metterò a scaricare MT5 e così guardiamo se riesco a visualizzare lì cosa avrai fatto fino a quel punto....

Visto che Tolomeo mi ha invitato nel thread, riporto la mia esperienza relativamente a quando detto in un altro thread.

Gli aspetti tecnici che ritengo importanti per un ts sono:

1. individuazione del trend di base
2. direzionalità
3. accelerazione
4. semplicità (poche ma buona variabili, non troppe per evitare inutili "equazioni" che funzionano per caso o a caso)
5. buona ottimizzazione onde evitare overfitting (la distribuzione dei rendimenti come vede dalla gaussiana è piuttosto contenuta e quindi tecniche di pruning degli estremi mantengono la bontà del trading system, ovvero il trading system non funziona per caso ma perchè guadagna sistematicamente e con "calma")
6. il ts deve guadagnare indipendentemente dalla direzionalità (short/long) purchè ce ne sia
7. evitare l'eccesso di operatività (per i motivi evidenziati all'inizio del thread)

e i cardini non tecnici sono:

1. esperienza
2. buona capacità di analisi tecnica
3. oggettività

Il mio modus operandi è:
1. scrivo il codice per lo step 1 (trend follower) e cerco di individuare un range di variabili adeguato per cui funziona
2. aggiungo la seconda variabile e ripeto quanto al punto 1
3. aggiungo la N variabile e ripeto quanto fatto al punto 1
Completato il ts, lo provo su altri strumenti comparabili in modo da capire se ha una validità significativa, altrimenti rischio l'overfitting sul singolo strumento.

Non amo molto l'approccio degli N "robot" che danno ognuno il proprio valore aggiunto: è un po' come descrivere un sistema con N equazioni. A me ne serve una buona, non N ottime che però magari si compensano tra loro.

Tolomeo: ho fatto la tesi su Machine Learning Learning, quindi mi interessa l'argomento che stai trattando.
Puoi riassumere lo stato dell'arte in 1 solo post in breve relativamente a quanto stai facendo?

Grazie.

Andrea
-----------------------------------------------------------------
 
Ultima modifica:

Marofib ci troviamo anche qui :)

Ho letto un pezzo del link inviato.
Il verbo "predict" associato a "market" mi lascia sempre un po' perplesso.

Sui mercati personalmente credo non si debba prevedere ma si debba cogliere l'essenza dei movimenti e seguirli. Se c'è nuvoloso mi porto l'ombrello, non prevedo che pioverà o che uscirà il sole. :)

Quindi l'obiettivo non è prevedere il domani, ma capire l'oggi e agire di conseguenza. Serve più una laurea in psicologia che in matematica per capire i mercati.

Per il resto ci sono spunti interessanti e il mondo del Machine Learning è stato per anni il mio pane quotidiano, per cui ho messo il link tra i preferiti e lo leggerò sicuramente.

Grazie del link.

Andrea
----------------------------------------------------------------------
 
Sì, concordo pure io, l'idea di tanti piccoli robottini è carina :up:
Perché il TS non dovrebbe essere in grado di calcolare l'inizio dei cicli o un target di prezzo in modo automatico? Pure io seguo abbastanza Migliorino e l'analisi ciclica, credo che effettivamente i cicli siano un ottima descrizione degli eventi dell'universo. Giorno-Notte-Giorno; Vita-Morte-Vita e sicuramente Compro-Vendo-Compro.

Sono quasi convinto che imparerò MetaQuotes ma pensavo di impararlo su MT5, non mi pare abbia molto senso usare la versione precedente ma se ho capito bene le due non sono compatibili. Ho compiuto da poco 31 anni e mi sembra arrivata l'ora di imparare un po' di programmazione.

Cosa ne pensi di aggiungere alla lista anche la curva dei tassi? E' indipendente dagli altri indicatori e da quello che ho capito è strettamente legata ai fondamentali che muovono i mercati. Lunedì vado a fare un po' di sci in settimana bianca, continuerò a leggere il forum ma quando torno mi metterò a scaricare MT5 e così guardiamo se riesco a visualizzare lì cosa avrai fatto fino a quel punto....

Ciao Aldrin, e buone sciate !

Calcolare l'inizio e la fine dei cicli in modo automatico non e' cosi' facile.
Tempo fa ci provai e riprovai per un paio di mesi e scrissi quattro o cinque programmi che, con modalità diverse, cercavano di individuare i cicli.
Il risultato fu che nel 30% circa dei casi la centratura risultava errata.
Non penso che sia' indispensabile automatizzare anche questa parte del TS.
Operando su tempi medio-lunghi, come vorrei, basterà tenere conto dei cicli T e/o T+1 e quindi sarà sufficiente passare l'informazione al TS ogni 6/10 giorni.
Per quanto riguarda i supporti e le resistenze il compito e' piu' facile; già dispongo di pezzi di programma che calcolano i pivot-point e i livelli di fibonacci.
Per quanto riguarda il dilemma MT4 o MT5, ti suggerisco di fare un po' di ricerche sui forum, specialmente inglesi e americani, per capire cosa sia meglio per te.
Per quanto ne so MT5 ha qualcosa in piu' ma anche qualcosa in meno di MT4 e la scelta della piattaforma fa fatta in funzione di quello che si vuole fare.
Se impari a lavorare con MT4 potrai passare a MT5 anche successivamente, senza difficoltà (io comunque per ora non ho nessun motivo per fare questo passaggio).

Buttore un occhio alla curva dei tassi potrebbe essere un'altra buona tessera del mosaico; su questo non ho alcuna esperienza e dovrei dare un'occhiata alle eventuali correlazioni o anticorrelazioni con gli indici.
Il dubbio che ho riguarda "chi muove chi", ovvero sono i tassi che condizionano gli indici, i cross e le comodities o viceversa ?
Cercheremo di capirlo.
 
Visto che Tolomeo mi ha invitato nel thread, riporto la mia esperienza relativamente a quando detto in un altro thread.
...
...
...
Puoi riassumere lo stato dell'arte in 1 solo post in breve relativamente a quanto stai facendo?

Grazie.

Andrea
-----------------------------------------------------------------

Ciao Andrea e benvenuto in questa palestra di artigiani dei TS (i professori stanno altrove :D).
Cerco di riassumere lo spirito di questo thread in pochi passaggi.
Ho aperto il thread nel tentativo di aggregare pareri, commenti e proposte che possano risultare utili a tutti coloro che vorrebbero autoprodurre un TS AUTOMATICO.
Lo scopo non e' pertanto quello di definire uno o piu' TS da gestire con entrate e uscite manuali, al verificarsi di determinati segnali, ma quello di creare un una vera e propria "macchina" capace di viaggiare senza autista.
La mia esperienza e quella del trading discrezionale, fatto in modo non professionale, saltuario, con esiti alterni.
Non avendo molto tempo da dedicare al trading e non volendo rimanere incollato al computer per ore e ore, ho deciso di intraprendere questa avventura; se riuscirò (riusciremo) a creare un TS automatico capace di produrre profitti sistematici bene, altrimenti penso che chiuderò "baracca e burattini".
Nelle pagine precedenti ho cercato di raccontare il lavoro fatto finora che, riassumendo, consiste nell'aver costruito e provato diverse decine di TS automatici piu' o meno complessi che, in misura diversa, producevano sempre il medesimo risultato:
- profitti buoni o molto buoni nell'intervallo temporale dell'apprendimento, specialmente se l'intervallo non e' troppo lungo;
- perdite al di fuori dell'intervallo temporale di apprendimento o per intervalli molto lunghi (pluriennali).
In altri termini, ogni ottimizzazione mi ha sempre prodotto molto overfitting e poca o nulla capacità di generalizzare la performance.
Attribuisco questi risultati deludenti al fatto che i miei TS siano ancora troppo rudimentali e imperfetti e quindi vorrei sperimentare altri metodi e altre tecniche.
In un altro 3D di questa sezione, ci sono dei "professori" che dissertano ad alto livello teorico di questa materia, ma in centinaia e centinaia di pagine non ho trovato la descrizione di un, dicasi uno, TS automatico efficente.
Qualche "professore" sostiene che sia impossibile arrivare al mio obiettivo ma, come S.Tommaso, non mi basta che lo dica lui, mi ci devo convincere da solo !
Per ora rimango convinto che una strada, per quanto lunga e impervia, si possa trovare e quindi, oltre a cercarla privatamente, con questo 3D chiedo l'aiuto di altri che siano alla ricerca della medesima strada.
Forse, unendo i cervelli, le energie e le volontà costruttive, arriveremo alla meta.
 
In attesa di ultriori messe a punto, il TS basato sul momento del MACD e' operativo su Eurostoxx50.
La prima entrata e' avvenuta alle 08.00 del giorno 16/2, allo scattare del segnale LONG.
Sul precedente segnale SHORT il TS era in stand-by in quanto il segnale era scattato prima che il TS fosse pronto.
Il prezzo di entrata LONG e' di 3450, pari alla quotazione di apertura piu' la commissione (3447 + 3).
Sull'apertura della candela odierna il TS era in gain di 8 punti.
La situazione e' illustrata in grafico dove, oltre al segnale MACD, sono riportate le scansioni dei cicli Tracy.
Il segnale LONG sembra partito con un certo ritardo, ma se il trend prosegue...
 

Allegati

  • Euro50Mar15Daily.png
    Euro50Mar15Daily.png
    37,6 KB · Visite: 318
Ultima modifica:

Users who are viewing this thread

Back
Alto