TRADING AUTOMATICO

-FLUSSO DI ELABORAZIONE DI UN TRADING SYSTEM-

 

  • EA O EXPERT ADVISOR, ROBOT SONO LA STESSA IDENTICA COSA : TRADING SYSTEMS.

pastedGraphic_1.png

PRESUPPOSTI DEL TRADING AUTOMATICO

pastedGraphic_2.png

  • Questo in ogni caso è un bene o un male, il “senno di poi” se è un male, è però necessario perché senza di questo non saremo semplicemente in grado di fare qualsiasi tipo di sviluppo, e una parte di questo all’interno del processo di sviluppo del sistema svolge un ruolo importante, quello che noi andiamo a pensare in ogni caso, grazie al senno di poi, svolge un ruolo fondamentale, è la base del nostro sistema di valutazione.
  • Un’altra cosa ancora importante, è la terza,  non dico che è la più importante anche se ha un suo peso enorme: ogni sistema automatico può fallire o fallirà.
  • Perché questo?
  • I sistemi di trading automatico sono elaborati con una quantità limitata di dati, è il fatto che mercato può cambiare e in una quantità potenzialmente infinita , rende l’eventuale fallimento una cosa certa, da un certo punto in avanti.
  • Non si può mai, e non si dovrebbe mai pensare che un trading system non potrà fallire.
  • Perché ?
  • Perché questo sicuramente fallirà, assolutamente, non esiste il sistema di trading automatico perfetto.
  • Perché fallirà ?
  • Perché comunque abbiamo elaborato un sistema con il “senno di poi” e legandolo poi al primo presupposto (IL FUTURO E’ SCONOSCIUTO), è il fatto che noi abbiamo elaborato un sistema guardando il passato, ma siccome il futuro non lo conosciamo e il futuro può cambiare e anche di molto, lavorare in maniera assolutamente diversa rispetto a quello che è stato elaborato, sicuramente il nostro expert advisor alla fine andrà a morire.
  • Dopo studieremo le modalità per conservarlo più a vita possibile, ma dobbiamo sempre avere presente questo fatto.

Ultimo c’è una forte componente psicologica.

  • Raso al suolo il concetto che nel trading automatico non c’è componente psicologica, diciamo una cosa fondamentale:
  • Non c’è una componente psicologica uguale a quella che ha, a livello di stress psicologico,  il trader discrezionale, diciamo che quel tipo di componente psicologica è giusto dire che nel trading automatico non ha una componente psicologica ma relativamente alla componente psicologica che ha il trader discrezionale, in ogni caso c’è una forte componente psicologica, che sta tutta da un’altra parte, e che dovremo andare a gestire.
  • Perché la dobbiamo gestire?
  • Perché si pensa che nel caso il lavoro lo fa una macchina, questo è vero, le operazioni le fa una macchina, per cui per noi la componente psicologica legata alla singola operazione NON c’è. Di fatto comunque il trading system sei tu che lo gestisci, è dato che sei te che lo gestisci, questo comporta implicazioni psicologiche sul fatto e in funzione di come la strategia sta funzionando, soprattutto se sei tu l’inventore della strategia, sei intimamente ed emotivamente implicato nel risultato (specialmente se sei tu che costruisci la strategia).
  • Quindi hai una strategia che tu hai elaborato, e hai visto che potrebbe fare certi tipi di prestazione, ma se la strategia NON funziona come dovrebbe, lì comincia una componente psicologica molto forte e quindi, in quel momento c’è magari subito l’intenzione di fermare la strategia nella piattaforma, perchè andiamo incontro a periodo di perdite forti e forse consecutive, tuttavia però forse lo andiamo a bloccare proprio nel momento in cui, forse avremmo cominciato a guadagnare dal giorno dopo.
  • La frase “non tenere le mani in tasca” è veramente uno dei motivi di insuccesso del trader automatico, uno dei più grossi motivi di insuccesso del trading automatico.
  • La componente psicologica va gestita e va comunque presa in considerazione ed elaborata.

Ingredienti 

  • Quali sono gli ingredienti principali che servono per confezionare un trading system valido, in modo autonomo?

In questa lezione andiamo a vedere in linea di massima, quali sono gli ingredienti principali che ci servono per elaborare e confezionare un trading system valido.

pastedGraphic_3.png

Innanzitutto è fondamentale conoscere a fondo le basi e i pilastri del trading discrezionale, quella che è la gestione del trade – il money management e tutta la disciplina del trading.

Il diagramma di flusso (workflow) del trader sistematico può essere suddiviso in queste 5 fasi :

  1. Fase della progettazione: in questa fase avviene l’osservazione del mercato, l’elaborazione di idee, una strategia e un trading plan (piano d’azione).
  1. Fase di trasformazione delle idee di trading in codice: questa è proprio la fase di scrittura del trading system
  1. Test del trading system
  1. Ottimizzazione della strategia:
  1. Creazione e gestione del portafoglio (mix di strategie/strumenti)

PRIMA DI VEDERE LA FASE DI PROGETTAZIONE E’ BENE GUARDARE L’APPROCCIO GIUSTO DA AVERE IN QUESTA PRIMA FASE DEL WORKFLOW:

pastedGraphic_4.png

l’approcio alla progettazione è sostanzialmente fatta di questi 2 metodi:

  • METODO SCIENTIFICO 

Il primo approccio applica la ragione e il ragionamento a tutto il percorso, per arrivare alla formulazione della strategia di trading, ogni passaggio risponde a un evento oggettivo, cioè c’è una risposta oggettiva ad ogni azione che andiamo a fare; ogni elemento della strategia deve essere studiato prima di fare il back-test e deve avere un senso legato allo studio dei mercati, dell’analisi tecnica etc.. in sostanza utilizzando questo approccio viene formulata un’ipotesi, quindi si verifica se questa è vera e quindi redditizia e robusta, oppure se è falsa e quindi non tradabile.

Se la teoria originale viene confermata si avvia un processo di ulteriore sviluppo e perfezionamento.

Questo metodo scientifico che è un approccio diciamo STEP-BY-STEP, parte dalla nostra conoscenza dell’analisi tecnica e dallo studio dei mercati, e il fatto di fare e di avere una tesi e di andarla a verificare in un secondo momento nel mercato, ha il vantaggio più grosso che è quello che PER IL FATTO CHE SEI TU CHE STAI STUDIANDO QUESTA COSA, sei in grado di comprendere e apprezzare tutti i dettagli della strategia, inoltre dato che sei tu l’operatore sarai in grado di migliorare continuamente questo sistema.

  • METODO IMPIRICO

Questo approccio tiene in considerazione gli aspetti legati alla ragione non dello sviluppatore, ma affidandosi all’intelligenza artificiale del computer; questo metodo ha preso piede grazie allo sviluppo e al perfezionamento di una grandissima gamma di strumenti informatici e non solo dei pc, ma di quelle che sono le reti neurali, quelli che sono i modelli matematici che imitano in qualche modo, le proprietà dei neuroni biologici viventi, che sono veramente nel cervello.

Queste funzionano così:  abbiamo un segnale d’ingresso, un’elaborazione e un’uscita in diversi segnali, ossia in diverse soluzioni.

Abbiamo questo sistema di costruzione che si chiama data-mining, che è un’estrazione del sapere  e una conoscenza a partire da una grande quantità di dati (pensa a ciò che fa Google, che è un data-mining, ha un enorme bacino di dati, tu chiedi qualcosa e lui ti estrae la risposta da questa grande quantità di dati).

E dopo ci sono quelli che sono la gli algoritmi genetici, algoritmi di elaborazione matematica genetica – cioè vuol dire che a singoli steps vanno ad elaborare matematicamente un certo dato, e man a mano in funzione di generazioni, lo va a rielaborare e migliorare (ottimizzazione).

Esistono dei programmi che possono rielaborare i sistemi di trading automatico con queste modalità, e ci permettono di farlo (li vedremo).

Tutte queste funzioni a partire dalla rete neurale, al data-mining fino agli algoritmi genetici, con dei software particolari abbiamo la possibilità di rielaborare sistemi di trading automatico, in automatico appunto.

Questa doppia automaticità viene fatta grazie a questi software, che vengono messi a disposizione, e che mettono insieme questi 3 concetti:

– Reti neurali

– Data-mining

– Algoritmo genetico

Sostanzialmente prende i vari pezzettini di analisi tecnica, per cui possono essere degli indicatori, dei pattern candlestick, oppure quelle che sono le azioni del prezzo oppure quelli che sono i valori di tempo (apertura e chiusura, ad esempio), ognuno di questi elementi diventa un pezzettino, questo pezzettino viene messo dentro sacchettino, chiamiamolo così , e viene mescolato e ripescato, quindi è da questo pescaggio vengono fuori delle strategie che fondamentalmente sono nuove, e possono essere anche profittevoli.

Questi sistemi hanno il vantaggio che vengono lavorati dal computer, quindi non lo facciamo noi ma lo fa il robot, abbiamo poi anche degli svantaggi, che possono essere il tempo necessario richiesto perchè vengano preparate delle strategie profittevoli, oppure possono essere elaborate strategie solo ottimizzate, cioè che  sono troppo unite a quelle che è la serie storica dei dati, quindi hanno una prestazione che è troppo in riferimento al periodo di mercato in cui sono state testate.

In funzione dei software utilizzati e della nostra bravura, tante volte è anche difficile andarle a studiare o a ripetere tali strategie.

In ogni caso il METODO EMPIRICO è un approccio che andremo a studiare e ad approfondire.0

