English Русский 中文 Español Deutsch 日本語 Português 한국어 Français Türkçe
preview
Impara come progettare un sistema di trading tramite Bear’s Power

Impara come progettare un sistema di trading tramite Bear’s Power

MetaTrader 5Trading | 18 luglio 2023, 16:48
147 0
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Introduzione

In questo nuovo articolo della nostra serie impareremo un nuovo strumento tecnico che può essere utilizzato in nostro favore soprattutto se lo combiniamo con altri strumenti tecnici. Impareremo come creare un sistema di trading tramite l'indicatore tecnico Bear's Power. Come facciamo nei nostri articoli di questa serie, cerchiamo di capire la radice delle cose per usarle in modo efficace. Apprendiamo nel dettaglio l'indicatore Bear's Power attraverso i seguenti argomenti:

  1. Definizione di Bear's Power
  2. Strategia Bear's Power
  3. Schema della strategia Bear's Power
  4. Sistema di trading Bear's Power
  5. Conclusioni

Attraverso l'argomento della definizione del Bear's Power, impareremo nel dettaglio l'indicatore Bear's Power imparando cos'è, cosa misura, come possiamo calcolarlo manualmente per apprendere il concetto di base dietro questo indicatore e come possiamo inserirlo e utilizzarlo nella piattaforma di trading MetaTrader 5. Dopo aver appreso le basi e compreso il concetto principale alla base di questo indicatore, impareremo come usarlo attraverso alcune semplici strategie per approfondire la nostra comprensione e ottenere maggiori informazioni su questo argomento, per migliorare il nostro trading e questo verrà appreso attraverso l'argomento della strategia Bear's Power. Quindi, progetteremo uno schema passo-passo per creare un sistema di trading basato sulle strategie menzionate e questo passaggio è molto importante in quanto ci aiuterà a creare il nostro trading senza intoppi, lo stesso che vedremo nell'argomento dello schema della strategia Bear's Power . Successivamente, arriveremo all'argomento più interessante di questo articolo che è il sistema di trading Bear's Power perché impareremo come creare il sistema di trading basato sulle strategie menzionate tramite MQL5 (MetaQuotes Language) da eseguire nel terminale di trading MetaTrader 5.

Consiglio di provare da solo ad applicare e codificare ciò che impari poiché la pratica è un fattore importante in qualsiasi processo di apprendimento in quanto ti aiuterà a comprendere molto bene l'argomento. Useremo, come menzionato in questo articolo la piattaforma di trading MetaTrader 5 e il suo IDE integrato per scrivere i nostri codici MQL5. Se vuoi sapere come puoi scaricarli e usarli puoi leggere l'argomento Scrivere codice MQL5 in MetaEditor da un articolo precedente.

Avvertenza: Tutte le informazioni sono fornite "così come sono" solo a scopo didattico e non sono preparate per scopi commerciali o di consulenza. Le informazioni non garantiscono alcun tipo di risultato. Se scegliete di utilizzare questi materiali su uno qualsiasi dei vostri conti di trading, lo farete a vostro rischio e pericolo e sarete gli unici responsabili.

Ora, iniziamo i nostri argomenti.


Definizione di Bear's Power

In questo argomento, scopriremo più in dettaglio l'indicatore Bear's Power imparando cos'è, cosa misura e come possiamo calcolarlo e usarlo nella MetaTrader 5. L'indicatore Bear's Power è un indicatore oscillatore che oscilla intorno al livello zero e misura il mercato ribassista, può anche darci un'indicazione che i tori entrano in gioco quando vediamo che gli orsi si sono indeboliti. Riconosciamo tutti che la domanda e l'offerta sono molto importanti in qualsiasi mercato in quanto sono i veicoli e l'energia che stanno muovendo i mercati verso l'alto o verso il basso. Quindi, è importante sapere quanto i tori e gli orsi stanno controllando i mercati. Questo indicatore è stato creato dal Dr. Alexander Elder per misurare questo concetto e vedere quanto gli orsi stanno controllando il mercato.

Come questo indicatore può farlo? A questa domanda possiamo ottenere risposta se impariamo come calcolarlo. Per calcolare questo indicatore Bear's Power seguiremo quanto segue.

  1. Ottenere il minimo del periodo.
  2. Ottenere la media mobile esponenziale (EMA), per saperne di più su di essa e su come possiamo calcolarla, puoi farlo leggendo il mio precedente articolo sulla media mobile, Scopri come progettare diversi sistemi di media mobile.
  3. Ottenere il valore del Bear's Power sottraendo l'EMA dal minimo.

Minimo = il valore più basso durante il periodo.

EMA = la media mobile esponenziale (EMA)

Bear's Power = Minimo - EMA

Sappiamo che gli orsi controllano il mercato, continuano a spingerlo al ribasso per la maggior parte del tempo. Quindi, usiamo il valore del minimo nella formula del calcolo del Bear's Power poiché abbiamo bisogno di misurare questi orsi, quindi otterremo la differenza tra questo minimo e l'EMA per ottenere un indicatore oscillatore che oscilla intorno al livello zero e quando troviamo che il suo valore si avvicina al livello zero e diventa più alto di esso, possiamo avere un'indicazione che gli orsi si stanno indebolendo.

È utile utilizzare questo indicatore con un altro indicatore di tendenza in quanto fornirà approfondimenti più efficaci, come faremo in una delle strategie menzionate in questo articolo. Questo concetto è grandioso ed è una delle migliori caratteristiche dell'analisi tecnica in quanto possiamo usare molti concetti per ottenere maggiori intuizioni e vedere lo strumento da diverse prospettive.

Se vogliamo sapere come possiamo inserire questo indicatore nella MetaTrader 5, possiamo farlo aprendo il terminale di trading premendo Inserisci --> Indicatori --> Oscillatori --> Bears Power. Possiamo vederlo anche attraverso la seguente immagine:

Bears Power Inserito

Dopo aver premuto su "Bears Power" per inserirlo sul grafico troveremo la finestra dei suoi parametri come la seguente:

 Bears Power param

1 - Per determinare il periodo che verrà utilizzato nel calcolo.

2 - Per determinare il colore delle barre del Bear's Power.

3 - Per determinare lo spessore delle barre del Bear's Power.

Dopo aver determinato questi parametri e premuto "OK", troveremo che l'indicatore è inserito nel grafico come il seguente:

Bears Power allegato

Come possiamo vedere nel grafico precedente nella parte inferiore abbiamo l'indicatore allegato al grafico e le sue barre oscillano intorno allo zero come abbiamo accennato quando troviamo il valore sotto lo zero significa che gli orsi hanno il controllo, quando si avvicina allo zero e diventa più alto di questo, significa che sono diventati più deboli.


Strategia Bear's Power

