Un grazie di cuore a Giulia e a Tex che mi hanno restituito i loro feedback in modo cosi' rapido.
I consigli di Tex sono preziosi non perche' costituiscano qualcosa di cui non ero cosciente ma per l'esperienza da cui scaturiscano.
Spero che vorra intervenire ancora, su aspetti pratici, come quelli che sottopongo qui.
A Giulia, che spero possa aiutarmi a "rimettere in gioco le metodologie", con interventi diretti o con segnalazione di suoi precedenti interventi, cerco di porre subito una "domanda diretta, specifica e circostanziata", approfittando della sua disponibilità.
Ecco dunque un caso concreto di TS che mettero' in azione a partire da stasera, alla riapertura delle quotazioni dell 'EURUSD, previa attesa di qualche minuto per far sfogare le reazioni smodate al voto greco.
E un TS semplicissimo basato sul verificarsi di un pattern di uscita da una fase flat, ovvero sulla variazione attuale del prezzo rispetto a una precedente chiusura di candela ; il programma calcola un indice in questo modo :
//+------------------------------------------------------------------+
//| Index calculation |
//+------------------------------------------------------------------+
int Index_Calc()
{
diff = Close[0] - Close[Shift];
myind = 0;
if (diff >= Limit) myind = 1;
if (diff <= -Limit) myind = -1;
return(myind);
}
se "myind" vale 1 aprirà una posizione long, se vale -1 aprira' una posizione short.
I parametri fondamentali sono due :
- "Shift", ovvero la posizione della candela pregressa rispetto a quella attuale, e
- "Limit", ovvero la differenza in pips tra il prezzo attuale e la chiusura pregressa.
Il TS e' semplice ma carino perche' entra sul mercato in concomitanza dei movimenti di mercato piu' ampi (anche se io non sono al computer) e poi cerca di catturare un profitto, se la direzione e' quella giusta.
Se la direzione e' sbagliata, scatterà lo stop.
Nella gestione del trade entrano in gioco altri due parametri, che andranno anch'essi ottimizzati:
- "Inistplss", ovvero il valore iniziale dello SL che verra' progressivamente innalzato se il profitto risulterà positivo.
- "MaxDelay", ovvero il numero di candele durante il quale il TS rimarra' congelato, in attesa di nuovi eventi, dopo ogni uscita in SL o TP.
Il TP e' gestito con un algoritmo fisso, non ottimizzabile, che man mano che il profitto segna nuovi massimi, dapprima innalza lo SL fino a eliminarlo e poi calcola il TP con percentuali variabili crescenti all'aumentare del profitto massimo.
Ottimizzando questo TS si ottengono sempre risultati positivi anche su periodi temporali lunghissimi.
Per le ragioni che ho spiegato nei primi interventi, non uso i parametri ottimizzati su lunghi periodi, ma quelli ottenuti da ottimizzazioni brevi e frequenti, su quotazioni "fresche di giornata".
I parametri che usero' stasera sono quelli dell'ottimizzazione effettuata sui prezzi di giovedi e venerdi scorsi.
Ecco i "fantastici" risultati di questa ottimizzazione, investendo (solamente) 2 microlotti (2000 euro):
Strategy Tester Report
SimboloEURUSD (Euro vs US Dollar)
Periodo 30 Minuti (M30) 2015.01.22 00:00 - 2015.01.23 22:30 (2015.01.22 - 2015.01.24)
Modello Ogni tick (il metodo precissimo sulla base di tutti gli intervalli di tempo minimi)
Parametri : Shift=6; Limit=0.0013; MaxDelay=6; IniStplss=7;
Lotti 0.02
Profitto totale netto 43.52
Profitto lordo 44.06
Perdita lorda -0.54
Fattore di profitto (profit factor) 81.59
Ricompensa attesa 3.35
Drawdown assoluto 2.24
Drawdown massimo 6.82 (0.07%)
Drawdown relativo 0.07% (6.82)
Operazioni totali 13
Posizioni al ribasso (vincite %) 9 (88.89%)
Posizioni al rialzo (vincite %) 4 (100.00%)
Operazioni con profitto (% del totale) 12 (92.31%)
Operazioni in perdita (% del totale) 1 (7.69%)
Il piu' grande operazione con profito 12.30
Il piu' grande operazione in perdita -0.54
Media operazione con profito 3.67
Media operazione operazione in perdita -0.54
Massimo vincite consecutive (profitto in denaro) 12 (44.06)
Massimo perdite consecutive (perdita in denaro) 1 (-0.54)
Il TS avrebbe reso piu' del 2% in due giorni, con 12 trade vincenti e uno solo in perdita, per uscita in SL gia' parzialmente ridotto.
I valori dei parametri che utilizzero' stanotte sono dunque:
Shift=6;
Limit=0.0013;
MaxDelay=6;
IniStplss=7;
Naturalmente sono sicuro che il TS non avrà piu' le stesse prestazioni di giovedi e venerdi scorsi e che potrebbe comportarsi peggio o forse anche meglio; staro' a vedere, in senso letterale, cosa farà.
Non potendomi fidare a lasciarlo solo mentre io dormo, ho inserito un allarme sonoro che scatterà, svegliandomi nel cuore della notte, qualora dovessi perdere piu' dell' 1% (ovvero il -50% della vincita promessa dall'ultima ottimizazione).
Se questo avverrà, decidero' se interrompere il TS o lasciarlo girare ancora fino a domani.
Tex, che ne pensi ?
Giulia, ti prego, dimmi dove sto metodologicamente sbagliando (anche se stanotte dovessi guadagnare il 4%
).