Andremo ad utilizzare un TOOL / software che si chiama STRATEGY QUANT, che è un elaboratore di strategie in automatico.

Il corso di formazione è basato principalmente sull’elaborazione delle strategie sul metodo scientifico, ma nelle prossime due lezioni approfondiremo comunque il metodo empirico.

Scientificamente cosa dobbiamo fare ?

pastedGraphic_5.png

E’ fondamentale e utile conoscere le basi dell’analisi tecnica e i pilastri del trading discrezionale.

Come ogni cosa, una strategia di trading inizia con un’idea che deve scaturire dalla conoscenza della lettura di mercato e dalla loro osservazione, oltre che dalla nostra esperienza in analisi; quando si studia il grafico si va alla ricerca di configurazioni, per cui possono essere un pattern candlesticks o un incrocio di medie ad esempio, una situazione che possa dare un segnale di trading.

E cosa devo fare ?

Devo andare a vedere manualmente nel passato, se questa condizione si è già verificata.

Allora se si è già verificata, andiamo a sfruttare la teoria della ripetitività dei mercati, cioè della condizione umana di uniformare i comportamenti a diversi stimoli, e su questo, dato che troviamo nel  passato altri segnali di trading basati sulla stessa strategia, possibilmente anche nel futuro noi abbiamo una possibilità che questa strategia possa funzionare.

Quindi dobbiamo veramente osservare e avere una buona base di osservazione del mercato (dobbiamo avere un pò teoria) ma comunque, solo un’idea buona di trading avrà maggiori probabilità di diventare un sistema di trading proficuo (possiamo conoscere tutta l’analisi tecnica che vogliamo, ma se non ci vengono le idee non vengono fuori le strategie).

Per tirare fuori idee potrebbe essere necessario seguire un processo di sviluppo che ci può dare una mano per tirare fuori dell’idee.

In ogni caso dobbiamo partire da una base, anche quando ci mettiamo ad analizzare i mercati e una regola importante che dobbiamo sempre tenere a mente è quella di rimanere umili e non pensare di costruire la strategia che ci fa  diventare ricco.

Dobbiamo comunque avere l’idea di costruire una strategia che come idea fondamentale non sia perdente intanto, dopo se ci farà guadagnare tanto meglio.

Durante il nostro corso di trading automatico il nostro obiettivo non è costruire il miglior sistema di trading automatico, ma nemmeno quello di costruire un sistema che promette profitti eccezionali.

Andiamo invece a capire come si costruisce un sistema di trading partendo da un’idea valida e soprattutto, anche se è valida (ma anche se è mezza valida oppure un po’ valida) come si può andare a migliorarla per ottenere un buon risultato o una buona robustezza della strategia.

COSA E’ LA ROBUSTEZZA DELLA STRATEGIA ?

Lo vedremo 100 volte in questo periodo, comunque così tanto per accennare alla robustezza, vuol dire avere una strategia che è efficace nel tempo e soprattutto nei vari time frame, nei vari cross e nelle varie situazioni di mercato: che dovrebbe funzionare bene quindi in tutte le condizioni, questo è l’indice di robustezza di una strategia.

QUALE E’ IL PROCESSO DI SVILUPPO PER COSTRUIRE IL NOSTRO TRADING SYSTEM?

pastedGraphic_6.png

Ci sono questi 4 passaggi fondamentali:

1) TRASFORMARE L’IDEA IN REGOLE PRECISE E COMPLETE (LA STRATEGIA).

Trasformare quell’idea in regole precise e complete e questo diventa proprio la strategia.

Regole chiaramente oggettive, quindi non basate sulla nostra ispirazione.

2) SCRIVI LE REGOLE IN SEQUENZA E IN UNA FORMA OGGETTIVA

Questo passaggio è la traduzione di quello che io vedo nel monitor e nel mercato in un linguaggio di programmazione.

Quindi la strategia può essere semplice o complessa  quanto si vuole, ma la sua semplicità o complessità non è importante, ciò che conta è che sia possibile scrivere ed esplicare la strategia completamente in modo coerente – posso avere tutte le strategie semplici o complesse che voglio, ma l’importante è che queste idee possano essere scritte e quindi possano essere tradotte in un linguaggio di programmazione.

COME FACCIO A FARE QUESTO ?

Devo capire cosa mi permette di fare il linguaggio di programmazione, è una cosa che si corre dietro l’una con l’altra, le due cose sono estremamente collegate, devo avere la cultura di sapere cosa posso fare con la programmazione e devo avere anche la cultura di come fare a tirare fuori delle idee che possano essere più oggettive possibili.

Da qui vado a fare uno o più test preliminari.

3) ESEGUI UN TEST PRELIMINARE

Uno o più test preliminari, nel trading discrezionale prima lo si faceva a mano, quindi vista l’opportunità di entrata, prima si va a vedere nel grafico all’indietro se quella condizione si è verificata altre volte e questo fino a ieri lo facevamo a mano, o a occhio più o meno.

Adesso con il computer lo facciamo in automatico e velocissimamente.

Quindi sono anche necessari molti test preliminare prima di capire se la strategia funziona bene.

Nei test preliminari andiamo a vedere due cose fondamentali:

– andiamo a vedere se quello che abbiamo scritto in maniera oggettiva viene eseguita  nel mercato, e quindi nell’expert advisor,  e soprattutto

– se quello che abbiamo scritto è senza errori, quindi scritto bene anche a livello sintattico.

Queste due operazioni le dobbiamo fare appena abbiamo finito di scrivere la  nostra strategia.

4) OTTIMIZZAZIONE DELLA STRATEGIA

Ottimizzazione è il perfezionamento della nostra strategia per fare in modo che sia più performante e sia più robusta possibile, così che possa funzionare meglio nei vari cross, nei vari time frame, e quindi nei vari mercati.

COSA POSSIAMO AGGIUNGERE ?

pastedGraphic_7.png

È necessario anche per valutare la robustezza della strategia e la sua capacità di produrre profitti e questa cosa prima la abbiamo fatta così a “livello empirico” al punto precedente (punto 4).

Qui adesso lo facciamo in maniera ancora più profonda e avremo dei metodi che si chiamano WALK- FORWARD ANALYSIS,  dopo di che, fatti questi tipi di  test, allora possiamo utilizzare la strategia e andremo a metterla in real-time in un conto DEMO.

Andiamo a monitorare le sue performance nel tempo, soprattutto in questa prima fase di conto demo.

Finito questa piccola fase su conto demo, se tutto funziona come previsto, allora la possiamo andare a metterla su un conto reale.

Ma anche se sta funzionando nel conto reale, dobbiamo comunque continuamente monitorare le sue performance nel tempo – sfatiamo un’altra pubblicità, diciamo che non è vero che quando il sistema di trading automatico è pronto  non dobbiamo più occuparcene.

In realtà dobbiamo sempre tenerlo sotto controllo, e testarlo, non perché lui non funziona oppure perché l’abbiamo scritto male (per carità, se abbiamo fatto un buon lavoro precedentemente quello non è il caso) ma dobbiamo monitorare che sia profittevole nel tempo e quindi più che monitorare l’expert advisor, dobbiamo monitorare il mercato che sia coerente rispetto a come abbiamo scritto l’EA.

Se così non fosse, allora abbiamo anche la possibilità di migliorare e perfezionare la strategia successivamente.

 

GUARDIAMO ORA IL GRAFICO DI FLUSSO.

pastedGraphic_8.png

  1. L’ IDEA NASCE DA UN METODO SCIENTIFICO (RAGIONAMENTO NOSTRO) O EMPIRICO (DA ELABORAZIONE DI UN SOFTWARE).
  2. TRADUCIAMO IN CODICE L’IDEA DI TRADING
  3. FACCIAMO UN PRIMO BACKTEST
  4. BACKTEST SU CONTO DEMO
  5. BACKTEST SU CONTO REALE
  6. METTIAMO LA STRATEGIA A MERCATO REALE

 

Partiamo dal punto 1.

 

pastedGraphic_9.png

Partiamo dall’osservazione dei mercati per creare un’idea di strategia, attraverso l’analisi tecnica e la sperimentazione che facciamo nel trading discrezionale, e quindi all’attenta osservazione dei mercati, arrivo a formulare la mia idea di trading.

E qui per esempio, abbiamo questi 3 grafici (nella slide) che danno delle filosofie di esempio di strategia:

Nel primo grafico, ad esempio, assistiamo all’incrocio di due medie mobili e sappiamo che quando due medie mobili si incrociano tendenzialmente possono darci un segnale di trading , oppure possono essere dei breakout di pattern (seconda immagine nella slide) quindi abbiamo questi livelli, che magari sono i livelli di apertura o chiusura giornalieri, o apertura e chiusura del giorno prima, o apertura e chiusura di un primo orario della giornata, nel momento in cui il prezzo esce da questi livelli, ci dà un segnale di trading. Oppure c’è un pattern candlestick (terzo esempio nella slide) è un segnale tecnico che si chiama inside, che mi dà indicazioni di entrata al di fuori della candela.

Questi esempi sono le nostre filosofie di elaborazione di idee di strategia.

Questo è quello che dobbiamo fare inizialmente.

ATTENZIONE !!

pastedGraphic_10.png

Noi possiamo anche vedere delle condizioni di mercato che ci indicano azioni di entrata/uscita, però non tutto posso fare, perché non è possibile rendere oggettiva quella particolare condizione di mercato, e non è possibile rendere oggettiva in maniera formale matematica quella condizione di mercato.

