English Русский 中文 Español Deutsch 日本語 Português 한국어 Français Türkçe
Scopri come progettare un sistema di trading con Envelopes

Scopri come progettare un sistema di trading con Envelopes

MetaTrader 5Trading | 19 luglio 2022, 16:26
148 0
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Introduzione

Nel mio precedente articolo, ho parlato di uno degli indicatori tecnici più popolari, le bande di Bollinger, strumento che ci consente di operare con le bande. L’articolo è disponibile al seguente link: Scopri come progettare un sistema di trading con le Bollinger Bands

Come ho detto in questo articolo sulle Bollinger Band, il concetto di trading con le bande si estrinseca in una varietà di metodi, già collaudati e a disposizione per essere utilizzati. Ogni metodo è basato su un diverso approccio al calcolo dell’indicatore e all’impostazione della strategia. I vari metodi però hanno in comune la ricerca di set-up operativi attraverso l’uso le bande.

In questo articolo, vi parlerò di un altro metodo per fare trading con le bande, realizzabile con l'indicatore Envelopes. L'indicatore è costituito da due bande che circondano il prezzo e la media mobile di riferimento. Nel corso della trattazione, prenderemo in considerazione svariati dettagli, seguendo la scaletta qui presentata:

Passando in rassegna questi argomenti, cercherò di spiegare l'indicatore al fine di consentirvi una comprensione profonda delle sue caratteristiche. Le informazioni riportate di seguito vi aiuteranno a sviluppare una strategia di trading efficiente e in grado di generare risultati soddisfacenti. Con la definizione di Envelopes, vi metterò a disposizione una serie dettagli utili a comprendere la logica che sta dietro all’indicatore Envelopes. In particolare, ci soffermeremo sulle modalità calcolo, per una migliore comprensione della natura dell’indicatore. In seguito, cercheremo di sviluppare alcune strategie potenzialmente in grado di migliorare la nostra operatività.

Nella parte relativa alle strategie con Envelopes, condividerò con voi alcune semplici set-up da poter utilizzare. Vi proporrò alcuni esempi relativi al loro impiego al fine di offrirvi degli spunti da ampliare per creare nuove strategie e migliorare ulteriormente i vostri risultati. Quindi, nella parte "Progetto di sistema con strategia di trading con le Envelopes", che considero un argomento molto interessante, condividerò con te un progetto su come creare un sistema di trading utilizzando le strategie dell'indicatore Envelopes. Successivamente, nella parte "Sistema di trading con Envelopes", parleremo di come progettare un sistema di trading basato sulle strategie standard dell’indicatore Envelopes, usando il linguaggio MQL5.

Spero che questo articolo possa essere utile e che vi troverete spunti interessanti che vi aiuteranno a sviluppare il vostro sistema di trading e a migliorare le vostre performance.

Importante!Tutti i codici in questo articolo sono scritti in MQL5. Questi codici possono essere eseguiti solo su MetaTrader 5. Quindi, dovrete avere MetaTrader 5 per eseguire le applicazioni. Se non avete ancora il terminale MetaTrader 5, potete scaricarlo dal seguente link: https://www.metatrader5.com/en/download

La seguente immagine vi mostra la finestra di MetaTrader 5 che vedrete dopo averla scaricata:

Piattaforma MT5

L'immagine seguente mostra come aprire MetaQuotes Language Editor (MetaEditor) per scrivere i codici:

Apertura del Metaeditor 1

Un altro metodo per aprirlo:

Apertura del Metaeditor 2

Oppure potete premere F4 mentre la finestra di MetaTrader 5 è aperta.

Dopo di che, verrà aperta la seguente finestra:

Finestra del Metaeditor

Ecco come aprire un nuovo file:

Finestra del Metaeditor


Metaeditor - Nuovo file


  1. Aprire un nuovo file per scrivere un Expert Advisor
  2. Aprire un nuovo file per scrivere un indicatore personalizzato
  3. Aprire un nuovo file per scrivere uno script

Per maggiori informazioni, potete leggere il mio precedente articolo: Scopri perché e come progettare il tuo sistema di trading algoritmico

Disclaimer Il contenuto di questo articolo è realizzato solo a scopo didattico. Sarete quindi responsabili di qualsiasi azione intrapresa sulla base del contenuto di questo articolo, poiché il contenuto di questo articolo non garantisce alcun tipo di risultato.