In questa parte impareremo come utilizzare il Bear's Power attraverso semplici strategie che possono essere utilizzate basate sul concetto principale di questo indicatore. I seguenti sono per queste strategie e le loro condizioni. Devo confermare qui che l'obiettivo principale di queste strategie educative è comprendere il concetto principale alla base dell'indicatore e come possiamo utilizzarlo, quindi è necessario testarne qualcuna prima di utilizzarla sul proprio conto reale per assicurarsi che sia giusta per il proprio trading.

    Strategia uno: Movimento Bear's Power

      Secondo questa strategia, abbiamo bisogno di ottenere segnali basati sulla posizione dei valori Bear's Power attuali e precedenti. Se il valore corrente è maggiore del precedente, questo sarà un segnale dell'aumento dell'indicatore Bear's Power. Viceversa, quando il valore corrente è inferiore al valore precedente, questo sarà un segnale di movimento discendente del Bear's Power.

      Semplicemente,

      Bear's Power attuale > Bear's Power precedente --> Bear's Power sta aumentando

      Bear's Power attuale < Bear's Power precedente --> Bear's Power sta diminuendo

        Strategia due: Bear's Power - Forte o Divergenza

          Secondo questa strategia, abbiamo bisogno di ottenere un segnale che ci informi se ci sono forti movimenti o ci sono divergenze valutando quattro valori e sono il minimo attuale, il minimo precedente, il Bear’s power e il Bear’s Power precedente. Se il minimo attuale è inferiore al minimo precedente e l'attuale valore Bear’s Power è inferiore al precedente, questo sarà un segnale di un forte movimento. Nell’altro caso, se l'attuale minimo è inferiore al precedente e l'attuale Bear’s Power è maggiore del precedente, questo sarà un segnale di divergenza rialzista.

          Semplicemente,

          Minimo attuale < minimo precedente e Bear's Power attuale < Bear's Power precedente --> forte movimento

          Minimo attuale < minimo precedente e Bear's Power attuale > Bear's Power precedente --> divergenza rialzista

            Strategia tre:

              Secondo questa strategia, abbiamo bisogno di un’attivazione che possa essere utilizzata per ottenere segnali di acquisto e vendita e valuteremo quattro valori per farlo in base a questa strategia. Questi quattro valori sono il Bear's Power attuale, il livello zero, il valore di chiusura attuale e la media mobile esponenziale attuale. Se l'attuale Bear's Power è maggiore del livello zero e la chiusura attuale è maggiore della media mobile esponenziale, questo sarà un segnale di acquisto. Se l'attuale Bear's Power è inferiore al livello zero e la chiusura attuale è inferiore alla media mobile esponenziale, questo sarà un segnale di vendita.

              Semplicemente,

              Bear's Power attuale > livello zero e chiusura attuale > EMA --> acquisto

              Bear's Power attuale < livello zero e chiusura attuale < EMA --> vendita


              Schema della strategia Bear's Power

              In questo argomento, impareremo come progettare uno schema passo-passo per ciascuna strategia menzionata per aiutarci a creare sistemi di trading senza intoppi e facilmente, dopo aver organizzato le nostre idee in passaggi chiari in questo schema.

                Strategia uno: Movimento Bear's Power

                  Innanzitutto, dobbiamo capire cosa deve fare il programma per organizzare i nostri passaggi, quindi, abbiamo bisogno che il computer controlli due valori ogni tick, e questo avverrà sicuramente dopo aver creato questi valori, che sono l'attuale Bear's Power e il precedente Bear's Power. Abbiamo bisogno che il programma controlli questi valori per decidere quale è maggiore dell'altro. Se quello attuale è maggiore del precedente occorre che il programma o l'expert restituisca un segnale come commento sul grafico con i seguenti:

                  • Il Bear's Power sta aumentando
                  • Il valore del Bear's Power
                  • Il valore precedente del Bear's Power

                  Abbiamo bisogno di far comparire ogni valore in una riga separata. 

                  L'altro scenario è se l'attuale valore di Bear's Power è maggiore di quello precedente, abbiamo bisogno che l’expert advisor restituisca un commento anche con i seguenti valori e ogni valore in una riga separata:

                  • Il Bear's Power sta diminuendo
                  • Il valore del Bear's Power
                  • Il valore precedente del Bear's Power

                  Quindi, quello che segue è uno schema passo-passo per questa strategia per creare un sistema di trading.

                  Schema movimento Bear’s Power

                    Strategia due: Bear's Power - Forte o Divergenza

                      Sulla base di questa strategia, abbiamo bisogno che il sistema di trading controlli quattro valori e sono i valori del minimo attuale, del minimo precedente, Bear’s Power attuale e Bear’s Power precedente. Dopodiché dobbiamo decidere se l'attuale valore minimo è inferiore al precedente e allo stesso tempo il valore attuale del Bear's Power è inferiore al precedente, abbiamo bisogno che il sistema di trading restituisca un segnale come commento sul grafico con i seguenti valori ognuno in una riga separata:

                      • Forte movimento
                      • Valore minimo corrente
                      • Il valore minimo precedente
                      • L'attuale valore del Bear's Power
                      • Valore precedente del Bear's Power

                      Nell'altro caso, se l'attuale valore minimo è inferiore al precedente e, allo stesso tempo, l'attuale valore Bear's Power è maggiore del precedente, occorre che il trading system restituisca un segnale come commento sul grafico con i seguenti valori:

                      • Divergenza rialzista
                      • Valore minimo corrente
                      • Il valore minimo precedente
                      • L'attuale valore del Bear's Power
                      • Valore precedente del Bear's Power

                      Quello che segue è uno schema passo-passo per aiutarci a creare un sistema di trading basato su questa strategia.

                      Bears Power - Schema Forte o Divergenza

                       

                        Strategia tre: Segnali Bear's Power

                          Sulla base di questa strategia, dobbiamo creare un sistema di trading che controlli quattro valori ogni tick e sono Bear's Power attuale, il livello zero, la chiusura attuale e la media mobile esponenziale attuale. Dobbiamo decidere se il Bear's Power attuale è maggiore del livello zero e allo stesso tempo se la chiusura attuale è maggiore della media mobile esponenziale, abbiamo bisogno che l'expert advisor restituisca un segnale come commento sul grafico con i seguenti valori e ciascuno di essi in una riga separata:

                          • Segnale d’Acquisto
                          • Valore di Chiusura Corrente
                          • Valore EMA Attuale
                          • L'attuale valore del Bear's Power

                          Nell'altro caso, se Bear's Power attuale è inferiore a zero e allo stesso tempo la chiusura attuale è inferiore alla media mobile esponenziale, è necessario che il sistema di trading restituisca un segnale come commento con i seguenti valori:

                          • Segnale di Vendita
                          • Valore di Chiusura Corrente
                          • Valore EMA Attuale
                          • L'attuale valore del Bear's Power

                          Quello che segue è uno schema passo-passo per organizzare le nostre idee per creare un sistema di trading basato su questa strategia.

                          Schema Bears Power Signals

                          Sistema di trading Bear's Power

                          In questo argomento impareremo come creare un sistema di trading per ogni strategia citata e creeremo un semplice sistema di trading per Bear's Power che restituisca un segnale come commento sul grafico con il valore attuale del Bear's Power per usarlo come base per tutte le strategie

                          Quanto segue è per il codice per creare questo sistema di trading.

                          Creeremo un array per "bearpower" utilizzando la funzione double:

                          double bearpowerArray[];

                          Ordinamento di questo array creato utilizzando la funzione "ArraySetAsSeries" che restituisce un valore booleano.

                          ArraySetAsSeries(bearpowerArray,true);

                          Definire l'indicatore Bear's Power utilizzando la funzione "iBearsPower" che restituisce l'handle dell'indicatore. I parametri sono:

                          • symbol: useremo (_Symbol) da applicare sul simbolo corrente.
                          • period: utilizzeremo (_Period) da applicare al periodo o timeframe corrente.
                          • ma_period: useremo 13 per il periodo di media mobile da utilizzare.
                          int bearpowerDef = iBearsPower(_Symbol,_Period,13);

                          Riempimento dell'array utilizzando la funzione CopyBuffer per ottenere i dati dall'indicatore Bear's Power. Parametri di questa funzione:

                          • indicator_handle: per l’handle dell'indicatore e useremo (bearpowerDef).     
                          • buffer_num: per il numero di buffer dell'indicatore e useremo (0).
                          • start_pos: per la posizione iniziale e useremo (0).         
                          • count: per la quantità da copiare e useremo (3).                
                          • buffer[]: per l'array di destinazione da copiare e useremo (bearpowerArray).
                          CopyBuffer(bearpowerDef,0,0,3,bearpowerArray);

                          Definire "bearpowerVal" dopo aver creato una variabile utilizzando la funzione "NormalizeDouble" che restituisce il valore di tipo double. Parametri di questa funzione:

                          • value: useremo (bearpowerArray[0]) come numero normalizzato.
                          • digits: useremo (6) come numero di cifre dopo la virgola.
                          double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);

                          Abbiamo bisogno di generare un commento sul grafico con l'attuale valore di Bear's Power utilizzando la funzione "Comment":

                          Comment("Bear's Power Value is ",bearpowerVal);

                          Quello che segue è il codice completo per creare questo sistema di trading:

                          //+------------------------------------------------------------------+
                          //|                                          Simple Bear's Power.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()
                            {
                             double bearpowerArray[];
                          
                             ArraySetAsSeries(bearpowerArray,true);
                          
                             int bearpowerDef = iBearsPower(_Symbol,_Period,13);
                          
                             CopyBuffer(bearpowerDef,0,0,3,bearpowerArray);
                          
                             double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                          
                             Comment("Bear's Power Value is ",bearpowerVal);
                          
                            }
                          //+------------------------------------------------------------------+

                          Dopo aver compilato questo codice troveremo l'expert di questa strategia nella finestra del navigatore come segue:

                           Bears Power Nav

                          Trascinando e rilasciandolo sul grafico troveremo che la finestra di questo expert apparirà come alla seguente:

                           Semplice Bears Power win

                          Dopo aver premuto "OK" troveremo che l'expert è allegato al grafico come il seguente:

                          Semplice Bears Power allegato

                          Come possiamo vedere nell'angolo in alto a destra del grafico precedente, l'expert è allegato. Quindi, possiamo trovare i segnali generati sul grafico come il seguente esempio dai test:

                          Segnale Semplice Bears Power

                          Come possiamo vedere nel grafico precedente nell'angolo in alto a sinistra, abbiamo l'attuale valore di Bear's Power.

                            Strategia uno: Movimento Bear's Power

                              Quello che segue è il codice completo per creare un sistema di trading per questa strategia:

                              //+------------------------------------------------------------------+
                              //|                                        Bear's Power 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()
                                {
                                 double bearpowerArray[];
                              
                                 ArraySetAsSeries(bearpowerArray,true);
                              
                                 int bearpowerDef = iBearsPower(_Symbol,_Period,13);
                              
                                 CopyBuffer(bearpowerDef,0,0,3,bearpowerArray);
                              
                                 double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                                 double bearpowerPrevVal = NormalizeDouble(bearpowerArray[1],6);
                              
                                 if(bearpowerVal>bearpowerPrevVal)
                                   {
                                    Comment("Bear's Power is rising","\n",
                                            "Bear's Power Value is ",bearpowerVal,"\n",
                                            "Bear's Power Previous Value is ",bearpowerPrevVal);
                                   }
                              
                                 if(bearpowerVal<bearpowerPrevVal)
                                   {
                                    Comment("Bear's Power is declining","\n",
                                            "Bear's Power Value is ",bearpowerVal,"\n",
                                            "Bear's Power Previous Value is ",bearpowerPrevVal);
                                   }
                                }
                              //+------------------------------------------------------------------+

                              Differenze in questo codice:

                              Definire il valore attuale Bear's Power "bearpowerVal" e il valore Bear's Power precedente "bearpowerPrevVal":

                                 double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                                 double bearpowerPrevVal = NormalizeDouble(bearpowerArray[1],6);

                              Condizioni della strategia:

                              In caso di aumento:

                                 if(bearpowerVal>bearpowerPrevVal)
                                   {
                                    Comment("Bear's Power is rising","\n",
                                            "Bear's Power Value is ",bearpowerVal,"\n",
                                            "Bear's Power Previous Value is ",bearpowerPrevVal);
                                   }

                              In caso di calo:

                                 if(bearpowerVal<bearpowerPrevVal)
                                   {
                                    Comment("Bear's Power is declining","\n",
                                            "Bear's Power Value is ",bearpowerVal,"\n",
                                            "Bear's Power Previous Value is ",bearpowerPrevVal);
                                   }

                              Dopo aver compilato questo codice troveremo l'expert di questo sistema di trading nella finestra del navigatore come segue:

                               Bears Power Nav 2

                              Trascinando e rilasciando questo expert sul grafico troveremo la finestra di questo expert come alla seguente:

                              Bears Power Movement win

                              Dopo aver premuto "OK" troveremo che sarà allegato al grafico come il seguente:

                              Bears Power Movimento allegato

                              Come possiamo vedere nell'angolo in alto a destra del grafico precedente, l'expert è allegato al grafico. Quindi, possiamo trovare i segnali generati come i seguenti.

                              In caso di aumento con i dati correnti:

                               Bears Power Movimento - ascendente - dati attuali

                              Come possiamo vedere nel grafico precedente nella parte superiore del grafico, abbiamo generato un segnale di aumento, il valore di Bear's Power attuale e il valore di Bear's Power precedente. Nella finestra dei dati, possiamo trovare il valore attuale del Bear's Power.

                              In caso di aumento con dati precedenti:

                              Bears Power Movimento - ascendente - dati precedenti

                              Come possiamo vedere nel grafico precedente, possiamo trovare una differenza nella finestra dei dati in quanto possiamo trovare il valore precedente del Bear's Power.

                              In caso di calo con dati attuali:

                               Bears Power Movimento - in calo - dati attuali

                              Come possiamo vedere nel grafico precedente nella parte superiore del grafico, abbiamo generato un segnale di calo, il valore di Bear's Power attuale e il valore di Bear's Power precedente. Nella finestra dei dati, possiamo trovare il valore attuale del Bear's Power.

                              In caso di calo con i dati precedenti:

                               Bears Power Movimento - in calo - dati precedenti

                              Come possiamo vedere nel grafico precedente, possiamo trovare una differenza nella finestra dei dati in quanto possiamo trovare l'ultimo valore di Bear's Power.

                                Strategia due: Bear's Power - Forte o Divergenza

                                  Quello che segue è il codice completo per creare un sistema di trading per questa strategia:

                                  //+------------------------------------------------------------------+
                                  //|                          Bear's Power - Strong or Divergence.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()
                                    {
                                     double bearpowerArray[];
                                     MqlRates priceArray[];
                                  
                                     ArraySetAsSeries(bearpowerArray,true);
                                     int Data=CopyRates(_Symbol,_Period,0,3,priceArray);
                                  
                                     int bearpowerDef = iBearsPower(_Symbol,_Period,13);
                                  
                                     CopyBuffer(bearpowerDef,0,0,3,bearpowerArray);
                                  
                                     double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                                     double bearpowerPrevVal = NormalizeDouble(bearpowerArray[1],6);
                                  
                                     double currentLowVal=NormalizeDouble(priceArray[2].low,6);
                                     double prevLowVal=NormalizeDouble(priceArray[1].low,6);
                                  
                                     if(currentLowVal<prevLowVal && bearpowerVal<bearpowerPrevVal)
                                       {
                                        Comment("Strong Move","\n",
                                                "Current Low Value is ",currentLowVal,"\n",
                                                "Previous Low Value is ",prevLowVal,"\n",
                                                "Bear's Power Value is ",bearpowerVal,"\n",
                                                "Bear's Power Previous Value is ",bearpowerPrevVal);
                                       }
                                  
                                     if(currentLowVal<prevLowVal && bearpowerVal>bearpowerPrevVal)
                                       {
                                        Comment("Bullish divergence","\n",
                                                "Current Low Value is ",currentLowVal,"\n",
                                                "Previous Low Value is ",prevLowVal,"\n",
                                                "Bear's Power Value is ",bearpowerVal,"\n",
                                                "Bear's Power Previous Value is ",bearpowerPrevVal);
                                       }
                                    }
                                  //+------------------------------------------------------------------+

                                  Differenze in questo codice:

                                  Creazione di due array, bearpowerArray e priceArray:

                                     double bearpowerArray[];
                                     MqlRates priceArray[];

                                  Ordinamento di questi array creati, per bearpowerArray useremo la funzione "ArraySetAsSeries" come abbiamo imparato prima. Per il priceArray, useremo la funzione "CopyRates" per ottenere i dati storici di "MqlRates" e i suoi parametri sono:

                                  • symbol name: useremo (_Symbol).
                                  • timeframe: useremo (_Period).
                                  • start time: useremo (0).
                                  • stop time: useremo (3).
                                  • rates array: useremo (pArray).
                                     ArraySetAsSeries(bearpowerArray,true);
                                     int Data=CopyRates(_Symbol,_Period,0,3,priceArray);

                                  Definire i valori attuali e precedenti di Bear's Power e dei minimi utilizzando la funzione "NormalizeDouble".

                                     double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                                     double bearpowerPrevVal = NormalizeDouble(bearpowerArray[1],6);
                                  
                                     double currentLowVal=NormalizeDouble(priceArray[2].low,6);
                                     double prevLowVal=NormalizeDouble(priceArray[1].low,6);

                                  Condizioni della strategia:

                                  In caso di forte movimento:

                                     if(currentLowVal<prevLowVal && bearpowerVal<bearpowerPrevVal)
                                       {
                                        Comment("Strong Move","\n",
                                                "Current Low Value is ",currentLowVal,"\n",
                                                "Previous Low Value is ",prevLowVal,"\n",
                                                "Bear's Power Value is ",bearpowerVal,"\n",
                                                "Bear's Power Previous Value is ",bearpowerPrevVal);
                                       }

                                  In caso di divergenza rialzista:

                                     if(currentLowVal<prevLowVal && bearpowerVal>bearpowerPrevVal)
                                       {
                                        Comment("Bullish divergence","\n",
                                                "Current Low Value is ",currentLowVal,"\n",
                                                "Previous Low Value is ",prevLowVal,"\n",
                                                "Bear's Power Value is ",bearpowerVal,"\n",
                                                "Bear's Power Previous Value is ",bearpowerPrevVal);
                                       }

                                  Dopo aver compilato questo codice possiamo trovare l'expert di questo sistema di trading nella finestra del navigatore:

                                  Bears Power Nav3

                                  Trascinando e rilasciando questo expert sul grafico desiderato, troveremo la sua finestra come alla seguente:

                                  Bears Power - Forte o Divergenza win

                                  Dopo aver premuto "OK" troveremo che l'expert è allegato al grafico come il seguente:

                                   Bears Power - Forte o Divergenza allegato

                                  Come possiamo vedere nel grafico precedente, nell'angolo in alto a destra è allegato l'expert Bear's Power - Forte o Divergenza. Quindi, possiamo trovare i segnali generati basati su questa strategia come il seguente.

                                  In caso di forte movimento con i dati attuali:

                                   Bears Power - Forte o Divergenza - forte - dati attuali

                                  Come possiamo vedere sul grafico abbiamo il segnale desiderato come commento dei seguenti valori:

                                  • Forte movimento
                                  • Valore del minimo attuale
                                  • Il valore del minimo precedente
                                  • Valore Bear's Power attuale
                                  • Valore Bear's Power precedente 

                                  In caso di forte movimento con i dati precedenti:

                                   Bears Power - Forte o Divergenza - forte - dati precedenti

                                  Come possiamo vedere sul grafico precedente abbiamo lo stesso commento come segnale con gli stessi valori ma con la finestra dati precedente.

                                  In caso di divergenza rialzista con i dati attuali:

                                  Bears Power - Forte o Divergenza - divergenza rialzista - dati attuali

                                  Come possiamo vedere sul grafico precedente abbiamo un commento sul grafico con i seguenti valori:

                                  • Divergenza Rialzista
                                  • Valore del minimo attuale
                                  • Il valore del minimo precedente
                                  • Valore Bear's Power attuale
                                  • Valore Bear's Power precedente  

                                  In caso di divergenza rialzista con i dati precedenti:

                                   Bears Power - Forte o Divergenza - divergenza rialzista - dati precedenti

                                  Come possiamo vedere sul grafico precedente abbiamo un commento sul grafico con lo stesso valore della finestra dati precedenti.

                                    Strategia tre: Segnali Bear's Power

                                      Di seguito è riportato il codice completo per creare un sistema di trading basato su questa strategia.

                                      //+------------------------------------------------------------------+
                                      //|                                         Bear's Power signals.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()
                                        {
                                         double bearpowerArray[];
                                         double maArray[];
                                         MqlRates priceArray[];
                                      
                                         ArraySetAsSeries(bearpowerArray,true);
                                         ArraySetAsSeries(maArray,true);
                                         int Data=CopyRates(_Symbol,_Period,0,3,priceArray);
                                      
                                         int bearpowerDef = iBearsPower(_Symbol,_Period,13);
                                         int maDef = iMA(_Symbol,_Period,13,0,MODE_EMA,PRICE_CLOSE);
                                      
                                         CopyBuffer(bearpowerDef,0,0,3,bearpowerArray);
                                         CopyBuffer(maDef,0,0,3,maArray);
                                      
                                         double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                                      
                                         double emaVal = NormalizeDouble(maArray[0],6);
                                      
                                         double currentClose=NormalizeDouble(priceArray[2].close,6);
                                      
                                         if(bearpowerVal>0 && currentClose>emaVal)
                                           {
                                            Comment("Buy Signal","\n",
                                                    "Current Close Value is ",currentClose,"\n",
                                                    "Current EMA Value is ",emaVal,"\n",
                                                    "Bear's Power Value is ",bearpowerVal);
                                           }
                                      
                                         if(bearpowerVal<0 && currentClose<emaVal)
                                           {
                                            Comment("Sell Signal","\n",
                                                    "Current Close Value is ",currentClose,"\n",
                                                    "Current EMA Value is ",emaVal,"\n",
                                                    "Bear's Power Value is ",bearpowerVal);
                                           }
                                        }
                                      //+------------------------------------------------------------------+
                                      

                                      Differenze in questo codice:

                                      Creazione di tre array, bearpowerArray, naArray e priceArray.

                                         double bearpowerArray[];
                                         double maArray[];
                                         MqlRates priceArray[];

                                      Ordinamento di questi array creati.

                                         ArraySetAsSeries(bearpowerArray,true);
                                         ArraySetAsSeries(maArray,true);
                                         int Data=CopyRates(_Symbol,_Period,0,3,priceArray);

                                      Definire l'indicatore Bear's Power utilizzando "iBearsPower" lo stesso di cui abbiamo parlato prima e l'indicatore della Media Mobile utilizzando la funzione "iMA" che restituisce l’handle dell'indicatore della media mobile.

                                         int bearpowerDef = iBearsPower(_Symbol,_Period,13);
                                         int maDef = iMA(_Symbol,_Period,13,0,MODE_EMA,PRICE_CLOSE);

                                      Riempire l'array utilizzando la funzione "CopyBuffer" per ottenere i dati dagli indicatori Bear's Power e Media Mobile.

                                         CopyBuffer(bearpowerDef,0,0,3,bearpowerArray);
                                         CopyBuffer(maDef,0,0,3,maArray);

                                      Definizione dell'attuale Bear's Power, media mobile esponenziale e prezzo di chiusura corrente.

                                         double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                                         double emaVal = NormalizeDouble(maArray[0],6);
                                         double currentClose=NormalizeDouble(priceArray[2].close,6);

                                      Condizioni di questa strategia:

                                      In caso di segnale di acquisto:

                                         if(bearpowerVal>0 && currentClose>emaVal)
                                           {
                                            Comment("Buy Signal","\n",
                                                    "Current Close Value is ",currentClose,"\n",
                                                    "Current EMA Value is ",emaVal,"\n",
                                                    "Bear's Power Value is ",bearpowerVal);
                                           }

                                      In caso di segnale di vendita:

                                         if(bearpowerVal<0 && currentClose<emaVal)
                                           {
                                            Comment("Sell Signal","\n",
                                                    "Current Close Value is ",currentClose,"\n",
                                                    "Current EMA Value is ",emaVal,"\n",
                                                    "Bear's Power Value is ",bearpowerVal);
                                           }

                                      Dopo aver compilato questo codice troveremo questo expert nella finestra del navigatore come al seguente:

                                      Bears Power Nav copia 4

                                      Trascinando e rilasciando questo expert troveremo la sua finestra come alla seguente:

                                      Segnali Bears Power win

                                      Dopo aver premuto "OK" troveremo che l'esperto è allegato al grafico come il seguente:

                                      Segnali Bears Power allegato

                                      Possiamo vedere che l'esperto è allegato al grafico nell'angolo in alto a destra. Quindi, possiamo trovare i segnali generati basati su questo sistema di trading come il seguente:

                                      In caso di segnale di acquisto:

                                       Bears Power Signals - acquista

                                      Come possiamo vedere sul grafico abbiamo un commento con i seguenti valori:

                                      • Segnale d’acquisto
                                      • Valore della chiusura attuale
                                      • Valore EMA attuale
                                      • Valore Bear's Power

                                      In caso di segnale di vendita:

                                      Segnali Bears Power - vendi

                                      Come possiamo vedere sul grafico il segnale desiderato come commento con i seguenti valori:

                                      • Segnale di vendita
                                      • Valore della chiusura attuale
                                      • Valore EMA attuale
                                      • Valore Bear's Power


                                      Conclusioni

                                      Per ora, penso che abbiamo coperto le basi di questo indicatore attraverso gli argomenti precedenti. Abbiamo appreso in modo più dettagliato cos'è l'indicatore Bear's Power, cosa misura, come possiamo calcolarlo e come possiamo inserire e utilizzare l'indicatore Bear's Power integrato in MetaTrader 5 attraverso l'argomento della definizione di Bear's Power. Dopo aver compreso l'indicatore nel dettaglio, abbiamo imparato come utilizzare l'indicatore secondo il concetto che ne è alla base attraverso alcune semplici strategie menzionate, l'obiettivo fondamentale di queste strategie è imparare come possiamo utilizzare questo indicatore e devi testarli prima di utilizzarli sul tuo conto reale per assicurarti che siano adatti a te e che tu possa generare profitti da loro. Queste strategie erano le seguenti:

                                      Movimento Bear's Power: questa strategia può essere utilizzata per determinare la direzione dell'indicatore Bear's Power se è in salita o in discesa.

                                      Bear's Power Forte o divergenza: questa strategia può essere utilizzata per determinare se abbiamo un forte movimento o una divergenza.

                                      Segnali Bear's Power: questa strategia può essere utilizzata per ottenere segnali di acquisto o vendita.

                                      Successivamente, abbiamo imparato a progettare uno schema passo-passo per ogni strategia menzionata per aiutarci a creare un sistema di trading in modo fluido e semplice dopo aver organizzato le nostre idee attraverso questi schemi. Quindi, abbiamo imparato l'argomento più interessante in questo articolo che era la creazione di un sistema di trading per ogni strategia menzionata per ottenere segnali automaticamente dopo averli codificati su MQL5 per essere eseguiti sul terminale di trading MetaTrader 5.

                                      Spero che tu abbia applicato e provato a scrivere il codice menzionato da solo in quanto ciò ti aiuterà a migliorare il tuo processo di programmazione e apprendimento se lo desideri e questo migliorerà la tua curva di apprendimento come programmatore. Poiché dobbiamo prestare il più possibile attenzione al codice e cercare di risolvere i problemi anche se dobbiamo migliorare le nostre capacità di programmazione. La programmazione è un'abilità importante che dobbiamo migliorare per aiutarci a fare trading in modo fluido, semplice, efficace e accurato. Ci fa anche risparmiare tempo per fare ciò che facciamo di solito in passaggi specifici e determinati, il computer o il programma può farlo automaticamente in nostro favore e anche questo approccio può aiutarci a evitare emozioni che possono essere molto dannose quando influenzano il nostro trading negativamente poiché il programma farà ciò di cui abbiamo bisogno senza alcuna emozione.

                                      Spero anche che trovi utile questo articolo per migliorare il tuo trading e migliorare i tuoi risultati di trading. Se vuoi leggere altri articoli simili su come imparare a progettare un sistema di trading basato sugli indicatori tecnici più popolari, puoi leggere i miei altri articoli in questa serie poiché abbiamo molti indicatori tecnici che abbiamo condiviso e sistemi di trading progettati basati su di loro e improntati sul concetto di base che ne è dietro, attraverso semplici strategie. Puoi trovare molti degli indicatori tecnici più popolari in questi articoli, ad esempio Media Mobile, MACD, Stocastico, RSI e ADX.

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

                                      Algoritmi di ottimizzazione della popolazione: Ottimizzazione della Colonia di formiche (ACO) Algoritmi di ottimizzazione della popolazione: Ottimizzazione della Colonia di formiche (ACO)
                                      Questa volta analizzerò l'algoritmo di ottimizzazione Ant Colony. L'algoritmo è molto interessante e complesso. Nell'articolo, provo a creare un nuovo tipo di ACO.
                                      Impara come progettare un sistema di trading tramite Force Index Impara come progettare un sistema di trading tramite Force Index
                                      Benvenuti nel nostro nuovo articolo della nostra serie su come progettare un sistema di trading tramite gli indicatori tecnici più popolari. In questo articolo, impareremo a conoscere un nuovo indicatore tecnico e come creare un sistema di trading utilizzando l'indicatore Force Index.
                                      Algoritmi di ottimizzazione della popolazione: Colonia di api artificiali (ABC) Algoritmi di ottimizzazione della popolazione: Colonia di api artificiali (ABC)
                                      In questo articolo studieremo l'algoritmo di una colonia di api artificiali e integreremo le nostre conoscenze con nuovi principi dello studio degli spazi funzionali. In questo articolo presenterò la mia interpretazione della versione classica dell'algoritmo.
                                      Sviluppare un Expert Advisor per il trading da zero (Parte 19): Nuovo sistema di ordini (II) Sviluppare un Expert Advisor per il trading da zero (Parte 19): Nuovo sistema di ordini (II)
                                      In questo articolo svilupperemo un sistema di ordini grafico del tipo "guarda cosa succede". Tieni presente che questa volta non stiamo partendo da zero, ma modificheremo il sistema esistente aggiungendo più oggetti ed eventi sul grafico dell'asset che stiamo tradando.