Chi ha un po’ di dimestichezza nel trading discrezionale diciamo che le configurazioni tipo i triangoli, i rettangoli, le flags, i tripli massimi e minimi, la testa e spalle.. tutte queste configurazioni che noi andiamo a vedere nel grafico e sono fondamentalmente di tipo visuale, ed è molto difficile, praticamente impossibile definirle in maniera oggettiva.

Quindi, queste e altri tipi di configurazioni (vedi lo stesso triangolo, che è stato il mio cavallo di battaglia nel trading discrezionale e che uso spesso) nel trading automatico è difficile individuarlo, vederlo e metterlo su base matematica: NON TUTTO POSSO FARE.

E non tutto posso fare è in funzione della nostra cultura di programmazione: chiaramente più cultura di programmazione abbiamo, più utilizzo di strumenti (più tools di programmazione usiamo) e possiamo aumentare la nostra possibilità di scrivere ed elaborare strategie (fino a un certo punto, perché tante cose non si possono fare).

In ogni caso dobbiamo andare a raccogliere le regole.

pastedGraphic_11.png

Visto che abbiamo fatto un’analisi del mercato e ci sono le modalità in cui effettivamente possono andare a determinare degli segnali mercato, visto che comunque non tutto possono fare, in ogni caso devo andare a raccogliere le regole.

Queste regole devo scriverle in modo che la strategia di trading possa essere tradotta nel linguaggio di formattazione che il software ci dà a disposizione, in modo che io  la possa scrivere e dopo fare dei back-test di funzionamento.

Una cosa da fare assolutamente è che le regole che compongono la strategia, devono essere considerate una volta.

Quindi, se ci sono condizioni di mercato che vengono insieme, in ogni caso io devo definirle una volta;  e anche la sequenza di queste regole è importante:

– tipo una media semplice corta che va a incrociare una media lunga, ma il segnale di trading magari me lo dà un’altra condizione, che può essere un’altra candela o un breakout, dobbiamo in ogni caso scrivere e considerare le regole una alla volta.

Infatti una delle cose più pericolose per il trader è non specificare completamente tutte le regole della strategia: devo assolutamente scriverla tutta e in maniera sequenziale, e qualche volta è anche importante la sequenza in cui scrivo la strategia.

Un buon metodo per rendere oggettiva la nostra strategia è quella di scriverla su un bloc-notes (di carta o virtuale nel pc)  nel momento in cui scrivo, ad esempio:

  1. Faccio questo
  2. Faccio questo
  3. Faccio questo e così via..

E’ il programma (che fa questo o quell’altro), così se riesco a scrivere tutti gli steps diventa molto più facile scrivere la nostra strategia.

Se l’idea di trading non può essere ridotta a un insieme di regole precise, chiaramente la devo gettare via perché se non si può scrivere, non è adatta al trading automatico.

Ecco perché è importante la progettazione e lo studio, è importante anche la conoscenza di come funziona il prezzo e quale indicazione ti dà: perché più conosco bene questo e più riesco a rendere oggettiva la mia strategia, e quindi avere cura in questa fase mi fa risparmiare molto tempo: non vado scrivere a casaccio, ma scriverò secondo le note e il diagramma che mi sono progettato in precedenza.

Nella traduzione della strategia in linguaggio software dobbiamo tenere in considerazione alcuni aspetti che sono fondamentali:

 

pastedGraphic_12.png

Nel lavoro di programmazione dobbiamo distinguere bene questi aspetti.

Dobbiamo considerare questi 5 aspetti che sono fondamentali (dove non si può fare a meno) che sono:

– l’apertura del trade

– la chiusura del trade

– lo stop loss

– il profit (target)

– il Money management

Questo passo ovviamente è legato alla programmazione perché, per essere verificabile la strategia, dobbiamo tradurla in un linguaggio comprensibile alla piattaforma di trading (noi usiamo specificatamente la Metatrader 4) e quindi senza una versione SCRIPT della strategia, non è possibile chiaramente fare il trading automatico, se non riusciamo a creare il file con gli script dentro, chiaramente non riusciamo ad automatizzarla.

Per scrivere la strategia dobbiamo utilizzare il linguaggio della Metatrader 4, è in MQL, è un linguaggio particolare che è molto simile al C++,  comunque è un linguaggio che ha una sua sintassi, abbastanza semplice, e dove comunque ci sono un molte risorse on line, che dopo vedremo insieme, che ci dicono chiaramente come fare una cosa o un’altra.

Il quarto modulo del corso di formazione è dedicato alla programmazione MQL.

Non serve imparare tutta la sintassi e il linguaggio a memoria, serve chiaramente capire i principi fondamentali della scrittura, quelle che sono le varie fasi della scrittura del trading system, e dopo andare ad aggiungere i vari pezzettini che capisco essere importanti, dove vado cioè a inserire gli script importanti che vanno inseriti fondamentalmente in tutti (o quasi) i trading systems (il 90%), e dopo ci saranno degli altri script da scrivere e inserire, che interesseranno specificatamente la tua strategia.

Quindi dobbiamo valutare questi 5 passaggi (steps) riguardanti inizialmente la strategia, ma chiaramente dopo dobbiamo definirli sia a livello stategico, sia nella scrittura del nostro trading system.

 

I COMPONENTI DEL PROGETTO

 

pastedGraphic_13.png

Entriamo ancora di più in quelli che sono i componenti del progetto.

Per tradurre in modo preciso le regole della strategia, bisogna identificare i componenti precisi della strategia che identificano ogni regola.

Questo è un aspetto del trading sistematico che richiede un po’ di pratica ed esperienza, quello di andare a vedere quelli che sono i punti che dopo andiamo a scrivere.

Vediamo un esempio che adesso andiamo a fare insieme, di quello che potrebbe essere una semplice strategia trend-following più una componente di breakout.

 

pastedGraphic_14.png

Lo scopo è quello di sfruttare questo importante segnale di trading (incrocio medie lenta con una veloce).

Vediamo cosa è questo segnale di trading ?

Queste due linee che passano sono due medie mobili, una media mobile più lenta (verde) e una media veloce (arancione).

Sempre da analisi tecnica, sappiamo che nel momento in cui la media veloce incrocia la media lenta verso l’alto, questo incrocio genera un segnale di trading di tipo long.

Questa particolare condizione è possibile scriverla, è possibile renderla in maniera matematica, perché sono dei numeri che posso identificare pefettamente.

Ma quando entro a mercato esattamente ?

Dobbiamo creare un filtro, per cui una condizione che mi dice che sono sicuro che da qui in poi, posso entrare a mercato.

Nel momento in cui si verifica l’incrocio, la nostra strategia ad esempio, prevede che entriamo a mercato al breakout (rottura) del livello massimo della candela nella quale si crea l’incrocio delle medie.

Nel momento in cui ho una candela che mi sorpassa questo livello di massimo (effettua il breakout) della candela dove è avvenuto l’incrocio delle medie, questo è il mio segnale di entrata.

Questa cosa che abbiamo visto a livello di studio discrezionale, la dobbiamo scrivere.

Quindi abbiamo 4 frasi, e vediamo che abbiamo:

– una media mobile lenta a 50 periodi

– una media mobile veloce a 21 periodi

– una rottura di livello del prezzo

– e dopo gli diamo anche 2 indicazioni di stop loss a (SL = 50 punti) e di take profit (target = 100 punti).

E’ importante comunque studiare il mercato, devo trovare dei punti esatti, devo trovare dei punti e delle situazioni oggettive, nel momento in cui le trovo, solo allora posso scrivere la mia strategia.

 

DIAGRAMMA DI FLUSSO DEL PROGRAMMA

pastedGraphic_15.png

E’ come funziona il programma (expert advisor) al suo interno, e di conseguenza come io devo scrivere le regole.

Il linguaggio utilizzato per la stesura abbiamo visto che per la Metatrader 4 è l’ MQL.

Tutte le regole che abbiamo visto precedentemente (incrocio medie, rottura massimo della candela dove avviene incrocio etc…)  devo considerarle sempre una volta.

Cosa succede ?

Nel momento in cui vado a scrivere le regole, devono considerare un po’ anche come ragiona il mio Expert advisor all’interno del software, e quindi all’interno della programmazione.

Cosa fà il software ?

Legge il dato,  quindi se legge il dato, io devo dargli delle indicazioni di lettura del dato, nel caso di prima il dato era l’incrocio delle due medie mobili.

Il dato è: la media veloce sta sorpassando la media lenta, si stanno incrociando ?

Allora qui abbiamo due risposte:

Il diagramma di flusso scende, è approvato il dato?

– se si allora eseguo un’azione.

– se no vado a rileggere il dato.

Che dato rileggerò ?

Rileggerò il dato della prossima candela oppure, addirittura in maniera vicina, potrebbe rileggere il dato del prossimo tick (è la variazione di prezzo nel tempo, o unità di misura del prezzo),  quando osserviamo dal vivo il prezzo, questo cambia di secondo in secondo, anche più veloce.

Ogni piccola variazione che noi vediamo (la vediamo molto bene nei time frame a 1 minuto, ad esempio) posso dire al programma di leggere il  dato.

Il programma può approvare il dato o non approvarlo (in funzione ad esempio, se la media mobile veloce ha incrociato quella lenta o meno).

– Se il dato viene approvato, il software eseguirà la prossima azione che noi abbiamo programmato.

– Se il dato non viene approvato, il software torna indietro e rileggerà il dato.