Iniziamo ora il nostro viaggio nello studio dell'indicatore Envelopes e vediamo quali vantaggi può apportare al nostro trading.


Definizione di Envelopes

Envelopes è uno degli indicatori che permettono di fare trading con le bande. Accanto ad esso, come accennato in precedenza, abbiamo altri strumenti per operare secondo una logica simile, come le bande di Bollinger, i canali e altri.

Per iniziare, possiamo dire semplicemente che le Envelopes sono due bande tracciate a una distanza percentuale prefissata dalla media mobile di riferimento. Normalmente le bande circondano i prezzi. Le Envelopes possono essere utilizzate per filtrare i movimenti in tendenza e per fare trading durante le lateralità

A volte durante i trend, ci troviamo di fronte a repentini cambiamenti di direzione del mercato, ad esempio in occasione dei falsi breakout. Questi movimenti possono generare falsi segnali, seguiti poi da un ritorno altrettanto rapido alla dinamica precedente. Ad esempio, quando il prezzo supera la media mobile verso l'alto, interpretiamo la condizione come un segnale di continuazione al rialzo. Dopo di che il prezzo inverte direzione e incrocia la media mobile verso il basso, cioè realizza la condizione opposta. A tal proposito, potete leggere di più sulle medie mobili, su come usarle e su come creare un sistema di trading basato su di esse, leggendo il mio precedente articolo: Scopri come progettare diversi sistemi con le medie mobili

Incrocio MA falso breakout

Nella figura qui sopra, dopo che il prezzo ha incrociato la media mobile dall'alto, si gira e sale di nuovo.

A volte, inoltre, ci troviamo di fronte a un andamento laterale: o c'è equilibrio tra acquirenti e venditori oppure non c'è una tendenza evidente e dobbiamo cercare comunque di trarre vantaggio da questo movimento.

In questi casi, l'indicatore Envelopes può esser utile per filtrare i movimenti durante i trend. Se il prezzo incrocia la media mobile verso l'alto, attendiamo che il prezzo superi la banda superiore dell'indicatore Envelopes.

Incroci MA senza Envelopes


Come potete vedere nella figura sopra, che mostra lo stesso movimento visto in precedenza, il prezzo attraversa la media mobile verso l'alto ma non la banda superiore dell'indicatore Envelopes. Non è quindi possibile agire in base a questo crossover perché, subito dopo, il prezzo torna a scendere.

A questo punto è opportuno dire qualcosa di interessante sull'analisi tecnica, disciplina che fornisce molti metodi e strategie che possono essere combinati per ottenere risultati migliori.

Come ho detto prima, le Envelopes sono due bande che circondano i prezzi: bande più larghe implicano probabilità inferiori di essere toccate mentre bande strette offrono probabilità maggiori.

Vediamo ora come si calcola l'indicatore Envelopes? Le Envelopes sono tracciate a una certa distanza percentuale dalla media mobile di riferimento. Questa percentuale dipende dall'azione del prezzo, dal periodo di tempo e dalla strategia dell'utente.

Per calcolare le Envelopes:

  1. Si calcola la media mobile
  2. La % delle Envelopes = media mobile * %
  3. Banda superiore delle Envelopes = media mobile + la % determinata della media mobile
  4. Banda inferiore delle Envelopes = media mobile - La % determinata della media mobile

Vediamo un esempio di come farlo.

Se abbiamo i seguenti dati per i prezzi di 14 giorni:

Esempio di calcolo

 Calcolo Env

  • Calcola la % di Envelopes secondo le tue preferenze

Calcolo Env 2

  • Calcolo della banda superiore delle Envelopes

 Calcolo Env 3

  • Calcola la banda inferiore delle Envelopes

 Calcolo Env 4

Questo calcolo verrà eseguito ad ogni tick, quindi i valori della banda superiore verranno tracciati sopra i prezzi e i valori della banda inferiore al di sotto.

Oggi però non lo faremo manualmente, poiché l’indicatore è integrato nella piattaforma e il calcolo è automatico. Dobbiamo solo selezionare il metodo di calcolo e l’indicatore sarà tracciato sul nostro grafico. Le seguenti immagini spiegano come farlo:

Inserisci Indicatore


 Inserisci Indicatore 1


 Parametro indicatore


