Nel capitolo precedente abbiamo visto come impostare i sistemi per ricercare i periodi dominanti delle
medie mobili e degli oscillatori.
Se volete utilizzarli come veri sistemi di trading e definire inoltre una % di rischio sul capitale per il
dimensionamento della posizione, basta combinare i sistemi a medie mobili descritti visti con il supertrend
e/o altre condizioni impostate come filtri.
In questo modo, quando avviene un segnale di entrata per l'incrocio del prezzo con la media o sull'incrocio
di due medie, definiamo lo stop loss e se necessario il trailing profit basato sull'ATR.
Vediamo ora alcune implementazioni sui sistemi con le medie mobili che vi possano tornare utili per i vostri
sistemi di trading.
Definiremo la dimension sizing con la formula del rischio come % sul capitale del conto.
Se vogliamo definire la dimension sizing di un sistema a medie mobili, possiamo utilizzare lo stop loss di
probacktest costruito con l'ATR nel seguente modo, con variabili il moltiplicatore dell'ATR e A il periodo
della media mobile da inserire a scelta.
Il dimensionamento della posizione viene definito come % sul capitale (2%=200 $) e calcolato sulla distanza
tra il prezzo di chiusura dopo l'incrocio ed il supertrend che fa da stoploss.
X=10-300 passo 10
Y=1,5-3 passo 0,25 (partire almeno da 1,5 per tenere una distanza sensata dall'entrata in posizione,
altrimenti il sistema sceglierà la distanza minore).
DEFPARAM CumulateOrders = false
// definizione indicatori
sma=average[X](close)
prezzo= close
SL=averagetruerange[20](close)*Y
SLlong=prezzo-SL
SLshort=prezzo+SL
// definizione condizioni
ordersizelong=200/(prezzo-SLlong)
ordersizeshort=200/(SLshort-prezzo)
// apertura long
if C1 then
buy ordersizelong shares at market
endif
// chiusura long
If longonmarket and C2 then
Sell at market
Endif
Per vedere lo stop loss e verificare il dimensionamento della posizione potete utilizzare l'indicatore
mostrato negli esempi di probuilder.
In quel caso, l'ATR era calcolato dal massimo e dal minimo della candela, in questo caso è calcolato dalla
chiusura.
//definizione indicatori
A=close
b=close
c=averagetruerange[periodoATR](close)
d=moltiplicatore
// calcolo stop loss posizione long
e=b-(c*d)
// calcolo stop loss posizione short
f=a+(c*d)
return e, f
In questo modo potete plottare l'indicatore (che io ho chiamato stop loss+-ATR) sul grafico e vedere dove è
posizionato lo stop loss iniziale.
Il calcolo viene fatto sulla barra precedente (chiusura e ATR stop loss) all'entrata in posizione.
I puntini blu sopra le candele sono gli stop loss per i trades short, quelli rossi sotto le candele per i trades
long.
Notate che appena la candela chiude al di sotto la media mobile, si genera il segnale short (e di chisura long
precedente). All'apertura della candela successiva (che corrisponde alla chiusura della candela in cui
avviene l'incrocio) viene aperto il trade short.
Quando si apre la finestra dei risultati dei sistemi verranno visualizzati in ordine di performance, cioè il
primo sistema sarà quello che avrà ottenuto il miglior profitto.
Come vedete il risultato migliore è 160 - 1,5 con il 117,81% di profitto e con una % di trades vincenti pari a
16,78.
Il sistema con la miglior % di trades vincenti è 23,90 con la media mobile a 30 periodi ed il moltiplicatore
ATR pari a 1,75.
Una via di mezzo tra i due sistemi risulta essere quello evidenziato, 190-1,5 con una performance pari a
70,81% ed una % di trades vincenti pari al 22,22%.
2 - INCROCIO DI 2 MEDIE MOBILI CON STOP LOSS INIZIALE E DIMENSIONAMENTO POSIZIONE
Impostiamo sempre gli ordersize long e short dati dalla differenza tra stop loss ed il prezzo di entrata in
posizione.
SL=averagetruerange[20](close)*X
SLlong=prezzo-SL
SLshort=prezzo+SL
ordersizelong=200/(prezzo-SLlong)
ordersizeshort=200/(SLshort-prezzo)
prezzo=close
C3=lunga>=(breve*1.5)
Tuttavia se scorriamo la tabella vediamo che un sistema con ambedue i risultati interessanti risulta essere
quello evidenziato, con l'85 % di performance ed il 48% di trades vincenti, quindi la metà.
3 - SWING TRADING: 3 MEDIE MOBILI E STOP LOSS INIZIALE CON DIMENSIONAMENTO POSIZIONE
Trova quale è la media mobile di lungo periodo e quella di breve periodo che all'incrocio con il prezzo da la
migliore performance.
La media mobile di lungo periodo definisce il trend sottostante, mentre quella a breve periodo i
ritracciamenti secondari.
prezzo=close
SL=averagetruerange[20](close)*X
SLlong=prezzo-SL
SLshort=prezzo+SL
C5=lunga>=(breve*1.5)
ordersizelong=200/(prezzo-SLlong)
ordersizeshort=200/(SLshort-prezzo)
Variabili
Può essere utilizzato anche con il volatility stop o gli indicatori di Abraham visti nella sezione Probuilder,
basta richiamarli con la funzione MYFUCTION una volta salvati come indicatori personalizzati.
Variabili:
DEFPARAM CUMULATEORDERS=false
// definizione indicatori
stoploss=supertrend[X,Y]
prezzo=close[0]
// definizione condizioni
C1=prezzo>stoploss
C2=prezzo<stoploss
ordersizelong=200/(prezzo-stoploss)
ordersizeshort=200/(stoploss-prezzo)
// apertura long
If C1 then
BUY ordersizelong shares AT MARKET
ENDIF
// chiusura long
If C2 and LONGONMARKET THEN
SELL AT MARKET
ENDIF
If C2 THEN
SELLSHORT ordersizeshort shares AT MARKET
ENDIF
// chiusura short
If C1 and SHORTONMARKET THEN
EXITSHORT AT MARKET
ENDIF
Questo sistema utilizza 2 supertrend, uno maggiore, per determinare il trend a lungo termine, e l'altro
minore, per determinare entrate ed uscite.
E' simile ai sistemi con i canali di Donchian che vredremo nel capitolo successivo.
Anche per questo sistema possono essere utilizzati altri indicatori di trend lineari simili.
Per il settaggio delle variabili, manteniamo il periodo 20 per tutti e due i supetrend, mentre variamo solo i
coefficienti moltiplicatori X e Y
DEFPARAM CUMULATEORDERS=false
// definizione indicatori
majortrend=supertrend[X,20]
stoploss=supertrend[Y,20]
prezzo=close[0]
// definizione condizioni
C1=prezzo>majortrend
C2=prezzo<majortrend
C3=prezzo>stoploss
C4=prezzo<stoploss
C5=X>(Y*2)
ordersizelong=200/(prezzo-stoploss)
ordersizeshort=200/(stoploss-prezzo)
// apertura long
If C1 and C3 and C5 then
BUY ordersizelong shares AT MARKET
ENDIF
// chiusura long
If C4 and LONGONMARKET THEN
SELL AT MARKET
ENDIF
// apertura short
If C2 and C4 and C5 THEN
SELLSHORT ordersizeshort shares AT MARKET
ENDIF
// chiusura short
If C3 and SHORTONMARKET THEN
EXITSHORT AT MARKET
ENDIF
Questo sistema prevede una media mobile come definitore di trend, mentre il supertrend fa da stop loss
iniziale e da trailing profit.
Ogni volta che il prezzo si trova sopra la media mobile ed il supertrend apre una posizione di acquisto e
quando il supertrend si sposta sopra il prezzo viene chiusa.
Viceversa, quando media mobile e supertrend sono sopra il prezzo viene aperta una posizione short e
quando il supertrend scatta sotto il prezzo viene chiusa.
Il dimensionamento della posizione viene definito come % sul capitale (2%=200 $) e calcolato sulla distanza
tra il prezzo di chiusura relativo all'entrata in posizione ed il supertrend che fa da stoploss.
prezzo= close
stoploss=supertrend[X,20]
// definizione condizioni
C1=prezzo>stoploss
C2=prezzo<stoploss
C3=prezzo>sma
C4=prezzo<sma
ordersizelong=200/(prezzo-stoploss)
ordersizeshort=200/(stoploss-prezzo)
// apertura long
if C1 and C3 then
buy ordersizelong shares at market
endif
// chiusura long
If longonmarket and C2 then
Sell at market
Endif
Quando costruite un sistema trend following potrebbe farvi comodo aggiungere delle condizioni che fanno
da filtro per la determinazione del trend.
C1=ADX[14]>20 o 25.
Mediante questo filtro, entrerete in posizione solo quando il livello dell'ADX supererà la soglia del trading
range.
Oppure potreste utilizzare il ROC o qualsiasi altro indicatore di trend a vostro piacere.