Posso dirgli ad esempio, di rileggere il dato della prossima candela, o il dato del prossimo tick, e se sono su un time frame settimanale, ad esempio, vuol dire che il prossimo dato lo leggerà la prossima settimana (questi sono parametri che impostiamo noi in fase di programmazione dell’expert advisor).

In ogni caso, se il dato viene approvato, quindi nel caso di prima l’incrocio della media avviene, allora il software farà un’altra azione.

Che farà ?

Passerà alla seconda regola che abbiamo scritto nel programma.

Il programma funziona così, lui ragiona in una strada retta o in una deviazione che torna indietro alla prima condizione che gli abbiamo dato (l’incrocio delle medie era la prima condizione che gli avevamo dato).

Questo è il ragionamento che fa il software e il ragionamento che noi dobbiamo seguire quando andiamo a scrivere un expert advisor.

A questo punto lo script deve essere testato:

pastedGraphic_16.png

Gli obiettivi di back-test sono quindi:

  1. Nella prima fase bisogna accertarsi che lo script esegua in modo coerente la strategia di trading per cui è stato concepito (nell’esempio precedente, lo script acquista il segnale long quando avviene l’incrocio della media mobile veloce su quella più lenta, invece il segnale è short quando avviene l’esatto contrario, cioè la media più lenta incrocia a ribasso la media più veloce).
  1. Nella seconda fase dobbiamo ottenere una valutazione preliminare delle prestazioni di trading, facendo appunto un back-test preliminare, e lo andiamo a vedere sia visivamente e sia a livello di risultato (perché quando facciamo il back-test abbiamo anche tutta la lista delle operazioni che la piattaforma ha eseguito, quindi riusciamo a controllare perfettamente se il nostro trading system fa esattamente ciò per cui è stato programmato).

Inoltre nella piattaforma di trading, abbiamo anche uno strumento che ci permette di controllare se ci sono errori di programmazione a livello sintattico, e quindi eventualmente da correggere.

Il secondo back-test è quello che serve per fare una valutazione preliminare, prendendo il range storico delle operazioni da valutare, e vedo in prima battuta cosa và a fare: già da questo primo risultato di test possiamo fare delle considerazioni sull’EA che abbiamo appena stato scritto.

Fatti i back-test, dobbiamo andare a ottimizzare la nostra strategia.

 

OTTIMIZZARE UNA STRATEGIA significa rendere il suo utilizzo il più efficace possibile.

L’ottimizzazione dovrebbe portare a un aumento dei rendimenti e quindi i profitti, ma allo stesso tempo limitare le perdite e ridurre il rischio, rendendolo il più sostenibile possibile.

L’uso più efficace di una strategia di trading sta nel mantenere il più alto e stabile rapporto rischio/rendimento

pastedGraphic_17.png

Questo è uno degli obiettivi principali di una strategia di trading automatico.

Come faccio a fare questo?

Lo facciamo nella fase di ottimizzazione.Nella ottimizzazione andiamo a migliorare ulteriormente la sua prestazione.

L’ottimizzazione può essere complicata, e per facilitarla è possibile utilizzare software interni alla metatrader 4, o anche esterni (che vedremo più avanti).

Non è possibile utilizzare una strategia senza sapere cosa sta facendo l’ottimizzazione (quando eseguo l’ottimizzazione devo conoscere quali parametri andare a modificare e come, in modo che la mia strategia possa essere profittevole ma che non abbia altri difetti, come ad esempio l’OVER-FITTING – l’eccessivo adattamento della strategia al periodo storico in cui la stai testando, perché se è stata elaborata troppo su misura per il periodo storico in esame, per tanto quando la metterai a mercato sarà facile che questa strategia fallisca (magari dopo 1-2 anni) perché il mercato ha cambiato le sue condizioni anche di poco, diverse da quelle per cui è stata elaborata la strategia, e questi cambiamenti avvengono spesso).

L’ottimizzazione è una fase delicata e difficile, soprattutto nella modalità in cui tu la fai, e i parametri che andiamo a mettere in gioco.

Per l’ottimizzazione, abbiamo degli altri sistemi che vanno fatti successivamente:

pastedGraphic_18.png

La WFA è un processo che va fatto alla fine dello sviluppo della strategia di trading e rappresenta la parte più critica del processo.

Andiamo a vedere subito, se abbiamo fatto un buon lavoro o meno in fase di precedente ottimizzazione, perché questo tipo di test “identifica” se siamo andati solo a ottimizzare direttamente, senza ottimizzare i passaggi precedentemente.

Se invece ho fatto un buon lavoro ci aiuta a capire meglio come funzionerà la nostra strategia nel futuro.

Questo tipo di analisi WFA (camminare all’indietro) ottimizza e testa , ad esempio 3 mesi di mercato (ad esempio, febbraio-marzo-aprile) e va a fare un test nel mese successivo (quindi, ad esempio maggio, in un mese senza ottimizzazione).