La figura sopra mostra i parametri delle Envelopes:

  1. Per determinare il periodo della media mobile.
  2. % di Envelopes.
  3. Tipo di prezzo (chiusura, prezzo medio, prezzo tipico, ecc.)
  4. Valore da spostare per le Envelopes sul grafico.
  5. Tipo di media mobile.
  6. Colore della banda superiore delle Envelopes.
  7. Stile della linea della banda superiore delle Envelopes.
  8. Colore della banda inferiore delle Envelopes.
  9. Stile della linea della banda inferiore delle Envelopes.

E dopo aver determinato tutti i parametri, l'indicatore apparirà sul grafico, proprio come mostrato nella figura seguente:

 Indicatore sul grafico



Strategia con Envelopes

In questa parte, condividerò con voi alcune delle strategie realizzabili con Envelopes. Queste strategie vengono alternate in base alle condizioni o alla direzione del mercato.

Come tutti sappiamo, nei mercati abbiamo trend rialzisti, trend ribassisti e andamenti laterali. In base alla direzione specifica del mercato, utilizzeremo una strategia appropriata che ci consentirà di beneficiare del movimento.

È possibile abbinare le Envelopes ad altri strumenti e creare strategie basate su queste combinazioni. I risultati di un tale uso combinato possono essere sicuramente migliori. Ad esempio, potete combinare l'indicatore Envelopes con un pattern di price action: prendete un segnale dall'indicatore Envelopes e lo validate con un segnale di conferma rappresentato da un pattern di prezzo. Per lo stesso fine, è possibile anche utilizzare un altro indicatore di analisi tecnica. Penso che, nel trading tecnico, questo sia un approccio straordinario: combinare più di un indicatore per migliorare le proprie decisioni e, di conseguenza, i risultati.

