
Imparare come progettare un sistema di trading con ATR
Introduzione
In questo nuovo articolo, parleremo di un nuovo concetto nel trading che dobbiamo misurare e sapere come usarlo. Questo concetto è la volatilità. Molti strumenti possono essere utilizzati per misurare la volatilità, uno tra i più popolari è l'indicatore tecnico Average True Range (ATR). Quando sai come sta andando la volatilità, questo può cambiare il gioco come quello che vedremo in questo articolo poiché sarà uno dei fattori o basi importanti su cui fondare la tua decisione.
Passeremo attraverso molti argomenti per capire questo indicatore ATR molto bene, allo stesso modo come potresti sapere il mio approccio è quello di imparare e insegnare la radice delle cose se leggete gli altri miei articoli pubblicati. I seguenti argomenti coprono tutto quello che stiamo per imparare in questo articolo su questo strumento incredibile:
- Scrittura codice MQL5 in MetaEditor
- Definizione di ATR
- Strategia ATR
- Schema della strategia ATR
- Sistema di trading ATR
- Conclusioni
Dopo questi argomenti, spero che comprenderemo l'indicatore ATR nel dettaglio e impareremo come usarlo in modo adeguato. Conosceremo l'indicatore Average True Range (ATR), ciò che misura e come viene calcolato: analizzeremo la formula del suo calcolo e la applicheremo su un esempio reale dal mercato. Questo argomento sarà trattato nella parte "definizione di ATR". Impareremo strategie semplici che possono essere utilizzate in base al concetto dell' indicatore ATR. Condividerò semplici strategie che possono aiutare a migliorare la nostra comprensione - questo sarà fatto nella parte "strategia ATR". Impareremo a progettare uno schema per le strategie menzionate. Questo è un passaggio utile nel processo di progettazione del sistema di trading in quanto visualizza l'idea di come il programma dovrebbe funzionare. Così, passo dopo passo gli schemi saranno forniti nella sezione "Schema della strategia ATR". Poi impareremo come scrivere il codice per progettare un sistema di trading basato su queste strategie utilizzando il linguaggio di programmazione MQL5. Il programma sviluppato verrà quindi eseguito nella piattaforma di trading MetaTrader 5. Questo è trattato nella parte "Sistema di trading ATR".
Per scrivere il codice della strategia in MQL5, useremo MetaQuotes Language Editor (lo strumento MetaEditor), che è integrato nella piattaforma di trading MetaTrader 5. Se non hai ancora la piattaforma, puoi scaricarla all'indirizzo https://www.metatrader5.com/en/download.
La finestra della piattaforma di trading MetaTrader 5 si presenta come segue:
Da questa finestra, è possibile aprire il Metaeditor premendo il tasto F4 mentre il terminale MetaTrader 5 è aperto. Un altro modo per aprirlo è fare clic sul pulsante IDE dall'interfaccia del terminale MetaTrader 5 come mostrato nell'immagine qui sotto:
Un altro modo per aprirlo è fare clic sul menu Strumenti nel terminale MetaTrader 5 --> quindi scegliere MetaQuotes Language Editor dal menu come mostrato nella figura seguente:
Questo aprirà il MetaQuotes Language Editor. La seguente immagine mostra la sua interfaccia:
Vi consiglio di applicare ciò che leggete in questo articolo perché la pratica è un fattore importante per il miglioramento.
Disclaimer: Tutte le informazioni sono fornite 'come sono' solo per scopi educativi e non sono preparate per scopi di trading o di consulenza. Le informazioni non garantiscono alcun tipo di risultato. Se scegli di utilizzare questi materiali su uno qualsiasi dei tuoi conti di trading, lo farai a tuo rischio e ne sarai l'unico responsabile.
Ora, preparati a imparare un nuovo strumento che può aiutarti a migliorare le tue abilità di trading per migliorare i tuoi risultati. Iniziamo il nostro viaggio.
Definizione di ATR
In questo argomento, tratteremo in dettaglio l'indicatore Average True Range (ATR): cosa misura e come viene calcolato, con alcuni esempi per approfondire la nostra comprensione per ottenere maggiori informazioni su come possiamo utilizzarlo e beneficiare di questo indicatore.
L'indicatore tecnico Average True Range (ATR) è stato sviluppato da Welles Wilder. Questo indicatore ATR misura la volatilità del mercato analizzando l'intervallo dei prezzi per un periodo specifico. ATR non fornisce prezzi o direzione di mercato, ma fornisce solo la misurazione della volatilità.
Ora, ecco come viene calcolato l'indicatore ATR che misura la volatilità del mercato.
Innanzitutto, dobbiamo calcolare il true range, che sarà il valore più grande dei seguenti:
- La differenza tra gli attuali massimo e minimo.
- La differenza tra l'attuale massimo e la chiusura precedente (valore assoluto).
- La differenza tra l'attuale minimo e la chiusura precedente (valore assoluto).
Quindi, a questo punto, per calcolarlo abbiamo bisogno dei massimi,dei minimi e i dati di chiusura dei prezzi . Quindi, calcoleremo l'average true range.
Ora, vediamo un esempio dal mercato reale per applicare ciò che abbiamo imparato e calcolare l'average true range (ATR), i seguenti sono i dati per EURUSD:
Giorno | Massimo | Minimo | Chiusura |
---|---|---|---|
Mar 17, 2022 | 1.1138 | 1.1008 | 1.1089 |
Mar 18, 2022 | 1.112 | 1.1003 | 1.1055 |
Mar 21, 2022 | 1.107 | 1.101 | 1.1014 |
Mar 22, 2022 | 1.1047 | 1.096 | 1.1027 |
Mar 23, 2022 | 1.1044 | 1.0963 | 1.1004 |
Mar 24, 2022 | 1.1014 | 1.0965 | 1.0996 |
Mar 25, 2022 | 1.1039 | 1.0979 | 1.0981 |
Mar 28, 2022 | 1.1 | 1.0944 | 1.0978 |
Mar 29, 2022 | 1.1137 | 1.097 | 1.1085 |
Mar 30, 2022 | 1.1171 | 1.1083 | 1.1156 |
Mar 31, 2022 | 1.1185 | 1.1061 | 1.1065 |
Apr 01, 2022 | 1.1077 | 1.1027 | 1.1053 |
Apr 04, 2022 | 1.1056 | 1.096 | 1.097 |
Apr 05, 2022 | 1.099 | 1.0899 | 1.0903 |
Apr 06, 2022 | 1.0939 | 1.0874 | 1.0893 |
Apr 07, 2022 | 1.0939 | 1.0864 | 1.0878 |
Apr 08, 2022 | 1.0892 | 1.0836 | 1.0876 |
Apr 11, 2022 | 1.0951 | 1.0872 | 1.0883 |
Apr 12, 2022 | 1.0905 | 1.0821 | 1.0826 |
Apr 13, 2022 | 1.0896 | 1.0809 | 1.0885 |
Apr 14, 2022 | 1.0925 | 1.0757 | 1.0827 |
Apr 15, 2022 | 1.0832 | 1.0796 | 1.0806 |
Apr 18, 2022 | 1.0822 | 1.0769 | 1.078 |
Apr 19, 2022 | 1.0815 | 1.0761 | 1.0786 |
Apr 20, 2022 | 1.0868 | 1.0783 | 1.085 |
Apr 21, 2022 | 1.0937 | 1.0824 | 1.0836 |
Apr 22, 2022 | 1.0853 | 1.077 | 1.0794 |
Apr 25, 2022 | 1.0842 | 1.0697 | 1.0711 |
Apr 26, 2022 | 1.0738 | 1.0635 | 1.0643 |
Apr 27, 2022 | 1.0655 | 1.0586 | 1.0602 |
Ora, per calcolare l'ATR, seguiremo i passaggi seguenti.
1- Calcolare il TR, sarà il valore più grande dei seguenti:
- Massimo attuale - minimo attuale (la differenza tra massimo e minimo),
- Assoluto (massimo attuale - chiusura precedente),
- Assoluto (minimo attuale - chiusura precedente),
Secondo quanto abbiamo calcolato, determineremo il TR che è il valore più grande da (massimo-minimo, abs(massimo-chiusura precedente), abs minimo-chiusura precedente)),
2 - Calcoliamo l'average true range (ATR) per 14 periodi,
Con i passaggi precedenti, possiamo calcolare manualmente l'Average True Range(ATR). Ma al giorno d'oggi non abbiamo bisogno di farlo perché è disponibile nella forma pronta all'uso nella piattaforma di trading MetaTrader 5. Tutto quello che dobbiamo fare è sceglierlo tra gli altri indicatori disponibili e il seguente è come farlo.
Durante l'apertura del terminale di trading MetaTrader 5, fare clic sulla scheda inserisci --> indicatori --> Oscillatori --> Average True Range:
Dopo aver scelto Average True Range, verrà aperta la seguente finestra per i parametri dell'ATR:
1 - il periodo desiderato per l'indicatore.
Questo valore del periodo può essere diverso da un timeframe all'altro o da uno strumento all'altro secondo la volatilità di ciascun periodo o strumento. Un ATR più lungo può essere migliore per generare un'indicazione accurata perché avrà una media più regolare.
2 - il colore della linea dell'ATR.
3 - lo stile della linea dell'ATR.
4 - lo spessore della linea dell'ATR.
Dopo aver impostato i parametri sull'indicatore ATR, verrà allegato al grafico e apparirà come segue:
Come possiamo vedere nella figura precedente, la finestra inferiore include l'indicatore ATR a 14 periodi che è rappresentato da una linea oscillante per misurare la volatilità di EURUSD mediante il timeframe 1H.
Come ho detto prima, l'ATR misura la volatilità. In base a ciò, analizziamo i valori nella finestra dell'ATR: minore è il valore ATR, minore è la volatilità dello strumento. E viceversa, maggiore è il valore dell'ATR, maggiore è la volatilità dello strumento.
L' immagine seguente è su come leggerlo:
Così, quando l'ATR registra valori bassi, questo indica bassa volatilità, e viceversa, quando l'indicatore ATR registra valori elevati, questo indica elevata volatilità.
L'indicatore ATR non è attendibile per generare segnali di trading come sappiamo già dalla base del suo calcolo. Considera solo l'ampiezza dell'intervallo, ma la sua bellezza è che è uno dei migliori strumenti che possono aiutare ad applicare una dimensione della posizione adeguata, stop loss e take profit.
Come ho detto prima,l'ATR misura solo la volatilità e non fornisce il trend o la direzione del mercato. Quindi, non confonderti se la curva ATR si sta muovendo verso l'alto - questo non significa che il trend è rialzista, e viceversa, se la curva ATR si sta muovendo verso il basso, questo non significa che il trend è ribassista. Se desideri puoi conoscere uno degli strumenti più popolari che è l'indicatore ADX che può essere utilizzato per determinare se vi è un trend oppure no.
Inoltre puoi leggere la definizione di trend dal mio precedente articolo.
L' immagine seguente è un esempio che può mostrare che l'ATR non fornisce una direzione del trend:
Come possiamo vedere, l'indicatore si sta muovendo verso l'alto, allo stesso tempo i prezzi si muovono verso il basso e viceversa, la linea ATR si muove verso il basso, allo stesso tempo i prezzi stanno salendo. Questo perché ATR non fornisce un trend o una direzione di mercato, ma fornisce solo una misurazione della volatilità.
Strategia ATR
In questo argomento, impareremo semplici strategie che possono essere utilizzate con l'indicatore ATR secondo il suo concetto per migliorare i nostri risultati di trading. Il concetto dell'indicatore ATR è che misura solo la volatilità del mercato, non la direzione del mercato.
1 - Sistema ATR Semplice - Forza dell'ATR:
Secondo questa strategia, confronteremo il valore ATR corrente con valori specifici e decideremo se l'ATR è forte o meno. È importante notare che questi valori specifici possono differire da uno strumento all'altro o da un periodo all'altro. Quindi, controlleremo il valore dell'indicatore ATR e determineremo la sua forza in base al suo valore. Se il valore ATR attuale è maggiore di 0.0024, significa che ATR è forte e viceversa, se il valore ATR corrente è inferiore a 0.0014, ciò significa che ATR è debole. Se il valore ATR è compreso tra 0.0014 e 0.0024, significa che ATR è neutrale e restituisce solo il valore ATR corrente.
- Valore ATR attuale > 0,0024 = ATR forte
- Valore ATR corrente < 0,0014 = ATR debole
- Valore ATR corrente > 0,0014 e < 0.0024 = valore ATR attuale
2 - Sistema ATR semplice - Movimento ATR:
Secondo questa strategia, confronteremo l'attuale valore ATR con il precedente valore ATR e poi decideremo sul movimento ATR, oppure se la linea ATR si sposta verso l'alto e ciò avverrà quando il valore ATR corrente è maggiore del valore ATR precedente o si sposta verso il basso quando il valore ATR corrente è inferiore al valore ATR precedente.
- Valore ATR corrente > valore ATR precedente = ATR in Aumento
- Valore ATR corrente < valore ATR precedente = ATR in Diminuzione
3 - Sistema ATR semplice - Livelli SL e TP:
Secondo questa strategia, dobbiamo usare i valori di ATR per determinare livelli dinamici di stop loss e take profit basato sul valore corrente di ATR e sui calcoli specifici per stop loss e take profit in entrambi i casi di posizione buy e posizione sell.
Nel caso di posizione buy, abbiamo bisogno di vedere sul grafico:
- Il prezzo corrente dell'ask.
- Una nuova linea con il prezzo corrente del bid.
- Una nuova linea con il valore dell'ATR corrente.
- Una nuova linea con il valore di stop loss secondo un calcolo specifico per la posizione buy.
- Una nuova linea con il valore del take profit secondo un calcolo specifico per la posizione buy.
Nel caso di posizione sell, abbiamo bisogno di vedere sul grafico:
- Il prezzo corrente dell'ask.
- Una nuova linea con il prezzo corrente del bid.
- Una nuova linea con il valore dell'ATR corrente.
- Una nuova linea con il valore di stop loss secondo un calcolo specifico per la posizione sell.
- Una nuova linea con il valore del take profit secondo un calcolo specifico per la posizione sell.
Possiamo trovare altre strategie avanzate che possono essere utilizzate dall'indicatore ATR, ma qui abbiamo bisogno di citare solo alcune semplici strategie che possono aiutarci a capire l'indicatore ATR profondamente per essere in grado di usarlo in un modo corretto affinchè possa migliorare i nostri risultati di trading.
Schema Strategia ATR
In questa parte, impariamo passo dopo passo ciò di cui abbiamo bisogno per creare un sistema di trading per le tre strategie menzionate attraverso uno schema per ogni strategia. Primo e prima di passare attraverso la progettazione o la creazione delle tre strategie menzionate, inizieremo con uno schema per i passaggi necessari a creare un semplice programma o Expert Advisor che ci può mostrare un commento con l'attuale valore ATR per aiutarci a progettare le nostre strategie di cui il seguente è un'immagine che ne rappresenta lo schema:
1 - Sistema ATR Semplice - Forza dell'ATR:
- Valore ATR attuale > 0,0024 = ATR forte
- Valore ATR corrente < 0,0014 = ATR debole
- Valore ATR corrente > 0,0014 e < 0.0024 = valore ATR attuale
Quindi, vogliamo che il programma controlli il valore ATR corrente con valori specifici e decida se il valore ATR corrente è maggiore di 0.0024 - questo significherebbe che ATR è forte. Se non è maggiore di 0.0024, abbiamo bisogno che il programma controlli se l'ATR è inferiore a 0.0014 - questo significherebbe che l'ATR è debole. Nel caso in cui non abbia un valore inferiore a 0.0014 e il programma lo trova tra 0.0014 e 0.0024, quindi vogliamo che il programma ci mostri solo il valore ATR corrente sul grafico.
Il seguente è uno schema di questa strategia di forza ATR:
2 - Sistema ATR semplice - Movimento ATR:
- Valore ATR corrente > valore ATR precedente = ATR in Aumento
- Valore ATR corrente < valore ATR precedente = ATR in Diminuzione
Quindi, abbiamo bisogno che l'Expert Advisor controlli il valore ATR corrente e il valore ATR precedente, quindi decida, che se il valore ATR corrente è maggiore del valore ATR precedente, questo significa che l'ATR è in aumento e se il valore ATR attuale è inferiore al valore ATR precedente, questo significa che l'ATR è in diminuzione, o non fà nulla.
Il seguente è uno schema di questa strategia di movimento ATR:
3 - Sistema ATR semplice - Livelli SL e TP:
In entrambi i casi è necessario inserire un commento sul grafico,
Posizione buy e posizione sell:
- Il prezzo corrente dell'ask.
- Una nuova linea con il prezzo corrente del bid.
- Una nuova linea con il valore dell'ATR corrente.
- Una nuova linea con il valore di stop loss.
- Una nuova linea con il valore di take profit.
E il seguente è uno schema di questa strategia ATR - livelli SL e TP:
Sistema di trading ATR
In questo interessante argomento, impareremo a scrivere il codice di ogni strategia menzionata per creare un sistema di trading basato su ciascuno di essi da eseguire facilmente, senza intoppi, e con precisione. Ora, scriveremo un codice per un Expert Advisor per mostrarci automaticamente il valore ATR sul grafico.
Il seguente è come possiamo scrivere il codice di questo Expert Advisor per il Sistema ATR Semplice:
- Creare un array di valori usando la funzione "double":
double PriceArray[];
- Ordiniamo i dati utilizzando la funzione "ArraySetAsSeries":
ArraySetAsSeries(PriceArray,true);
- Definiamo l'ATR utilizzando la funzione iATR e il valore intero "int" per il valore restituito:
int ATRDef=iATR(_Symbol,_Period,14);
- Definizione dei dati e memorizzazione dei risultati utilizzando la funzione "CopyBuffer":
CopyBuffer(ATRDef,0,0,3,PriceArray);
- Otteniamo il valore dei dati correnti restituendo un valore double usando la funzione "NormalizeDouble":
double ATRValue=NormalizeDouble(PriceArray[0],5);
- Otteniamo un commento sul grafico con il valore ATR:
Comment("ATR Value = ",ATRValue);
Il seguente è il codice completo se si desidera copiare e incollare facilmente, o per vederlo in blocco:
//+------------------------------------------------------------------+ //| Simple ATR.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ void OnTick() { //Creare un array di valori double PriceArray[]; //Ordiniamo i dati ArraySetAsSeries(PriceArray,true); //Definiamo l'ATR int ATRDef=iATR(_Symbol,_Period,14); //Definizione dei dati e memorizzazione dei risultati CopyBuffer(ATRDef,0,0,3,PriceArray); //Otteniamo il valore dei dati correnti double ATRValue=NormalizeDouble(PriceArray[0],5); //commento sul grafico Comment("ATR Value = ",ATRValue); } //+------------------------------------------------------------------+
Dopo aver scritto questo Expert Advisor , se vogliamo eseguire questo programma, possiamo trovarlo nel navigatore come nella seguente immagine:
Facendo doppio clic o trascinando questo file sul grafico, verrà aperta la seguente finestra,
Dopo aver cliccato su "OK", possiamo scoprire che il Simple ATR Expert Advisor è allegato al grafico come nella seguente immagine:
E possiamo trovare il suo risultato secondo il programma come nell'esempio del test seguente:
Ora, creeremo un sistema di trading per ogni strategia menzionata e sarà come segue,
1 - Sistema ATR Semplice - Forza dell'ATR:
- Valore ATR attuale > 0,0024 = ATR forte
- Valore ATR corrente < 0,0014 = ATR debole
- Valore ATR corrente > 0,0014 e < 0.0024 = valore ATR attuale
Il seguente è come possiamo scrivere il codice di questo Expert Advisor del Sistema ATR Semplice - forza dell'ATR:
//+------------------------------------------------------------------+ //| Simple ATR System - ATR strength.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ void OnTick() { //Creare un array di valori double PriceArray[]; //Ordiniamo i dati ArraySetAsSeries(PriceArray,true); //Definiamo l'ATR int ATRDef=iATR(_Symbol,_Period,14); //Definizione dei dati e memorizzazione dei risultati CopyBuffer(ATRDef,0,0,3,PriceArray); //Otteniamo il valore dei dati correnti double ATRValue=NormalizeDouble(PriceArray[0],5); //commento sul grafico con la forza dell'ATR in base al suo valore if(ATRValue>0.0024) Comment("Strong ATR","\n","ATR Value = ",ATRValue); if(ATRValue<0.0014) Comment("Weak ATR","\n","ATR Value = ",ATRValue); if((ATRValue>0.0014)&&(ATRValue<0.0024)) Comment("ATR Value = ",ATRValue); } //+------------------------------------------------------------------+
Le differenze in questo codice sono:
- Commenti basati sul confronto di ATR corrente con un valore specifico, se il valore ATR corrente > 0.0024:
if(ATRValue>0.0024) Comment("Strong ATR","\n","ATR Value = ",ATRValue);
- Se ATR corrente < 0.0014
if(ATRValue<0.0014) Comment("Weak ATR","\n","ATR Value = ",ATRValue);
- Se il valore di ATR corrente > 0.0014 e ATR corrente < 0.0024
if((ATRValue>0.0014)&&(ATRValue<0.0024)) Comment("ATR Value = ",ATRValue);
Dopo di che, possiamo trovare questo Expert Advisor nella finestra del navigatore per eseguirlo dopo averlo compilato:
Dopo aver aperto il file facendo doppio clic o trascinandolo sul grafico, possiamo vedere la finestra come la seguente:
Dopo aver premuto "OK", possiamo trovare l'Expert Advisor allegato al grafico come nella seguente immagine:
E il seguente è un esempio dei segnali generati sulla base di questa strategia per il test:
Come possiamo vedere nel seguente grafico ci mostra un commento con Strong ATR e il valore attuale ATR in una nuova riga:
Come possiamo vedere il seguente grafico mostra un commento con weak ATR e attuale valore ATR in una nuova riga:
Come possiamo vedere il seguente grafico mostra un commento con il valore ATR corrente solo perché neutro secondo i valori determinati:
2 - Sistema ATR semplice - Movimento ATR:
- Valore ATR corrente > valore ATR precedente = ATR in Aumento
- Valore ATR corrente < valore ATR precedente = ATR in Diminuzione
Il seguente è come possiamo scrivere il codice di questo Expert Advisor del Sistema ATR Semplice - movimento ATR:
//+------------------------------------------------------------------+ //| Simple ATR System - ATR movement.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ void OnTick() { //Creare un array di valori double PriceArray0[]; double PriceArray1[]; //Ordiniamo i dati ArraySetAsSeries(PriceArray0,true); ArraySetAsSeries(PriceArray1,true); //Definiamo l'ATR int ATRDef=iATR(_Symbol,_Period,14); //Definizione dei dati e memorizzazione dei risultati CopyBuffer(ATRDef,0,0,3,PriceArray0); CopyBuffer(ATRDef,0,0,3,PriceArray1); //Otteniamo il valore dei dati correnti double ATRValue=NormalizeDouble(PriceArray0[0],5); double PreATRValue=NormalizeDouble(PriceArray1[1],5); if(ATRValue>PreATRValue) Comment("ATR is UP","\n","ATR Value = ",ATRValue,"\n","ATR Previous Value = ",PreATRValue); if(ATRValue<PreATRValue) Comment("ATR is Down","\n","ATR Value = ",ATRValue,"\n","ATR Previous Value = ",PreATRValue); } //+------------------------------------------------------------------+
Le differenze in questo codice sono:
- Creazione di due array di valori (valore ATR corrente (PriceArray0), valore ATR precedente (PriceArray1)):
double PriceArray0[]; double PriceArray1[];
- Ordinare i due array di valore dal dato corrente:
ArraySetAsSeries(PriceArray0,true); ArraySetAsSeries(PriceArray1,true);
- Definizione dei dati e memorizzazione dei risultati per i due array:
CopyBuffer(ATRDef,0,0,3,PriceArray0); CopyBuffer(ATRDef,0,0,3,PriceArray1);
- Otteniamo i valori dei dati correnti dei due valori (ATR corrente e precedente):
double ATRValue=NormalizeDouble(PriceArray0[0],5); double PreATRValue=NormalizeDouble(PriceArray1[1],5);
- Commentiamo in base al confronto ATR corrente con il valore ATR precedente,
- Se il valore ATR corrente > valore ATR precedente:
if(ATRValue>PreATRValue) Comment("ATR is UP","\n","ATR Value = ",ATRValue,"\n","ATR Previous Value = ",PreATRValue);
- Se il valore ATR corrente < valore ATR precedente:
if(ATRValue<PreATRValue) Comment("ATR is Down","\n","ATR Value = ",ATRValue,"\n","ATR Previous Value = ",PreATRValue);Dopo la compilazione, possiamo trovare questo Expert Advisor nella finestra del navigatore per eseguirlo:
facendo doppio clic o trascinando e rilasciando il file sul grafico, possiamo vedere la finestra come la seguente:
Dopo aver abilitato l'opzione "Consenti Algo Trading" premendo "OK", possiamo trovare l'Expert Advisor allegato al grafico lo stesso della seguente immagine:
E il seguente è un esempio dei segnali generati basati su questa strategia per il test:
In caso di ATR al rialzo:
In caso di ATR al ribasso:
3 - Sistema ATR semplice - Livelli SL e TP:
Nel caso di posizione buy, abbiamo bisogno di vedere sul grafico:
- Il prezzo corrente dell'ask.
- Una nuova linea con il prezzo corrente del bid.
- Una nuova linea con il valore dell'ATR corrente.
- Una nuova linea con il valore di stop loss per la posizione buy.
- Una nuova linea con il valore take profit per la posizione buy.
Nel caso di posizione sell, abbiamo bisogno di vedere sul grafico:
- Il prezzo corrente dell'ask.
- Una nuova linea con il prezzo corrente del bid.
- Una nuova linea con il valore dell'ATR corrente.
- Una nuova linea con lo stop loss per la posizione sell.
- Una nuova linea con il take profit per la posizione sell.
Il seguente è come possiamo scrivere il codice di questo Expert Advisor del Sistema ATR Semplice - livelli di SL e TP:
//+------------------------------------------------------------------+ //| Simple ATR System - SL&TP levels.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ void OnTick() { //definizione Ask e Bid double Ask=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits); double Bid=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits); //Creare un array di valori double PriceArray[]; //Ordinamento dei dati ArraySetAsSeries(PriceArray,true); //definizione ATR int ATRDef=iATR(_Symbol,_Period,14); //definiamo i dati e memorizziamo i risultati CopyBuffer(ATRDef,0,0,3,PriceArray); //Otteniamo il valore dei dati correnti double ATRValue=NormalizeDouble(PriceArray[0],5); //Calcoliamo SL&TP per la posizione buy double StopLossBuy=Bid-(ATRValue*2); double TakeProfitBuy=Ask+((ATRValue*2)*2); //Calcoliamo SL&TP per la posizione sell double StopLossSell=Ask+(ATRValue*2); double TakeProfitSell=Bid-((ATRValue*2)*2); //commento sul grafico Comment("BUY POSITION","\n","Current Ask = ",Ask,"\n","Current Bid = ",Bid,"\n","ATR Value = ",ATRValue, "\n","Stop Loss = ",StopLossBuy,"\n","Take Profit = ",TakeProfitBuy,"\n", "SELL POSITION","\n","Current Ask = ",Ask,"\n","Current Bid = ",Bid,"\n","ATR Value = ",ATRValue, "\n","Stop Loss = ",StopLossSell,"\n","Take Profit = ",TakeProfitSell); } //+------------------------------------------------------------------+
Le differenze qui sono:
- Definizione dei prezzi Ask e Bid per calcolare stop loss e take profit:
double Ask=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits); double Bid=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);
- Calcolo dello stop loss e take profit sia per la posizione buy che per la posizione sell:
//Calcoliamo SL&TP per la posizione buy double StopLossBuy=Bid-(ATRValue*2); double TakeProfitBuy=Ask+((ATRValue*2)*2); //Calcoliamo SL&TP per la posizione sell double StopLossSell=Ask+(ATRValue*2); double TakeProfitSell=Bid-((ATRValue*2)*2);
- Commento basato sulla strategia sia per la posizione buy che per la posizione sell:
Il prezzo corrente dell'ask. Una nuova linea con il prezzo corrente del bid. Una nuova linea con il valore dell'ATR corrente. Una nuova linea con il valore di stop loss. Una nuova linea con il valore di take profit.
Comment("BUY POSITION","\n","Current Ask = ",Ask,"\n","Current Bid = ",Bid,"\n","ATR Value = ",ATRValue, "\n","Stop Loss = ",StopLossBuy,"\n","Take Profit = ",TakeProfitBuy,"\n", "SELL POSITION","\n","Current Ask = ",Ask,"\n","Current Bid = ",Bid,"\n","ATR Value = ",ATRValue, "\n","Stop Loss = ",StopLossSell,"\n","Take Profit = ",TakeProfitSell);
Dopo aver compilato il codice, possiamo trovare questo Expert Advisor nella finestra del navigatore per eseguirlo:
Dopo aver aperto il file facendo doppio clic o trascinando sul grafico, verrà aperta la seguente finestra:
Dopo aver premuto "OK", possiamo trovare l'Expert Advisor allegato al grafico come nella seguente immagine:
E il seguente è un esempio dei segnali generati sulla base di questa strategia per il test:
Conclusioni
Ora, si suppone che comprendiate l'Average True Range nel dettaglio mentre abbiamo imparato cos'è l'ATR, cosa misura e il concetto dietro di esso, come possiamo calcolarlo manualmente, e lo abbiamo applicato a un esempio reale dal mercato e questo attraverso l'argomento di definizione ATR. Quindi, abbiamo appreso alcune semplici strategie che possono essere utilizzate a nostro favore in base al concetto di average true range lo stesso che abbiamo imparato, abbiamo conosciuto il sistema di forza ATR, il movimento ATR e le semplici strategie dei livelli ATR - SL e TP e questo è quello che abbiamo imparato nell'argomento della strategia ATR, abbiamo imparato e progettato uno schema per ogni strategia per aiutarci a progettare un sistema di trading per ogni strategia per funzionare sulla piattaforma di trading MetaTrader 5 attraverso l'argomento schema strategia ATR, quindi impariamo come scrivere gli Expert Advisor per ogni strategia tramite MetaQuotes Languages (MQL5) per eseguirli sulla piattaforma MetaTrader 5 attraverso l'argomento sistema di trading ATR.
Dopo aver compreso e messo in pratica gli argomenti precedenti, devi essere in grado di utilizzare l'average true range (ATR) secondo il concetto dietro di esso e devi essere in grado di leggere l'indicatore per determinare la volatilità dello strumento attraverso un sistema di trading automatizzato, soprattutto dopo aver applicato quello che hai imparato da te stesso perché praticare è importante per padroneggiare qualsiasi cosa.
E 'importante anche per confermare che è necessario testare qualsiasi nuova strategia o strumento prima di utilizzarlo sul tuo conto reale in quanto potrebbe non essere utile o profittevole per il vostro trading, anche se funziona con qualcun'altro potrebbe non essere adatto per voi o il vostro piano di trading e questo è normale. Quindi, devi assicurarti che sia utile e profittevole per te testandolo prima.
Alla fine di questo articolo, spero che tu lo trovi utile per il tuo trading e spero anche che ti abbia aperto gli occhi su nuove idee sull'argomento dell'articolo o su qualsiasi argomento correlato al trading che possa essere un motivo per migliorare il tuo risultati di trading e spero che ti abbia fatto capire l'importanza della programmazione per il trading e quanto potrebbe essere utile e quanto ci aiuta a fare trading in modo semplice, fluido e accurato.
Tradotto dall’inglese da MetaQuotes Ltd.
Articolo originale: https://www.mql5.com/en/articles/10748





- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso