Read this article in your language IT | EN | DE | ES
In questo articolo ci occuperemo di come calcolare dinamicamente i livelli di stoploss e takeprofit basandoci sull'andamento degli ultimi prezzi registrati.
Nel nostro esempio sia lo stoploss che il takeprofit sono definiti da un medesimo livello espresso in punti (il segmento "L" in figura).
Quest'ultimo viene calcolato considerando l'escursione maggiore tra il massimo ed il minimo dei prezzi nei 4 periodi precedenti rispetto al prezzo attuale.
Sviluppo dell'algoritmo di calcolo degli stop
Come potete vedere dalla figura sopra il calcolo è meno complesso di quanto avremmo potuto immaginare.
Per prima cosa calcoliamo il massimo ed il minimo dei 4 periodi precedenti con le funzioni MaxMin così impostate:
Successivamente calcoliamo le differenze del massimo e del minimo con il prezzo di chiusura attuale:
1 2 | D1 = Massimo - PrezzoAttuale
D2 = PrezzoAttuale - Minimo
|
Supponendo di utilizzare il cross EURUSD a 5 decimali con i seguenti dati ipotetici:
1 2 3 | Massimo = 1,23450
Minimo = 1,23390
PrezzoAttuale = 1,23400
|
Avremmo:
1 2 | D1 = 1,23450 - 1,23400 = 0,00050
D2 = 1,23400 - 1,23390 = 0,00010
|
Prendiamo poi il valore il maggiore fra D1 e D2 con la funzione MaxValue:
1 2 | LivAss = MaxValue(D1, D2)
LivAss = MaxValue(0,00050, 0,00010) = 0,00050
|
Tuttavia questo livello è espresso come distanza assoluta; per calcolare il corrispettivo in punti dobbiamo dividerlo per il valore di un pip tramite l'apposita funzione.
1 2 3 | LivPunti = LivAss / 0,00001
LivPunti = 0,00050 / 0,00001
LivPunti = 50
|
A questo punto non rimane che convertire il valore in un numero intero ed assegnarlo alle variabili di sistema Stop Loss e Take Profit
Strategia operativa e collaudo
Come strategia operativa di esempio utilizzeremo un sistema basato sull'incrocio del prezzo con una media mobile esponenziale a 5 periodi.
Ci avvaliamo inoltre di un filtro di ingresso che prevede l'operatività solo nel caso la distanza tra il prezzo e la media sia superiore a 20 punti.
Il grafico mostra le performance del sistema con le seguenti impostazioni:
- Prodotto: EURUSD
- Periodo del test: 01/01/2011 - 01/01/2012
- Lotti: 0.1
- Timeframe: 4 ore
- Periodo EMA: 5
- Distanza Prezzo-Media: 20 punti
- Periodi calcolo livelli di stop: 4