Su questa scia, divideremo le nostre strategie in strategie che possono essere utilizzate durante i trend e altre che possono essere utilizzate durante i movimenti laterali. 

    Durante i mercati in trend
      • Strategia 1: Trend rialzista

        Durante i mercati rialzisti, i prezzi si muovono in tendenza rialzista facendo minimi e massimi crescenti. Dobbiamo sapere come agiranno i prezzi e l'indicatore Envelopes durante il trend rialzista.

        Poiché questo indicatore traccia le bande a una distanza percentuale dalla media di periodo, durante il trend rialzista i prezzi si muoveranno sopra la banda superiore dell'indicatore Envelopes. Quindi, la nostra strategia in trend rialzista sarà la seguente:

        Abbiamo un segnale di acquisto quando i prezzi attraversano la banda superiore delle Envelopes verso l'alto e prendiamo profitto quando i prezzi attraversano la banda inferiore delle Envelopes verso il basso.

        • Prezzi > Banda superiore = acquista
        • Prezzi < Fascia inferiore = prendi profitto

        Strategia 1 - Trend rialzista

        • Strategia 2: Trend ribassista

        Durante i mercati ribassisti, i prezzi si muovono in tendenza ribassista facendo massimi e minimi decrescenti. Dobbiamo sapere come agiranno i prezzi e l'indicatore Envelopes durante il trend ribassista.

        Durante il trend al ribasso, i prezzi si spostano al di sotto della banda inferiore dell'indicatore Envelopes. Quindi, la nostra strategia qui durante il trend ribassista sarà la seguente:

        Abbiamo un segnale di vendita quando i prezzi attraversano la banda inferiore delle Envelopes verso il basso, quindi prendiamo profitto quando i prezzi attraversano la banda superiore dell'indicatore verso l'alto.

        • Prezzi < Banda inferiore = vendi
        • Prezzi > Banda superiore = prendi profitto

         Strategia 2 - tendenza al ribasso


        • Strategia 3: Lateralità:

        Durante i mercati laterali, i prezzi si muovono in formazioni laterali facendo massimi e minimi allineati. C'è un equilibrio tra acquirenti e venditori. Nessuna delle due parti controlla l'altra: questa è la forma semplice, con il prezzo che oscilla tra due livelli. Mostra equilibrio. Questo non significa che non ci siano altre forme di lateralità, ma è bene sapere che definiamo trend laterale un qualsiasi andamento diverso da trend rialzista e ribassista. Dobbiamo sapere come agiranno i prezzi e l'indicatore Envelopes durante la lateralità.

        Durante la lateralità, i prezzi oscillano tra la banda inferiore e la banda superiore dell'indicatore Envelopes. Quindi, la nostra strategia qui durante la lateralità sarà la seguente:

        Abbiamo un segnale di acquisto quando i prezzi toccano la banda inferiore delle Envelopes e prendiamo profitto quando i prezzi toccano la banda superiore delle. Abbiamo un segnale di vendita quando i prezzi toccano la banda superiore delle Envelopes e prendiamo profitto quando i prezzi toccano la banda inferiore delle.

        • Prezzi = Banda inferiore = acquista
        • Prezzi = Banda superiore = prendi profitto
        • Prezzi = Banda superiore = vendi
        • Prezzi = Banda inferiore = prendi profitto

         Strategia 3 - Laterale

        Tieni presente che queste strategie vengono fornite qui solo per aiutarti a capire come utilizzare l'indicatore. Quanto proposto richiede miglioramenti e ulteriori sviluppi per un uso corretto. Assicurati di testare sempre a fondo ogni strategia che leggi o impari. Non usarle mai senza testarne e controllarne i risultati, soprattutto se realizzati a scopo didattico.


        Progetto di sistema di trading con strategia Envelopes

        In questa parte interessante, utilizzeremo le strategie appena viste come un piano di partenza per determinare cosa vogliamo fare esattamente e cosa vogliamo che faccia il programma. Quindi, facciamolo.

          Durante i mercati in trend
            • Strategia 1: Trend rialzista
                • Prezzi > Banda superiore = acquista
                • Prezzi < Fascia inferiore = prendi profitto

              Quindi, il progetto per questa strategia sarà il seguente:

               Progetto di strategia rialzista


                • Strategia 2: Trend ribassista:
                    • Prezzi < Banda inferiore = vendi
                    • Prezzi > Banda superiore = prendi profitto

                  Quindi, il progetto per questa strategia sarà il seguente:

                   Progetto di strategia al ribasso

                    Durante Lateralità,
                      • Strategia 3: Lateralità:
                          • Prezzi = Banda inferiore = acquista
                          • Prezzi = Banda superiore = prendi profitto
                          • Prezzi = Banda superiore = vendi
                          • Prezzi = Banda inferiore = prendi profitto
                        Quindi, il progetto per questa strategia sarà il seguente:

                         Progetto di strategia laterale



                        Sistema di Trading Envelopes

                        In questa parte, condividerò con voi come codificare queste strategie usando MQL5, sotto forma di programmi EA (Expert Advisors). Questo può aiutare a migliorare il proprio trading e identificare i segnali automaticamente e facilmente. Ora, condividerò con voi come codificare un Envelopes EA di base e darò istruzioni al nostro programma per commentare i valori superiori e inferiori dell'indicatore Envelopes sul grafico.

                        Progettiamo un programma che ci permetta di vedere i valori delle bande superiori e inferiori delle Envelopes in forma di commenti sul grafico:

                        //+------------------------------------------------------------------+
                        //|                                          Simple Envelopes EA.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"
                        
                        //+------------------------------------------------------------------+
                        //| Expert tick function                                             |
                        //+------------------------------------------------------------------+
                        void OnTick()
                          {
                           //Creating an array for price info
                           MqlRates PriceInfo[];
                           
                           //Sorting it from current data to old data
                           ArraySetAsSeries(PriceInfo, true);
                           
                           //Copy prices data to array
                           int Data = CopyRates(Symbol(), Period (), 0, Bars(Symbol(), Period()), PriceInfo);
                           
                           //Creating two arrays for prices of upper and lower band
                           double UpperBandArray[];
                           double LowerBandArray[];
                           
                           //Identify Envelopes indicator
                           int EnvelopesIdentify = iEnvelopes(_Symbol,_Period,14,0,MODE_SMA,PRICE_CLOSE,0.100);
                           
                           //Copying prices data to arrays
                           CopyBuffer(EnvelopesIdentify,0,0,1,UpperBandArray);
                           CopyBuffer(EnvelopesIdentify,1,0,1,LowerBandArray);
                           
                           //Calculation for the current data
                           double UpperBandValue=NormalizeDouble(UpperBandArray[0],6);
                           double LowerBandValue=NormalizeDouble(LowerBandArray[0],6);
                           
                           //Comments on the chart with values of Band of Envelopes
                           Comment("Envelopes Upper Band =",UpperBandValue,"\n" "Envelopes Lower Band =",LowerBandValue,"\n");
                           
                          }
                        //+------------------------------------------------------------------+
                        

                        Il codice in MetaTrader 5 può essere eseguito come mostrato nelle immagini seguenti:

                        Inserisci Envelopes EA di base

                        Trascinate e rilasciate il file sul grafico o fate doppio clic sul file, quindi il codice verrà eseguito e si aprirà la finestra seguente.

                        1

                        Dopodiché il programma apparirà sul grafico:

                        11

                        Dopo l'esecuzione del codice nel terminale di trading MetaTrader 5 vedremo il seguente grafico e segnali su di esso:

                        Envelopes EA di base


                        Abbiamo due bande dell'indicatore Envelopes - banda inferiore e banda superiore - e possiamo vedere i loro valori sul grafico.

                        Ora, codificheremo le nostre tre strategie: la strategia 1 prevede acquisto e take profit in trend rialzista; la strategia 2 la vendita e il take profit in trend ribassista; infine la strategia 3, relativa alla lateralità, prevede l'acquisto sulla banda inferiore e il take profit su quella superiore, oppure la vendita sulla banda superiore e il take profit sulla banda inferiore. 

                          Durante i mercati in trend
                            • Strategia 1: Tendenza rialzista:
                                • Prezzi > Banda superiore = acquista
                                • Prezzi < Fascia inferiore = prendi profitto

                              Il codice seguente serve per progettare il programma per eseguire questa strategia:

                              //+------------------------------------------------------------------+
                              //|                                   Envelopes uptrend Strategy.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"
                              
                              //+------------------------------------------------------------------+
                              //| Expert tick function                                             |
                              //+------------------------------------------------------------------+
                              void OnTick()
                                {
                                 //Creating an array for price info
                                 MqlRates PriceInfo[];
                                 
                                 //Sorting it from current data to old data
                                 ArraySetAsSeries(PriceInfo, true);
                                 
                                 //Copy prices data to array
                                 int Data = CopyRates(Symbol(), Period (), 0, Bars(Symbol(), Period()), PriceInfo);
                                 
                                 //Creating two arrays for prices of upper and lower band
                                 double UpperBandArray[];
                                 double LowerBandArray[];
                                 
                                 //Identify Envelopes indicator
                                 int EnvelopesIdentify = iEnvelopes(_Symbol,_Period,14,0,MODE_SMA,PRICE_CLOSE,0.100);
                                 
                                 //Copying prices data to arrays
                                 CopyBuffer(EnvelopesIdentify,0,0,1,UpperBandArray);
                                 CopyBuffer(EnvelopesIdentify,1,0,1,LowerBandArray);
                                 
                                 //Calculation for the current data
                                 double UpperBandValue=NormalizeDouble(UpperBandArray[0],6);
                                 double LowerBandValue=NormalizeDouble(LowerBandArray[0],6);
                                 
                                 //Comment Buy signal on the chart or no signal
                                 if (PriceInfo[0].close > UpperBandValue)
                                 Comment("Envelopes Buy Signal");
                                 
                                 if (PriceInfo[0].close < LowerBandValue)
                                 Comment("Envelopes Take Profit or Stop Loss");
                                 
                                }
                              //+------------------------------------------------------------------+
                              

                              Il codice di MetaTrader può essere eseguito come mostrato nelle immagini seguenti:

                              Inserisci Strategia Envelopes Rialzista


                              Trascinate e rilasciate il file sul grafico o fate doppio clic sul file, quindi il codice verrà eseguito e si aprirà la finestra seguente.

                              2

                              Dopo di che il programma è allegato alla tabella:

                              22

                              Dopo l'esecuzione del codice nel terminale di trading MetaTrader 5 vedremo il seguente grafico e segnali su di esso:

                               Envelopes Strategia rialzista - Segnale di acquisto

                              Come possiamo vedere nel grafico precedente, il programma ci fornisce un segnale di acquisto quando i prezzi superano la banda superiore durante il trend rialzista.

                               Strategia Envelopes Rialzista - Prendi profitto

                              Come possiamo vedere nel grafico precedente, il programma ci dà un segnale di presa di profitto quando i prezzi passano al di sotto della banda inferiore.

                                • Strategia 2: Trend ribassista
                                    • Prezzi < Banda inferiore = vendi
                                    • Prezzi > Banda superiore = prendi profitto

                                  Il codice seguente serve per progettare il programma per eseguire questa strategia:

                                  //+------------------------------------------------------------------+
                                  //|                                 Envelopes Downtrend Strategy.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"
                                  
                                  //+------------------------------------------------------------------+
                                  //| Expert tick function                                             |
                                  //+------------------------------------------------------------------+
                                  void OnTick()
                                    {
                                     //Creating an array for price info
                                     MqlRates PriceInfo[];
                                     
                                     //Sorting it from current data to old data
                                     ArraySetAsSeries(PriceInfo, true);
                                     
                                     //Copy prices data to array
                                     int Data = CopyRates(Symbol(), Period (), 0, Bars(Symbol(), Period()), PriceInfo);
                                     
                                     //Creating two arrays for prices of upper and lower band
                                     double UpperBandArray[];
                                     double LowerBandArray[];
                                     
                                     //Identify Envelopes indicator
                                     int EnvelopesIdentify = iEnvelopes(_Symbol,_Period,14,0,MODE_SMA,PRICE_CLOSE,0.100);
                                     
                                     //Copying prices data to arrays
                                     CopyBuffer(EnvelopesIdentify,0,0,1,UpperBandArray);
                                     CopyBuffer(EnvelopesIdentify,1,0,1,LowerBandArray);
                                     
                                     //Calculation for the current data
                                     double UpperBandValue=NormalizeDouble(UpperBandArray[0],6);
                                     double LowerBandValue=NormalizeDouble(LowerBandArray[0],6);
                                     
                                     //Comment Buy signal on the chart or no signal
                                     if (PriceInfo[0].close < LowerBandValue)
                                     Comment("Envelopes Short Signal");
                                     
                                     if (PriceInfo[0].close > UpperBandValue)
                                     Comment("Envelopes Take Profit or Stop Loss");
                                     
                                    }
                                  //+------------------------------------------------------------------+

                                  Possiamo eseguire il codice da MetaTrader 5 come quello che possiamo vedere nelle seguenti immagini:

                                   Inserisci Strategia Envelopes Ribassista


                                  Possiamo trascinare e rilasciare il file sul grafico o fare doppio clic sul file, quindi il codice verrà eseguito e si aprirà la finestra seguente.

                                  3

                                  Dopo di che vediamo il programma allegato al grafico:

                                  33

                                   Envelopes Strategia Ribassista - Segnale di vendita

                                  Come possiamo vedere nel grafico precedente, il programma ci fornisce un segnale di vendita quando i prezzi passano al di sotto della banda inferiore durante il trend ribassista.

                                  Strategia Envelopes Ribassista - Prendi profitto

                                  Come possiamo vedere nel grafico precedente, il programma ci dà un segnale di take profit quando i prezzi superano la banda superiore durante il trend ribassista.

                                    • Strategia 3: Lateralità
                                  • Prezzi = Banda inferiore = acquista
                                  • Prezzi = Banda superiore = prendi profitto
                                  Il codice seguente serve per progettare il programma per eseguire questa strategia:
                                  //+------------------------------------------------------------------+
                                  //|                              Envelopes Sideways Buy Strategy.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"
                                  
                                  //+------------------------------------------------------------------+
                                  //| Expert tick function                                             |
                                  //+------------------------------------------------------------------+
                                  void OnTick()
                                    {
                                     //Creating an array for price info
                                     MqlRates PriceInfo[];
                                     
                                     //Sorting it from current data to old data
                                     ArraySetAsSeries(PriceInfo, true);
                                     
                                     //Copy prices data to array
                                     int Data = CopyRates(Symbol(), Period (), 0, Bars(Symbol(), Period()), PriceInfo);
                                     
                                     //Creating two arrays for prices of upper and lower band
                                     double UpperBandArray[];
                                     double LowerBandArray[];
                                     
                                     //Identify Envelopes indicator
                                     int EnvelopesIdentify = iEnvelopes(_Symbol,_Period,14,0,MODE_SMA,PRICE_CLOSE,0.150);
                                     
                                     //Copying prices data to arrays
                                     CopyBuffer(EnvelopesIdentify,0,0,1,UpperBandArray);
                                     CopyBuffer(EnvelopesIdentify,1,0,1,LowerBandArray);
                                     
                                     //Calculation for the current data
                                     double UpperBandValue=NormalizeDouble(UpperBandArray[0],6);
                                     double LowerBandValue=NormalizeDouble(LowerBandArray[0],6);
                                     
                                     //Comment Buy signal on the chart or no signal
                                     if (PriceInfo[0].close <= LowerBandValue)
                                     Comment("Envelopes Buy Signal");
                                     
                                     if (PriceInfo[0].close >= UpperBandValue)
                                     Comment("Envelopes Take Profit");
                                     
                                     if (PriceInfo[0].close > LowerBandValue
                                     &&  PriceInfo[0].close < UpperBandValue)
                                     Comment("No Signal"); 
                                    }
                                  //+------------------------------------------------------------------+
                                  
                                  Il codice in MetaTrader 5 può essere eseguito come mostrato nelle immagini seguenti:

                                   Inserisci Strategia Envelopes Laterale


                                  Trascinate e rilasciate il file sul grafico o fate doppio clic sul file, quindi il codice verrà eseguito e si aprirà la finestra seguente.

                                  4

                                  Dopodiché il programma apparirà sul grafico:

                                  44

                                   Strategia Envelopes Laterale in Acquisto - Nessun segnale

                                  Dopo l'esecuzione del codice nel terminale di trading MetaTrader 5 vedremo il seguente grafico e segnali su di esso:

                                   Strategia Envelopes Laterale in Acquisto - Segnale d’acquisto

                                  Come possiamo vedere nel grafico precedente, il programma ci fornisce un segnale di acquisto poiché i prezzi toccano la banda inferiore durante la lateralità.


                                   Strategia Envelopes Laterale in Acquisto - Prendi profitto

                                  Come possiamo vedere nel grafico precedente, il programma ci fornisce un segnale di presa di profitto poiché i prezzi toccano la banda superiore durante la lateralità.

                                  • Prezzi = Banda superiore = vendi
                                  • Prezzi = Banda inferiore = prendi profitto

                                  Il codice seguente serve per progettare il programma per eseguire questa strategia:

                                  //+------------------------------------------------------------------+
                                  //|                            Envelopes Sideways Short Strategy.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"
                                  
                                  //+------------------------------------------------------------------+
                                  //| Expert tick function                                             |
                                  //+------------------------------------------------------------------+
                                  void OnTick()
                                    {
                                     //Creating an array for price info
                                     MqlRates PriceInfo[];
                                     
                                     //Sorting it from current data to old data
                                     ArraySetAsSeries(PriceInfo, true);
                                     
                                     //Copy prices data to array
                                     int Data = CopyRates(Symbol(), Period (), 0, Bars(Symbol(), Period()), PriceInfo);
                                     
                                     //Creating two arrays for prices of upper and lower band
                                     double UpperBandArray[];
                                     double LowerBandArray[];
                                     
                                     //Identify Envelopes indicator
                                     int EnvelopesIdentify = iEnvelopes(_Symbol,_Period,14,0,MODE_SMA,PRICE_CLOSE,0.150);
                                     
                                     //Copying prices data to arrays
                                     CopyBuffer(EnvelopesIdentify,0,0,1,UpperBandArray);
                                     CopyBuffer(EnvelopesIdentify,1,0,1,LowerBandArray);
                                     
                                     //Calculation for the current data
                                     double UpperBandValue=NormalizeDouble(UpperBandArray[0],6);
                                     double LowerBandValue=NormalizeDouble(LowerBandArray[0],6);
                                     
                                     //Comment Buy signal on the chart or no signal
                                     if (PriceInfo[0].close >= UpperBandValue)
                                     Comment("Envelopes Short Signal");
                                     
                                     if (PriceInfo[0].close <= LowerBandValue)
                                     Comment("Envelopes Take Profit");
                                    
                                     if (PriceInfo[0].close > LowerBandValue
                                     &&  PriceInfo[0].close < UpperBandValue)
                                     Comment("No Signal"); 
                                     
                                    }
                                  //+------------------------------------------------------------------+
                                  
                                  Il codice in MetaTrader 5 può essere eseguito come mostrato nelle immagini seguenti:

                                   Inserisci Strategia Envelopes Laterale di Vendita


                                  Trascinate e rilasciate il file sul grafico o fate doppio clic sul file, quindi il codice verrà eseguito e si aprirà la finestra seguente.

                                  5

                                  Dopodiché il programma apparirà sul grafico:

                                  55

                                   Strategia Envelopes Laterale di Vendita - Nessun segnale

                                  Come possiamo vedere nel grafico precedente, il programma non ci fornisce alcun segnale poiché i prezzi si muovono tra la banda superiore e la banda inferiore durante i movimenti laterali.


                                  Strategia Envelopes Laterale di Vendita - Segnale di vendita

                                  Come possiamo vedere nel grafico precedente, il programma ci fornisce un segnale corto poiché i prezzi toccano la banda superiore durante la lateralità.

                                   Strategia Envelopes Laterale di Vendita - Prendi profitto

                                  Come possiamo vedere nel grafico precedente, il programma ci fornisce un segnale di take profit poiché i prezzi toccano la banda inferiore durante la lateralità.


                                  Conclusione

                                  In questo articolo, abbiamo considerato il concetto di trading con le bande attraverso l'indicatore Envelopes. Abbiamo anche considerato i vantaggi del trading con le bande e i modi in cui l'indicatore Envelopes può essere utilizzato durante i trend e durante i movimenti laterali.

                                  Abbiamo anche visto come vengono calcolate le Envelopes, perché capire ciò che stiamo usando è sempre bene. Envelopes è uno degli indicatori che possono darci nuove intuizioni e idee su come possiamo migliorare i nostri risultati di trading e le nostre decisioni.

                                  Inoltre, abbiamo considerato una strategia semplice, che consente di utilizzare l'indicatore in diverse condizioni di mercato: trend al rialzo, al ribasso o laterale. Abbiamo anche visto come creare un progetto di sistema di trading per aiutarci a comprendere ed essere in grado di codificare facilmente queste strategie.

                                  Inoltre, l'articolo presenta il codice nel linguaggio MQL5, relativo all'implementazione delle strategie basate su Envelopes. E voglio ancora ricordare che l'obiettivo principale di questo articolo è imparare come la codifica può essere utile per noi nel trading e come può aiutarci a fare trading in modo semplice ed efficace.

                                  Vi consiglierei di scrivere i vostri codici e di eseguirli per migliorare la vostra personale comprensione dell'argomento. Spero che abbiate trovato questo articolo utile, per voi stessi e per il vostro trading.


                                  Tradotto dall’inglese da MetaQuotes Ltd.
                                  Articolo originale: https://www.mql5.com/en/articles/10478

                                  Indicatori multipli su un grafico (Parte 03): Sviluppo di definizioni per gli utenti Indicatori multipli su un grafico (Parte 03): Sviluppo di definizioni per gli utenti
                                  Oggi aggiorneremo per la prima volta la funzionalità del sistema di indicatori. Nel precedente articolo "Indicatori multipli su un grafico" abbiamo esaminato il codice di base che permette di utilizzare più di un indicatore in una sottofinestra del grafico. Quanto ho presentato è però solo la base di partenza di un sistema molto più ampio.
                                  Indicatori multipli su un grafico (Parte 02): Primi esperimenti Indicatori multipli su un grafico (Parte 02): Primi esperimenti
                                  Nel precedente articolo "Indicatori multipli su un grafico" ho presentato la logica e le basi relative a come utilizzare più indicatori su un grafico. In questo articolo fornirò il codice sorgente e lo spiegherò in dettaglio.
                                  Scopri come creare un sistema di trading con l’indicatore Momentum Scopri come creare un sistema di trading con l’indicatore Momentum
                                  Nel mio precedente articolo ho parlato dell'importanza di identificare la tendenza di mercato, ovvero la direzione dei prezzi. In questo articolo esaminerò uno dei indicatori tecnici più importanti: l'indicatore Momentum. Vedremo insieme come progettare un sistema di trading basato sul Momentum.
                                  Indicatori multipli su un grafico (parte 01): Comprendere i concetti Indicatori multipli su un grafico (parte 01): Comprendere i concetti
                                  Oggi impareremo come aggiungere più indicatori in esecuzione simultanea su un grafico, ma senza occupare un'area separata. Molti trader si sentono più sicuri se monitorano più indicatori alla volta (ad esempio, RSI, STOCASTIC, MACD, ADX e altri), o in alcuni casi anche i diversi asset di cui è composto un indice.