Dopo andiamo a fare in questo processo la nostra valutazione, e dopo torniamo indietro e andiamo a  ottimizzare i 3 mesi precedenti (marzo–aprile–maggio) e andiamo a testare giugno, andiamo avanti e indietro a fare delle piccole ottimizzazioni e dei piccoli test , e facendo così andiamo a capire abbastanza bene come funziona la nostra strategia e se la ho ottimizzata, dandomi così un buon “barometro”, strumento di misura di come funzionerà la strategia quando la metterò a mercato dal vivo.

Questo tipo di test (processo) ci dà molti vantaggi:

– oltre a capire se la strategia è ottimizzata.

– ci permette di capire, dal momento in cui la mettiamo a mercato, quanto e come metterci le mani in futuro.

Questo è un test che và fatto e valutato molto bene.

 

pastedGraphic_19.png

pastedGraphic_20.png

  • Si possono costruire anche “strategie a tempo”, cioè farle funzionare per un periodo corto (e non anni) e sappiamo che però in un certo momento vanno fermate, perché noi conosciamo quel tipo di mercato (esempio mercato forex) e le condizioni di mercato cambiano – alcuni tipi di mercati che hanno una periodicità più marcata, come gli ETF o l’azionario ad esempio, sono più adatti a questo tipo di “strategie di trading a tempo”.
  • Questo richiede molta esperienza e disciplina: la disciplina non è legata solo alla perdita, ma dobbiamo essere disciplinati anche quando la strategia ha risultati positivi, ma notevolmente diversi da quelli che abbiamo elaborato (dobbiamo comunque valutare la strategia sia quando perde, sia quando guadagna molto di più di quanto avevamo previsto in fase di programmazione, dobbiamo sempre capire il perché delle cose; paradossalmente anche li c’è qualcosa che non va, anche se stiamo guadagnando al momento, tutte funzioni che dobbiamo andare a gestire).
  • COME FACCIAMO TUTTO QUESTO ?

pastedGraphic_21.png

Devi sempre avere un punto di vista oggettivo e molto analitico su ciò che sta facendo la tua strategia di trading.

Il fattore di successo principale di una strategia di trading, non è la strategia di trading in sé stessa, ma la tua  conoscenza della strategia e quanto la riesci a domare mentre è a mercato.

Quando hai questa padronanza, cioè la conoscenza del tuo trading system e di come si sta comportando all’interno del mercato (avere il pieno controllo della tua strategia è fondamentale).

 

RIASSUMIAMO:

pastedGraphic_22.png

  • Partiamo da un’idea di trading che abbiamo detto può avere base scientifica o empirica (O GENETICO) per formulare la strategia.
  • Traduciamo la strategia IN CODICE SORGENTE in linguaggio MQL (utilizziamo uno strumento che ci permette di scrivere le nostre strategia semplicemente e veloce che si chiama EA WIZARD , inoltre tale programma ci fa da base culturale per andare in un secondo momento a scrivere la nostra strategia in MQL (già più complesso).
  • Poi si fa un Back-test preliminare.
  • Se non va bene, dobbiamo andare a rivedere il nostro codice script (verificare errori di scrittura script).
  • Se invece funziona bene, andiamo a fare il successivo back-test multi-mercato e multi-periodo, e verifichiamo come la strategia si sarebbe comportata in passato nei vari cross e nei diversi time frames.
  • Abbiamo 2 condizioni:
  • se i risultati del back-test sono negativi nel multi-periodo, vuol dire che c’è qualcosa che non va bene a livello di idea di formulazione di strategia (potrebbe essere il momento di abbandonare l’idea e valutarne un’altra)
  • Se invece funziona, andiamo a ottimizzare il multi-mercato e multi-periodo.
  • Anche in questa fase, se l’ottimizzazione è a buon fine, possiamo considerare di andare avanti nel flusso di lavoro di WFA, o in caso contrario possiamo prendere in considerazione di fermare la strategia e andare a vedere di nuovo quale è la formulazione della strategia.
  • La WFA è l’ottimizzazione (che comprende anche i test preliminari precedenti), che ci indica se l’ottimizzazione che abbiamo fatto è stata una sovra-ottimizzazione o una buona ottimizzazione.
  • Se l’esito della WFA è positivo, andiamo avanti e andiamo a mettere in real-time (su conto demo) la nostra strategia, se invece non dà esiti positivi, ci dobbiamo fermare e andare a rivedere la strategia o cambiarla completamente.
  • Se il test su conto demo (esempio 2-3 mesi di test) dimostra risultati coerenti, con quanto avevamo deciso nella strategia inizialmente, allora andiamo a testarla nel mercato reale (conto Real).
  • Anche qui dobbiamo fare dei controlli periodici sulla strategia di volta in volta (andando ad affinare la nostra strategia).

Abbiamo visto tutto il processo completo per la creazione di una strategia di trading automatizzata.