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

Scopri come progettare un sistema di trading con le Bollinger Bands

MetaTrader 5Trading | 20 giugno 2022, 10:01
928 0
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Introduzione

Nel mondo del trading, ci sono molti strumenti e metodi che possiamo usare a nostro favore per raggiungere i nostri obiettivi di trading. Questi strumenti possono essere utilizzati in base alle condizioni del mercato o allo stato del mercato. 

Uno di questi metodi è il trading con le bande. Il concetto principale delle bande di trading è quello di negoziare tra due bande comprando e vendendo per beneficiare delle bande determinate. Uno di questi strumenti è l'indicatore Bollinger Bands. Questo indicatore è uno dei più popolari o uno dei più utilizzati nel mondo dell'analisi tecnica e del trading.

In questo articolo, condividerò con te le informazioni su questo indicatore delle bande di Bollinger per migliorare la nostra comprensione di cosa sia, come lo calcoliamo e come possiamo usarlo a nostro favore. Dopodiché sarai in grado di usarlo nel tuo modo preferito, secondo la tua strategia. Successivamente, condividerò con te come possiamo progettare un sistema di trading utilizzando questo indicatore delle bande di Bollinger in modo semplice e accurato. Pertanto, tratteremo i seguenti argomenti:

    1. Definizione delle bande di Bollinger
    2. Strategie delle bande di Bollinger
    3. Sistemi di Progettazione di Strategie con le Bollinger Bands
    4. Conclusione
    5. Riferimenti

      Come impareremo riguardo alle Bollinger Bands, misurano la dispersione dei dati attorno alla sua media. Questo indicatore è stato creato da John Bollinger. È costruito da due bande che circondano una media mobile a 20 giorni per misurare la dispersione dei dati (prezzi) attorno alla sua media (media mobile di 20 giorni). 

      Può sembrare che l'indicatore delle bande di Bollinger sia uguale all'indicatore Envelopes poiché ha esso stesso due bande che circondano i prezzi. Ma questo non è vero perché la differenza tra le bande di Bollinger e le Envelopes è che l'indicatore delle bande di Bollinger non è posizionato a una percentuale fissa oltre la media mobile ma il suo calcolo consente che l'indicatore delle bande di Bollinger si espanda o si contragga in base alla deviazione standard della media mobile . Impareremo questo e altri dettagli nella sezione o nell'argomento sulla definizione delle bande di Bollinger.

      Impareremo anche come utilizzare le bande di Bollinger attraverso alcune strategie delle bande di Bollinger in un modo che sia chiaro e vantaggioso per il nostro trading e questo lo vedremo sicuramente nella sezione delle Strategie con le bande di Bollinger.

      Quindi passeremo alla parte più interessante di questo articolo: come utilizzare queste strategie in un sistema di trading algoritmico in modo accurato e affidabile e questo è ciò che impareremo nelle sezioni Modelli di Strategie con le Bollinger Bands e Sistemi di Progettazione di Strategie con le Bollinger Bands.


      Si noti che:

      • Tutti i codici di questo articolo saranno scritti con MQL5 e l'esecuzione avverrà su MetaTrader 5.
      • Ti consiglio di scrivere ed eseguire codici da solo se vuoi esercitarti e migliorare il tuo apprendimento.
      • Quindi, avrai bisogno del terminale MetaTrader 5 per eseguire codici e MetaEditor di MQL5 per scrivere codici e le seguenti immagini li riguardano.

      Dopo aver scaricato e installato MetaTrader 5 sul tuo dispositivo e puoi scaricarlo dal seguente link:https://www.metatrader5.com/en/download https://www.metatrader5.com/en/download www.metatrader5.com/en/download. Dopodiché troverai che la finestra di MetaTrader 5 sarà la stessa della seguente immagine:

      Piattaforma MT5


      Puoi aprire MetaEditor premendo F4 quando apri il terminale MetaTrader 5 o da Strumenti da cui possiamo scegliere MetaQuotes Language Editor. Le seguenti immagini mostrano come aprire MetaEditor per scrivere i tuoi codici da MetaTrader 5:

      Apertura del Metaeditor 1Apertura del Metaeditor


      Apertura del Metaeditor 2Apertura del Metaeditor

      L'immagine seguente mostra la finestra aperta di MetaEditor: 

      Finestra del Metaeditor


      L'immagine seguente mostra come creare un nuovo file per scrivere il codice:

      Metaeditor - Nuovo file

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

      Per maggiori info potete leggere il mio precedente articolo attraverso il seguente link:https://www.mql5.com/it/articles/10293

      Come mi piace dire sempre in eventi diversi, la programmazione, o la codifica, è uno strumento straordinario che ci consente di rendere la nostra vita facile e fluida con azioni accurate che vengono eseguite automaticamente. Quindi, è un obiettivo importante investire in questo tipo di campo per imparare a usarlo in modo corretto per generare obiettivi desiderati in diversi ambiti della vita.
      Quando si tratta di fare trading, ho bisogno di immaginare come la vita possa essere facile e divertente quando dai le tue istruzioni al computer per fare quello che vuoi e nel momento in cui vuoi, allora il computer fa quello che vuoi esattamente senza alcuna obiezione e puoi fare qualsiasi altra cosa nella tua vita. È uno stile di vita straordinario, quindi sarà un obiettivo importante imprimere a questa codifica o programmazione il tuo interesse nel modo adatto, sia che codificherai da solo o che lascerai che qualcun altro lo faccia per te.

      Disclaimer

      Tutto il contenuto di questo articolo è fatto solo a scopo educativo e per nient'altro. Quindi, sarai responsabile di qualsiasi azione intraprenderai in base al contenuto di questo articolo, poiché il contenuto di questo articolo non garantisce alcun tipo di risultato.

      Quindi, esaminiamo le sezioni dei nostri articoli per saperne di più su questo argomento interessante e sull'indicatore.

      Definizione delle bande di Bollinger

      La storia dell'idea di operare fra le bande è lunga e interessante ed è utilizzata in molti modi. Il trading fra le bande si basa principalmente sulla costruzione di bande al di sopra e al di sotto di una certa misura di tendenza. 

      Ad esempio, possiamo utilizzare medie mobili spostate su e giù di una determinata percentuale o Envelopes. Inoltre, ci sono canali che sono due linee parallele sopra e sotto i prezzi per rilevare i punti di inversione. Ma tutti questi metodi sono fissi e non reagiscono in base ai movimenti dei prezzi. In altre parole, non si espandono né si contraggono con i movimenti dei prezzi.

      Le Bollinger Bands possono farlo grazie al loro calcolo specifico. Vedremo i dettagli del calcolo dell'indicatore in questa parte.

      L'immagine seguente mostra un esempio dell'indicatore Envelopes e come appare sui prezzi:

      EURUSDH1 - Envelopes

      Come puoi vedere nell'immagine precedente, abbiamo due fasce che circondano i prezzi: la fascia inferiore circonda i prezzi dal basso e la fascia superiore li circonda dall'alto. Quindi, l'idea principale qui che dobbiamo sapere è che, storicamente, ci sono molti metodi basati sulle bande di trading e le più comuni erano le bande percentuali. 

      Ci sono anche molti sviluppi sull'idea delle bande di trading. Uno di questi sviluppi è l'indicatore delle bande di Bollinger che viene utilizzato per negoziare fra le bande. Si differenzia dai metodi precedentemente menzionati in quanto può essere ampliato e contratto poiché il suo calcolo gli consente di farlo.

      L'indicatore Bollinger Bands è stato creato all'inizio degli anni '80 da John Bollinger, che è uno degli esperti più conosciuti nel campo del mercato finanziario e del trading. È un CFA ( Chartered Financial Analyst) e un CMT ( Chartered Market Technician).

      L'indicatore Bollinger Bands è un popolare indicatore tecnico, misura la volatilità e può essere ampliato e contratto in base alle condizioni del mercato. Può essere utilizzato in tutti i mercati finanziari come azioni, forex... ecc. Parliamo ora della costruzione delle Bollinger Bands:

      Come quello che abbiamo menzionato prima, il concetto di trading band è di iniziare con una certa misura di tendenza centrale. Quindi costruiamo bande al di sopra e al di sotto di questa misura. Per l'indicatore Bollinger Bands, la misura della tendenza centrale è la media mobile semplice e l'intervallo è determinato da una misura della volatilità di una deviazione standard mobile.

      L'indicatore delle bande di Bollinger:

      • Misura la dispersione dei dati intorno alla sua media (media mobile).
      • È un indicatore di volatilità.
      • La differenza tra le bande di Bollinger e le Envelopes o qualsiasi metodo delle bande di trading percentuale è che hanno percentuali specifiche di media mobile al di sopra e al di sotto della media mobile, ma le bande di Bollinger sono una deviazione standard della media mobile.
      • Le bande si allargano automaticamente quando la volatilità aumenta e si contraggono quando la volatilità diminuisce. La loro natura dinamica ne consente l'utilizzo su diversi titoli con le impostazioni standard.
      • Le bande di Bollinger sono uno strumento di trading utilizzato per determinare i punti di ingresso e di uscita per un'operazione.
      • Le fasce sono spesso utilizzate per determinare le condizioni di ipercomprato e ipervenduto.
      • Può essere utilizzato per identificare M-Top e W-Bottoms o per determinare la forza del trend.
      La formula seguente mostra come vengono calcolate le bande di Bollinger:

      Calcolo BB

      Vediamo ora un esempio di calcolo delle Bande di Bollinger:
        Supponiamo di avere prezzi di chiusura per 20 giorni di negoziazione come nella tabella seguente:
             Numero del giorno   
             Prezzo di chiusura $  
          1 20
          2 30
          3 35
           4 30 
           5 40 
          6 45
          7 50
          8 55
          9 40
          10 45
          11 50
          12 35
          13 40
          14 50
          15 60
          16 65
          17 70
          18 60
          19 70
          20 75

          Calcolo BB

          Quindi, il calcolo delle bande di Bollinger sarà lo stesso del seguente:

            Esempio di calcolo BB


            Esempio di calcolo BB 1


            Regolazione delle impostazioni:

            Ora, se qualcuno si chiede se sia possibile regolare le impostazioni delle bande di Bollinger in qualsiasi altro modo per adattarle alla nostra strategia o piano di trading, la risposta è sì, possiamo farlo soprattutto se queste regolazioni sono state testate e ci hanno dato buoni risultati. E dobbiamo anche sapere che Bollinger consiglia di apportare piccole modifiche al moltiplicatore della deviazione standard. Inoltre quello che dobbiamo sapere è che la modifica del periodo della media mobile influisce sul periodo utilizzato per calcolare la deviazione standard. Bollinger suggerisce inoltre di aumentare il moltiplicatore della deviazione standard a 2,1 se utilizzeremo una media mobile semplice a 50 periodi e di ridurla a 1,9 se utilizzeremo una media mobile semplice a 10 periodi. 

            Ad oggi non abbiamo bisogno di fare i calcoli manualmente perché abbiamo l'indicatore pronto e integrato in MetaTrader 5. Le immagini seguenti mostrano come aggiungere l'indicatore al grafico. Seleziona il menu Inserisci in MetaTrader 5:

            1- Inserisci indicatore BB

            Quindi scegli Indicatori, quindi Trend, quindi Bande di Bollinger:

            2- Inserisci indicatore BB

            Dopo aver selezionato l'indicatore Bollinger Bands, verranno visualizzati i parametri della finestra dell'indicatore. Mostra i parametri predefiniti dell'indicatore. Ha i seguenti parametri regolabili:

            1.    Periodo: per selezionare il periodo della Media mobile.

            2.    Deviazioni: per selezionare il parametro di deviazione delle bande superiore e inferiore.

            3.    Applica a: per selezionare il tipo di prezzo a cui verranno applicati i parametri (Chiusura, Apertura, Massimo, Minimo, Prezzo medio, Prezzo tipico e Chiusura ponderata).

            4.    Stile: per selezionare lo stile dell'indicatore (Colore, forma e larghezza delle linee dell'indicatore.

            5.    Shift: per impostare un valore per applicare uno spostamento per l’indicatore.

            E come ho menzionato prima, possiamo regolare queste impostazioni in base agli input del trader e alla sua strategia.


            3- Parametri BB

            Ora, abbiamo l'indicatore Bollinger Bands che disegna sul grafico dei prezzi e verrà mostrato come nell'immagine seguente:


            EURUSDH1 - BB


            Come possiamo vedere nell'immagine precedente, i prezzi sono circondati da Due Bande (Bande di Bollinger): la banda inferiore è al di sotto della media mobile (media) e dei prezzi mentre la banda superiore è al di sopra della media mobile (media) e dei prezzi. 

            Strategie con le Bande di Bollinger

            A questo punto parleremo delle strategie con le Bollinger Bands e vedremo come utilizzarle in modo vantaggioso.

            Possiamo utilizzare le bande di Bollinger con diverse condizioni di mercato o diversi movimenti di mercato, che possiamo utilizzare durante il trend rialzista, ribassista e laterale. E con ogni condizione di mercato, ci sono molte strategie che possiamo usare, ma qui ne citeremo alcune.

            • Durante il trend rialzista

            Innanzitutto, dobbiamo capire come si muoveranno i prezzi durante il trend rialzista rispetto alla media mobile, poiché possiamo scoprire che i prezzi,durante il trend rialzista, si muovono per la maggior parte del tempo al di sopra della sua media (media mobile).

            Quindi, scopriremo che durante il trend rialzista i prezzi si muovono tra la media mobile e la banda superiore per la maggior parte del tempo. Significa che i prezzi fanno minimi e massimi più alti poiché c'è il controllo degli acquirenti.

            Trend rialzista

            Trend rialzista


            Qui le bande di Bollinger possono aiutarci a identificare questo trend rialzista poiché vediamo che i prezzi si muovono tra la media mobile e la banda superiore. L'immagine seguente ne è un esempio: come puoi vedere chiaramente, i prezzi nella zona verde si muovono in un trend rialzista e si muovono tra la media mobile e la banda superiore:

            EURUSD Weekly - BB con trend rialzista

            La strategia che menzioneremo qui è che dobbiamo:
            • Acquistare quando i prezzi superano la media mobile e l'obiettivo sarà la banda superiore.
              • Prezzi > MA = Acquista, Banda Superiore = Target

            EURUSD Weekly - Strategia BB al rialzo

            • Durante la tendenza al ribasso

            Innanzitutto, dobbiamo capire come si muoveranno i prezzi durante il trend ribassista rispetto alla media mobile, poiché possiamo scoprire che i prezzi si muovono per la maggior parte del tempo durante il trend ribassista al di sotto della sua media (media mobile).

            Quindi, scopriremo che durante la tendenza al ribasso i prezzi si muovono tra la media mobile e la banda inferiore per la maggior parte del tempo. Significa che i prezzi fanno massimi e minimi più bassi mentre i venditori controllano il mercato e i prezzi scendono.

            Tendenza al ribasso

            Tendenza al ribasso

            Qui le bande di Bollinger possono aiutarci a identificare questa tendenza al ribasso poiché vediamo che i prezzi si muovono tra la media mobile e la banda inferiore. L'immagine seguente ne è un esempio e possiamo vedere chiaramente che i prezzi nella zona rossa si muovono in una tendenza al ribasso e si muovono tra la media mobile e la banda inferiore:

            EURUSDDaily - BB con tendenza al ribasso

            La strategia che menzioneremo qui è che dobbiamo:
            • Vendere quando i prezzi passano al di sotto della media mobile e l'obiettivo sarà la banda inferiore.
              • Prezzi < MA = Vendi, Banda Inferiore = Target

             EURUSDDaily - Strategia BB al ribasso

            • Durante Lateralità

            Innanzitutto, dobbiamo capire come si muovono i prezzi durante i movimenti laterali, poiché possiamo scoprire che i movimenti laterali sono qualsiasi movimento tranne il trend rialzista e il trend ribassista.

            La lateralità mostra un equilibrio tra acquirenti e venditori poiché non c'è il pieno controllo sul mercato di una delle parti. Le immagini seguenti sono esempi di alcuni movimenti laterali:

            Lateralità 1

            Lateralità 2

            Lateralità 3

            Lateralità 4

            Quello che segue è un esempio reale di lateralità poiché vediamo chiaramente che i prezzi nella zona verde si muovono lateralmente senza una chiara direzione verso l'alto o verso il basso:

            Lateralità 


            Le figure precedenti sono esempi di movimento laterale e ce ne sono più tipologia di quella menzionata. Il concetto di movimento laterale è che lo è qualsiasi movimento tranne i trend rialzista e ribassista.


            Ora, dobbiamo sapere come si comporterà il movimento laterale rispetto alla media mobile poiché i prezzi non rispettano la media mobile poiché passeranno al di sopra e al di sotto. E la figura seguente ne è un esempio:

             MA con lateralità

            Quindi, come possono muoversi i prezzi con l'indicatore delle bande di Bollinger? I prezzi si muovono tra la fascia inferiore e quella superiore e l'immagine seguente ne è un esempio:

            GBPUSD1H - BB con lateralità

            Secondo quanto sappiamo, ovvero che i prezzi si muovono tra la banda inferiore e la banda superiore, la strategia qui durante una lateralità è acquistare sulla banda inferiore e l'obiettivo sarà la banda superiore, oppure vendere sulla banda superiore e l'obiettivo sarà la banda inferiore.
            • Prezzi sulla Banda Inferiore = Acquistare, banda superiore = Target
            • Prezzi su Banda Superiore = vendere, Banda Inferiore = Target

            GBPUSD1H - BB con strategia laterale


            Nella foto precedente:
            • Possiamo acquistare sulla banda inferiore e prendere profitto sulla banda superiore.
            • Possiamo vendere sulla banda superiore e prendere profitto sulla banda inferiore.

            Progettazione di Sistemi di Strategie con Bande di Bollinger

            In questa parte interessante, impareremo come codificare un sistema di trading algoritmico basato sull'indicatore Bollinger Bands. Impareremo anche come creare tre strategie di trading che abbiamo menzionato prima (strategia rialzista, strategia ribassista e strategia laterale).

            Puoi progettare il tuo sistema di trading come preferisci, da un semplice sistema di trading a un sistema di trading avanzato. Ad esempio, puoi creare e progettare un semplice sistema di trading che genererà un segnale semplice basato su un concetto semplice, quindi agirai in base a questo segnale oppure puoi creare e progettare un sistema di trading avanzato che non ti darà solo un semplice segnale ma fornirà un segnale avanzato basato su una combinazione di concetti correlati e lo eseguirà automaticamente. Ci sono molti approcci diversi. All'interno di questo articolo, tratteremo un semplice sistema di trading: lo creeremo a scopo didattico solo per apprendere il concetto. Sulla base di questa conoscenza, sarai in grado di sviluppare sistemi simili o di progettare il tuo sistema di trading alle tue condizioni. Spero che questo articolo ti sia utile e ti aiuti a raggiungere i tuoi obiettivi di trading o investimento.

            In primo luogo, impareremo come progettare un codice di bande di Bollinger puro che consentirà di visualizzare tre commenti sul grafico con Valore Media Mobile, Valore Banda Superiore e Valore Banda Inferiore.

            Quello che segue è il codice per farlo:

            //+------------------------------------------------------------------+
            //|                                       Simple Bollinger Bands.mq5 |
            //|                                  Copyright 2022, MetaQuotes Ltd. |
            //|                                             https://www.mql5.com |
            //+------------------------------------------------------------------+
            
            //+------------------------------------------------------------------+
            //| Expert tick function                                             |
            //+------------------------------------------------------------------+
            void OnTick()
              {
               //create an array for several prices
               double MiddleBandArray[];
               double UpperBandArray[];
               double LowerBandArray[];
               
               //sort the price array from the cuurent candle downwards
               ArraySetAsSeries(MiddleBandArray,true);
               ArraySetAsSeries(UpperBandArray,true);
               ArraySetAsSeries(LowerBandArray,true);
               
               //define Bollinger Bands
               int BollingerBands = iBands(_Symbol,_Period,20,0,2,PRICE_CLOSE);
               
               //copy price info into the array
               CopyBuffer(BollingerBands,0,0,3,MiddleBandArray);
               CopyBuffer(BollingerBands,1,0,3,UpperBandArray);
               CopyBuffer(BollingerBands,2,0,3,LowerBandArray);
               
               //calcualte EA for the cuurent candle
               double MiddleBandValue=MiddleBandArray[0];
               double UpperBandValue=UpperBandArray[0];
               double LowerBandValue=LowerBandArray[0];
               
               //comments
               Comment("MiddleBandValue: ",MiddleBandValue,"\n",
               "UpperBandValue: ",UpperBandValue,"\n","LowerBandValue: ",LowerBandValue,"\n");
               
              }
            //+------------------------------------------------------------------+
            

            E ora dopo aver scritto il codice e averlo compilato, dobbiamo assicurarci che il codice non abbia errori o avvisi come nell'immagine seguente:

            1- SBB - nessun errore

            Quindi trova il file nella finestra del navigatore e trascinalo sul grafico o fai doppio clic su di esso per eseguirlo e allegarlo al grafico come nelle immagini seguenti:

             2- SBB - file


            3- SBB Finestra di esecuzione


            L'immagine seguente mostra un grafico con il nostro programma in esecuzione:

            4- SBB allegate alla grafico

            Ora impareremo come progettare le nostre strategie semplici con le bande di Bollinger.
              Strategia 1:
                • Modello di Strategia con Bande di Bollinger in trend rialzista: 
                • Prezzi > MA = Acquista, Banda Superiore = Prendi l'obiettivo, oppure = Nessun segnale

                Modello di strategia BB rialzista

                Quello che segue è il codice per farlo:

                //+------------------------------------------------------------------+
                //|                                          Uptrend BB strategy.mq5 |
                //|                                  Copyright 2022, MetaQuotes Ltd. |
                //|                                             https://www.mql5.com |
                //+------------------------------------------------------------------+
                //+------------------------------------------------------------------+
                //| Expert tick function                                             |
                //+------------------------------------------------------------------+
                void OnTick()
                  {
                   //define Ask, Bid
                   double Ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
                   double Bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);
                   
                   //create an array for several prices
                   double MiddleBandArray[];
                   double UpperBandArray[];
                   double LowerBandArray[];
                   
                   //sort the price array from the cuurent candle downwards
                   ArraySetAsSeries(MiddleBandArray,true);
                   ArraySetAsSeries(UpperBandArray,true);
                   ArraySetAsSeries(LowerBandArray,true);
                   
                   //define Bollinger Bands
                   int BollingerBands = iBands(_Symbol,_Period,20,0,2,PRICE_CLOSE);
                   
                   
                   //copy price info into the array
                   CopyBuffer(BollingerBands,0,0,3,MiddleBandArray);
                   CopyBuffer(BollingerBands,1,0,3,UpperBandArray);
                   CopyBuffer(BollingerBands,2,0,3,LowerBandArray);
                   
                   //calcualte EA for the cuurent candle
                   double MiddleBandValue=MiddleBandArray[0];
                   double UpperBandValue=UpperBandArray[0];
                   double LowerBandValue=LowerBandArray[0];
                   
                   //giving buy signal when price > MA
                   if (
                      (Ask>=MiddleBandArray[0])
                   && (Ask<UpperBandArray[0])
                      )
                         {
                         Comment("BUY");
                         }
                    
                   //check if we have a take profit signal      
                   if (
                      (Bid>=UpperBandArray[0])
                      )
                         {
                         Comment("TAKE PROFIT");
                         }  
                   
                      //check if we have no signal      
                   if (
                      (Ask<MiddleBandArray[0])
                      )
                         {
                         Comment("NO SIGNAL");
                         }  
                  }
                //+------------------------------------------------------------------+

                Gli screenshot seguenti mostrano i segnali di questa strategia:

                BB Trend rialzista - compra


                BB Trend rialzista - prendi profitto

                BB Trend rialzista - Nessun segnale

                Successivamente dobbiamo eseguire i seguenti passaggi per:
                • Assicurarci che il tuo codice non contenga errori o avvisi
                • Trovare il file
                • Eseguire il codice trascinando e rilasciando o facendo doppio clic sul file da allegare al grafico

                5- UBB - nessun errore

                 6- File UBB


                7-Finestra di esecuzione UBB


                L'immagine seguente mostra il grafico dopo l'esecuzione del codice. Qui il programma è in esecuzione sul grafico:

                8- UBB allegato al grafico

                  Strategia 2:
                    • Modello di Strategia con Bande di Bollinger in Trend ribassista:
                    • Prezzi < MA = Vendi, Banda Inferiore = Target

                    BB di tendenza al ribasso

                    Quello che segue è il codice per farlo:

                    //+------------------------------------------------------------------+
                    //|                                        Downtrend BB strategy.mq5 |
                    //|                                  Copyright 2022, MetaQuotes Ltd. |
                    //|                                             https://www.mql5.com |
                    //+------------------------------------------------------------------+
                    //+------------------------------------------------------------------+
                    //| Expert tick function                                             |
                    //+------------------------------------------------------------------+
                    void OnTick()
                      {
                       //define Ask, Bid
                       double Ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
                       double Bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);
                       
                       //create an array for several prices
                       double MiddleBandArray[];
                       double UpperBandArray[];
                       double LowerBandArray[];
                       
                       //sort the price array from the cuurent candle downwards
                       ArraySetAsSeries(MiddleBandArray,true);
                       ArraySetAsSeries(UpperBandArray,true);
                       ArraySetAsSeries(LowerBandArray,true);
                       
                       //define Bollinger Bands
                       int BollingerBands = iBands(_Symbol,_Period,20,0,2,PRICE_CLOSE);
                       
                       
                       //copy price info into the array
                       CopyBuffer(BollingerBands,0,0,3,MiddleBandArray);
                       CopyBuffer(BollingerBands,1,0,3,UpperBandArray);
                       CopyBuffer(BollingerBands,2,0,3,LowerBandArray);
                       
                       //calcualte EA for the cuurent candle
                       double MiddleBandValue=MiddleBandArray[0];
                       double UpperBandValue=UpperBandArray[0];
                       double LowerBandValue=LowerBandArray[0];
                       
                       //giving sell signal when price < MA
                       if (
                          (Bid<=MiddleBandArray[0])
                       && (Bid>LowerBandArray[0])
                          )
                             {
                             Comment("SELL");
                             }
                        
                       //check if we have a take profit signal      
                       if (
                          (Ask<=LowerBandArray[0])
                          )
                             {
                             Comment("TAKE PROFIT");
                             }  
                       
                          //check if we have no signal      
                       if (
                          (Bid>MiddleBandArray[0])
                          )
                             {
                             Comment("NO SIGNAL");
                             }  
                      }
                    //+------------------------------------------------------------------+

                    Gli screenshot seguenti mostrano i segnali che sono stati generati da questa strategia:

                    BB Trend ribassista - vendi

                    Trend ribassista BB - prendi profitto

                    Trend ribassista BB - nessun segnale


                    Successivamente eseguiamo nuovamente i passaggi (mostrati negli screenshot) per:
                    • Assicurarci che il tuo codice non contenga errori o avvisi
                    • Trovare il file
                    • Eseguire il codice trascinando e rilasciando o facendo doppio clic sul file da allegare al grafico

                     9- DBB - nessun errore

                     10- File DBB


                     11- Finestra di esecuzione DBB


                    L'immagine seguente, dopo l'esecuzione del codice, mostra come appare sul grafico e come il programma è allegato al grafico:

                     12- DBB allegato al grafico



                      Strategia 3:
                        • Modello di Strategia con Bande di Bollinger in Trend Laterale:
                        • Prezzi sulla Banda Inferiore = Acquistare, Banda Superiore = Target
                        • Prezzi su Banda Superiore = Vendere, Banda Inferiore = Target

                        13- Modello di Strategia BB laterale


                        Quello che segue è il codice per farlo:

                        A- Segnale di acquisto che viene generato quando si tocca la banda inferiore,

                        //+------------------------------------------------------------------+
                        //|                                     Buy sideways BB strategy.mq5 |
                        //|                                  Copyright 2022, MetaQuotes Ltd. |
                        //|                                             https://www.mql5.com |
                        //+------------------------------------------------------------------+
                        //+------------------------------------------------------------------+
                        //| Expert tick function                                             |
                        //+------------------------------------------------------------------+
                        void OnTick()
                          {
                           //define Ask, Bid
                           double Ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
                           double Bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);
                           
                           //create an array for several prices
                           double MiddleBandArray[];
                           double UpperBandArray[];
                           double LowerBandArray[];
                           
                           //sort the price array from the cuurent candle downwards
                           ArraySetAsSeries(MiddleBandArray,true);
                           ArraySetAsSeries(UpperBandArray,true);
                           ArraySetAsSeries(LowerBandArray,true);
                           
                           //define Bollinger Bands
                           int BollingerBands = iBands(_Symbol,_Period,20,0,2,PRICE_CLOSE);
                           
                           
                           //copy price info into the array
                           CopyBuffer(BollingerBands,0,0,3,MiddleBandArray);
                           CopyBuffer(BollingerBands,1,0,3,UpperBandArray);
                           CopyBuffer(BollingerBands,2,0,3,LowerBandArray);
                           
                           //calcualte EA for the cuurent candle
                           double MiddleBandValue=MiddleBandArray[0];
                           double UpperBandValue=UpperBandArray[0];
                           double LowerBandValue=LowerBandArray[0];
                           
                           //giving buy signal when price > MA
                           if (
                              (Ask<=LowerBandArray[0])
                              )
                                 {
                                 Comment("BUY");
                                 }
                            
                           //check if we have a take profit signal      
                           if (
                              (Bid>=UpperBandArray[0])
                              )
                                 {
                                 Comment("TAKE PROFIT");
                                 }  
                           
                          }
                        //+------------------------------------------------------------------+
                        

                        I segnali generati da questa strategia:

                        Acquista segnale - BB laterale

                        TP di segnale di acquisto - BB laterale


                        Passaggi (come mostrato negli screenshot qui sotto) per:
                        • Assicurarci che il tuo codice non contenga errori o avvisi
                        • Trovare il file
                        • Eseguire il codice trascinando e rilasciando o facendo doppio clic sul file da allegare al grafico

                        13- BSBB - nessun errore

                         14- File BSBB


                        15- Finestra di esecuzione BSBB


                        L'immagine seguente, dopo l'esecuzione del codice, mostra come appare sul grafico e come il programma è allegato al grafico:


                         16- BSBB allegato al grafico

                        B- Segnale di vendita che viene generato quando si tocca la banda superiore,

                        Quello che segue è il codice per farlo:
                        //+------------------------------------------------------------------+
                        //|                                    Sell sideways BB strategy.mq5 |
                        //|                                  Copyright 2022, MetaQuotes Ltd. |
                        //|                                             https://www.mql5.com |
                        //+------------------------------------------------------------------+
                        //+------------------------------------------------------------------+
                        //| Expert tick function                                             |
                        //+------------------------------------------------------------------+
                        void OnTick()
                          {
                           //define Ask, Bid
                           double Ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
                           double Bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);
                           
                           //create an array for several prices
                           double MiddleBandArray[];
                           double UpperBandArray[];
                           double LowerBandArray[];
                           
                           //sort the price array from the cuurent candle downwards
                           ArraySetAsSeries(MiddleBandArray,true);
                           ArraySetAsSeries(UpperBandArray,true);
                           ArraySetAsSeries(LowerBandArray,true);
                           
                           //define Bollinger Bands
                           int BollingerBands = iBands(_Symbol,_Period,20,0,2,PRICE_CLOSE);
                           
                           
                           //copy price info into the array
                           CopyBuffer(BollingerBands,0,0,3,MiddleBandArray);
                           CopyBuffer(BollingerBands,1,0,3,UpperBandArray);
                           CopyBuffer(BollingerBands,2,0,3,LowerBandArray);
                           
                           //calcualte EA for the cuurent candle
                           double MiddleBandValue=MiddleBandArray[0];
                           double UpperBandValue=UpperBandArray[0];
                           double LowerBandValue=LowerBandArray[0];
                           
                           //giving sell signal when price < MA
                           if (
                              (Bid>=UpperBandArray[0])
                              )
                                 {
                                 Comment("SELL");
                                 }
                            
                           //check if we have a take profit signal      
                           if (
                              (Ask<=LowerBandArray[0])
                              )
                                 {
                                 Comment("TAKE PROFIT");
                                 }  
                          }
                        //+------------------------------------------------------------------+
                        

                        Di seguito sono riportate schermate per il segnale generato da questa strategia:

                        . Segnale di vendita - BB laterale

                        TP di segnale di vendita - BB laterale


                        Passaggi (come mostrato negli screenshot qui sotto) per:
                        • Assicurarci che il tuo codice non contenga errori o avvisi
                        • Trovare il file
                        • Eseguire il codice trascinando e rilasciando o facendo doppio clic sul file da allegare al grafico

                         17- SSBB - nessun errore


                         18- File SSBB


                         19- Finestra di esecuzione SSBB


                        L'immagine seguente, dopo l'esecuzione del codice, mostra come appare sul grafico e come il programma è allegato al grafico:

                        20- SSBB allegato al grafico


                        Conclusione

                        Il concetto di Trading Bands è molto interessante in quanto ci dà una chiara aspettativa di un movimento imminente per trarne vantaggio. Ci sono molti metodi per negoziare fra bande come Bollinger Bands che è un ottimo strumento e fornisce vari metodi in quanto può espandersi e contrarsi con i movimenti dei prezzi e possiamo usarlo in tutte le condizioni o tendenze del mercato.

                        Come dicevo prima, in questo articolo ho cercato di condividere il concetto che sta dietro l’indicatore delle bande di Bollinger, come possiamo calcolarlo per migliorarne la comprensione e ho menzionato semplici strategie di trading da impostare con l'indicatore delle bande di Bollinger, quindi abbiamo imparato come progettare semplici sistemi di trading per eseguire semplici strategie.

                        Ora puoi sviluppare o progettare la tua strategia che sarà adatta al tuo stile di trading. Spero che questo articolo sia utile per te e per il tuo trading.


                        Riferimenti

                        • Bollinger sulle bande di Bollinger di John Bollinger
                        • https://www.bollingerbands.com/about-us
                        • https://www.investopedia.com/trading/using-bollinger-bands-to-gauge-trends
                        • https://school.stockcharts.com/doku.php?id=technical_indicators:bollinger_bands



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

                        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.
                        MetaTrader 4 su Linux MetaTrader 4 su Linux
                        In questo articolo, mostriamo un modo semplice per installare MetaTrader 4 sulle versioni Linux più diffuse: Ubuntu e Debian. Questi sistemi sono ampiamente utilizzati sull'hardware del server e sui personal computer degli operatori.
                        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.
                        Stoploss Fisso sulla PriceAction o RSI Fisso (StopLoss Intelligente) Stoploss Fisso sulla PriceAction o RSI Fisso (StopLoss Intelligente)
                        Lo stop loss è uno strumento importante quando si tratta di gestione del denaro nel trading. L'uso efficace di stop-loss, take profit e dimensione del lotto può rendere un trader più costante nel trading e nel complesso più redditizio. Sebbene lo stop-loss sia un ottimo strumento, ci sono delle sfide che si incontrano quando viene utilizzato. La principale è la caccia allo stop loss. Questo articolo esamina come ridurre gli effetti della caccia allo stop loss nel trading e confrontarlo con il classico utilizzo dello stop loss per determinarne la redditività.