Impara come progettare un sistema di trading tramite DeMarker

Mohamed Abdelmaaboud | 28 settembre, 2023

Introduzione

Questo nuovo articolo della nostra serie spiega come progettare sistemi di trading basati sugli indicatori tecnici più popolari. Impareremo nel dettaglio un nuovo strumento tecnico o indicatore che può essere utilizzato a nostro favore nel trading. Questo indicatore è l'indicatore DeMarker, lo tratteremo attraverso i seguenti argomenti:

  1. Definizione di DeMarker
  2. Strategia DeMarker
  3. Schema della strategia DeMarker
  4. Sistema di trading DeMarker
  5. Conclusioni

Utilizzeremo il terminale di trading MetaTrader 5 e MQL5 integrato nel terminale per scrivere il codice del sistema di trading e testarlo. Se non sai come scaricare e utilizzare MetaTrader 5, puoi leggere l'argomento Scrivere codice MQL5 in MetaEditor da un articolo precedente per saperne di più.

Ti consiglio di applicare da solo ciò che impari in questo articolo se vuoi sviluppare le tue capacità di trading e programmazione e ottenere il massimo beneficio perché la pratica è un fattore molto importante in ogni fase di apprendimento. Mi piace menzionare e confermare che l'obiettivo principale delle strategie citate è apprendere il concetto principale alla base dell'indicatore. Quindi, l'obiettivo principale è solo educativo e devi testare qualsiasi strategia prima di utilizzarla in un conto reale per assicurarti che sia redditizia o adatta al tuo trading.

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.

Definizione di DeMarker

Se vogliamo identificare e conoscere più in dettaglio l'indicatore DeMarker, dovremo sapere cos'è, cosa misura, come possiamo calcolarlo e come possiamo leggerlo per usarlo in nostro favore. L'indicatore DeMarker è uno strumento tecnico oscillatore ed è stato creato dall'analista tecnico Thomas DeMark. È chiaro che il nome di questo indicatore deriva dal suo creatore ed è anche noto come indicatore "DeM". Questo indicatore tecnico misura la domanda dello strumento e valuta la direzionalità del mercato confrontando i prezzi massimo e minimo attuali con i prezzi precedenti.

E’ possibile calcolare manualmente questo indicatore, seguendo i seguenti passaggi:

DMark (i) = SMA (DeMax, N) / (SMA (DeMax, N) + SMA (DeMin, N))

Dove:


Il DeMax può essere calcolato tramite:

DeMax (i) = MASSIMO (i) - MASSIMO (i - 1)

Altrimenti:

DeMax (i) = 0


Il DeMin può essere calcolato tramite:

DeMin (i) = MINIMO (i - 1) - MINIMO (i)

Altrimenti:

DeMin (i) = 0

Dopo aver calcolato l'indicatore, possiamo scoprire che produce una linea oscillante compresa tra 0 e 1 per misurare la domanda dello strumento, come abbiamo accennato. Al giorno d'oggi non abbiamo bisogno di calcolarlo manualmente perché è integrato nella piattaforma di trading MetaTrader 5 e tutto ciò che dobbiamo fare è sceglierlo tra gli indicatori disponibili per inserirlo sul grafico e leggerlo.

Ecco come possiamo inserire questo indicatore tecnico DeMarker in MetaTrader 5:

Aprendo il terminale di trading MetaTrader 5, premeremo Inserisci --> Indicatori --> Oscillatori --> DeMarker

Inserimento DeM

Successivamente, vedremo la finestra dei parametri di questo indicatore come la seguente:

Param DeM

1 - per determinare il periodo.

2 - per impostare il colore della linea dell'indicatore.

3 - per impostare lo stile della linea dell'indicatore.

4 - per impostare lo spessore della linea dell'indicatore.

Dopo aver impostato i parametri precedenti e premuto "OK", vedremo l'indicatore inserito sul grafico come il seguente:

DeM allegato

Come vediamo, nella parte inferiore del grafico precedente, abbiamo l'indicatore allegato e abbiamo una linea oscillante tra 0 e 1. Possiamo leggere questo indicatore determinando la posizione della linea nell'area menzionata. Se l'indicatore si avvicina a 0,70 significa che abbiamo una situazione di ipercomprato ma se l'indicatore si avvicina a 0,30 significa che abbiamo una situazione di ipervenduto.

Strategia DeMarker

Ora dobbiamo imparare come utilizzare l'indicatore DeMarker in base al concetto principale che ne è dietro. Quindi, impareremo come usarlo attraverso tre semplici strategie.

Strategia uno: Forza del DeMarker

Sulla base di questa strategia, dobbiamo ottenere segnali di DeMarker forte o debole osservando il valore DeMarker e la media degli ultimi 5 periodi dell'indicatore. Se il valore attuale dell'indicatore DeMarker è maggiore degli ultimi 5 periodi di DeMarker, questo sarà un segnale di forza. Nell’altro caso, se il valore attuale dell’indicatore è inferiore agli ultimi 5 periodi di DeMarker, questo sarà un segnale di debolezza.

Semplicemente,

Valore DeMarker >= AVG 5 periodi di DeMarker --> DeMarker forte

Valore DeMarker <= AVG 5 periodi di DeMarker--> DeMarker debole

Strategia due: DeMarker, OB e OS

Sulla base di questa strategia, dobbiamo ricevere segnali quando l'indicatore raggiunge le zone di ipercomprato e ipervenduto. Se il valore attuale di DeMarker è maggiore o uguale al livello di 0,70, questo sarà un segnale di avvicinamento ad una zona di ipercomprato. Se il valore attuale di DeMarker è inferiore al livello 0,30, questo sarà un segnale di avvicinamento a una zona di ipervenduto.

Semplicemente,

Valore DeMarker >= 0,70 --> Ipercomprato

Valore DeMarker <= 0,30 --> Ipervenduto

Strategia tre: Divergenza DeMarker:

Sulla base di questa strategia, dobbiamo ottenere segnali di divergenza rialzista o ribassista che diano un'idea sulla probabilità che il movimento attuale cambi. Dobbiamo ottenere questi segnali osservando quattro valori: il massimo attuale, il massimo precedente, il DeMarker corrente e il DeMarker precedente. È bene ricordare che si tratta di una semplice situazione di divergenza, ma quella più efficace si ha quando si confrontano e si osservano i massimi e i minimi dei prezzi con i massimi e i minimi dell'indicatore. In questa semplice situazione, dobbiamo ottenere un segnale di divergenza ribassista, se il massimo attuale è maggiore del massimo precedente e allo stesso tempo l'attuale DeMarker è inferiore al precedente valore DeMarker. Nell’altro caso, se il minimo attuale è inferiore al minimo precedente e allo stesso tempo il valore attuale di DeMarker è maggiore di quello precedente, questo sarà un segnale di divergenza rialzista.

Semplicemente,

Massimo attuale > massimo precedente e DeMarker attuale < del precedente --> divergenza ribassista

Minimo attuale < minimo precedente e DeMarker attuale > precedente --> divergenza rialzista

Schema della strategia DeMarker

Dopo aver imparato come utilizzare l'indicatore DeMarker attraverso semplici strategie. In questo argomento, creeremo un semplice schema per ciascuna strategia in modo da aiutarci a creare un sistema di trading senza intoppi.

Strategia uno: Forza del DeMarker

Secondo questa strategia, dobbiamo creare un sistema di trading che possa essere utilizzato per controllare automaticamente due valori dopo averli creati o definiti. Questi valori sono il DeMarker attuale e la media degli ultimi cinque valori DeMarker. Se il valore corrente è maggiore della media, abbiamo bisogno che il sistema di trading restituisca i seguenti valori come commento sul grafico:

Nell'altro scenario, se il valore corrente è inferiore alla media, abbiamo bisogno che il sistema di trading restituisca i seguenti valori in base a questa condizione:

Quello che segue è lo schema di questa strategia per crearne il sistema di trading.

Schema forza DeMarker

Strategia due: DeMarker, OB - OS

Secondo questa strategia, dobbiamo creare un sistema di trading che possa essere utilizzato per generare i nostri segnali in base a condizioni specifiche. Abbiamo bisogno che il sistema di trading controlli continuamente tre valori che sono l'attuale valore DeMarker, il livello 0,70 e il livello 0,30 sull'indicatore. Se l'attuale valore DeMarker è maggiore o uguale al livello 0,70, abbiamo bisogno che il sistema di trading restituisca i seguenti valori come commento sul grafico:

Nell'altro scenario, se l'attuale valore DeMarker è inferiore o uguale al livello 0,30, abbiamo bisogno che il sistema di trading restituisca i seguenti valori sul grafico:

Schema OB-OS DeMarker Strategia tre: Divergenza del DeMarker

Secondo questa strategia, dobbiamo creare un sistema di trading che possa essere utilizzato per generare segnali di divergenza rialzista o ribassista controllando continuamente quattro valori. Se il massimo attuale è maggiore del massimo precedente e allo stesso tempo, il valore DeMarker corrente è inferiore al valore DeMarker precedente, abbiamo bisogno che il sistema di trading restituisca i seguenti valori come commento sul grafico:

Nell'altro scenario, se il minimo attuale è inferiore al minimo precedente e allo stesso tempo il valore DeMarker corrente è maggiore del valore DeMarker precedente, abbiamo bisogno che il sistema restituisca i seguenti valori sul grafico:

Schema divergenza

Sistema di trading DeMarker

In questa parte, creeremo un sistema di trading per ciascuna strategia menzionata da eseguire in MetaTrader 5 per generare segnali in automatico. Per prima cosa creeremo un semplice sistema di trading da utilizzare come base per tutte le strategie menzionate. Questo sistema genererà il valore corrente dell'indicatore DeMarker come commento sul grafico e quanto segue spiega come creare questo sistema tramite le seguenti righe di codice:

Primo passo:

Creare un array deMarkerArray utilizzando la funzione "double" che restituisce con i decimali.

double deMarkerArray[];

Secondo passaggio:

Utilizzare la funzione "ArraySetAsSeries" per impostare il flag AS_SERIES su deMarkerArray, che restituisce un valore booleano true o false.

ArraySetAsSeries(deMarkerArray,true);

Terzo passaggio:

Definire l'indicatore utilizzando la funzione "iDeMarker" che restituisce l'handle dell'indicatore DeMarker. I suoi parametri sono:

int deMarkerDef = iDeMarker(_Symbol,_Period,14);

Quarto passaggio:

Ottenere i dati dal buffer dell'indicatore DeMarker utilizzando la funzione "CopyBuffer". I suoi parametri sono:

CopyBuffer(deMarkerDef,0,0,3,deMarkerArray);

Quinto passaggio:

Definizione del valore corrente di deMarker utilizzando la funzione "NormalizeDouble" per restituire un valore di tipo double. I suoi parametri sono:

double deMarkerVal = NormalizeDouble(deMarkerArray[0],6);

Passaggio sei:

Utilizzo della funzione "Comment" per restituire il valore dell'attuale indicatore DeMarker come commento sul grafico.

Comment("DeMarker Value is ",deMarkerVal);

Se desideri il codice completo di questo sistema di trading, puoi vederlo di seguito.

//+------------------------------------------------------------------+
//|                                       Simple DeMarker System.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()
  void OnTick()
  {
   double deMarkerArray[];

   ArraySetAsSeries(deMarkerArray,true);

   int deMarkerDef = iDeMarker(_Symbol,_Period,14);

   CopyBuffer(deMarkerDef,0,0,3,deMarkerArray);

   double deMarkerVal = NormalizeDouble(deMarkerArray[0],6);

   Comment("DeMarker Value is ",deMarkerVal);

  }
//+------------------------------------------------------------------+

Dopo aver compilato questo codice, troveremo l'expert nel navigatore come al seguente:

Nav

Trascinando e rilasciando l'expert sul grafico, troveremo la finestra dello stesso simile alla seguente:

 Finestra DeMarker Semplice

Dopo aver premuto "OK", vedremo che l'expert è allegato al grafico come segue:

DeMarker semplice allegato

Come possiamo vedere sul grafico nell'angolo in alto a destra che il Sistema DeMarker semplice è allegato al grafico, siamo pronti ora ad ottenere i segnali desiderati secondo questa strategia. I passaggi precedenti saranno gli stessi per compilare tutti i codici della strategia menzionata per eseguirli in MetaTrader 5.

Quanto segue riguarda i segnali generati dai test secondo questo semplice sistema di trading:

Come possiamo notare nel grafico, nell'angolo in alto a sinistra, possiamo vedere il valore attuale dell'indicatore DeMarker.

Strategia uno - Forza del DeMarker:

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

//+------------------------------------------------------------------+
//|                                            DeMarker Strength.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
void OnTick()
  {
   double deMarkerArray[];

   ArraySetAsSeries(deMarkerArray,true);

   int deMarkerDef = iDeMarker(_Symbol,_Period,14);

   CopyBuffer(deMarkerDef,0,0,6,deMarkerArray);

   double deMarkerVal = NormalizeDouble(deMarkerArray[0],4);
   double deMarkerVal1 = NormalizeDouble(deMarkerArray[1],4);
   double deMarkerVal2 = NormalizeDouble(deMarkerArray[2],4);
   double deMarkerVal3 = NormalizeDouble(deMarkerArray[3],4);
   double deMarkerVal4 = NormalizeDouble(deMarkerArray[4],4);
   double deMarkerVal5 = NormalizeDouble(deMarkerArray[5],4);

   double deMarkerAvgVal = (deMarkerVal1+deMarkerVal2+deMarkerVal3+deMarkerVal4+deMarkerVal5)/5;


   if(deMarkerVal>deMarkerAvgVal)
     {
      Comment("DeMarker is strong","\n",
              "Current DeMarker Value is ",deMarkerVal,"\n",
              "AVG DeMarker Value is ",deMarkerAvgVal);
     }

   if(deMarkerVal<deMarkerAvgVal)
     {
      Comment("DeMarker is weak","\n",
              "Current DeMarker Value is ",deMarkerVal,"\n",
              "AVG DeMarker Value is ",deMarkerAvgVal);
     }
  }
//+------------------------------------------------------------------+

Differenze in questo codice:

Definizione degli ultimi cinque valori deMarker utilizzando la funzione "NormalizeDouble" dopo aver definito il valore deMarker corrente utilizzando la stessa funzione.

   double deMarkerVal = NormalizeDouble(deMarkerArray[0],4);
   double deMarkerVal1 = NormalizeDouble(deMarkerArray[1],4);
   double deMarkerVal2 = NormalizeDouble(deMarkerArray[2],4);
   double deMarkerVal3 = NormalizeDouble(deMarkerArray[3],4);
   double deMarkerVal4 = NormalizeDouble(deMarkerArray[4],4);
   double deMarkerVal5 = NormalizeDouble(deMarkerArray[5],4);

Calcolo di deMarkerAvgVal in base agli ultimi cinque valori deMarker utilizzando la funzione "double" per creare una variabile deMarkerAvgVal che è uguale alla somma degli ultimi cinque valori calcolati, quindi dividerli per 5 per ottenere il valore medio.

double deMarkerAvgVal = (deMarkerVal1+deMarkerVal2+deMarkerVal3+deMarkerVal4+deMarkerVal5)/5;

Stabilire le condizioni della strategia

confrontando il deMarker corrente con il valore deMarkerAvg. Nel caso di un segnale forte di deMarker, dobbiamo vedere che il valore corrente di deMarker è maggiore del valore di deMarkerAvg. Utilizzeremo la funzione "If" e la sua sintassi:

if(espressione) --> operatore

Nel caso in cui sia forte, quando deMarkerVal è maggiore di deMarkerAvgVal che è l'espressione nella sintassi, abbiamo bisogno che il sistema di trading restituisca un segnale di forza come commento sul grafico, che è l’operatore.

   if(deMarkerVal>deMarkerAvgVal)
     {
      Comment("DeMarker is strong","\n",
              "Current DeMarker Value is ",deMarkerVal,"\n",
              "AVG DeMarker Value is ",deMarkerAvgVal);
     }

In caso di debolezza del deMarker, dobbiamo vedere che il valore corrente di deMarker è inferiore al valore Avg di deMarker che è l'espressione, quindi il suo operatore deve restituire il commento sul grafico con la debolezza e altri valori, ciascun valore in una riga separata .

   if(deMarkerVal<deMarkerAvgVal)
     {
      Comment("DeMarker is weak","\n",
              "Current DeMarker Value is ",deMarkerVal,"\n",
              "AVG DeMarker Value is ",deMarkerAvgVal);
     }

Dopo aver compilato questo codice ed averlo eseguito dal navigatore come abbiamo imparato, possiamo vedere che l'expert di questa strategia è allegato come il seguente:

Forza allegata

Come possiamo vedere nell'angolo in alto a destra, abbiamo l'expert di questa strategia allegato al grafico e siamo pronti a ricevere segnali uguali ai seguenti esempi dai test.

In caso di segnale forte:

Forza - segnale forte

Come possiamo vedere nel grafico nell'angolo in alto a sinistra, questo sistema di trading ha generato un segnale basato su questa strategia di trading ed è uguale al seguente:

In caso di segnale di debolezza:

Forza - Segnale debole

Come possiamo vedere nel grafico nell'angolo in alto a sinistra, abbiamo un segnale simile al seguente:

Strategia due: DeMarker, OB-OS

Quello che segue è il codice completo di questa strategia:

//+------------------------------------------------------------------+
//|                                       Simple DeMarker System.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()
void OnTick()
  {
   double deMarkerArray[];

   ArraySetAsSeries(deMarkerArray,true);

   int deMarkerDef = iDeMarker(_Symbol,_Period,14);

   CopyBuffer(deMarkerDef,0,0,3,deMarkerArray);

   double deMarkerVal = NormalizeDouble(deMarkerArray[0],6);


   if(deMarkerVal<=0.30)
     {
      Comment("Oversold","\n",
              "DeMarker Value is ",deMarkerVal);
     }

   if(deMarkerVal>=0.70)
     {
      Comment("Overbought","\n",
              "DeMarker Value is ",deMarkerVal);
     }
   if(deMarkerVal>0.30 && deMarkerVal<0.70)
     {
      Comment("DeMarker Value is ",deMarkerVal);
     }

  }
//+------------------------------------------------------------------+

Differenze in questo codice:

Condizioni del presente codice.

Nel caso di un segnale di ipervenduto, quando il valore corrente è inferiore o uguale a 0,30 che è l'espressione nella funzione "if", sarà un segnale di ipervenduto che è l'operatore di cui abbiamo bisogno per vederlo come commento il grafico.

   if(deMarkerVal<=0.30)
     {
      Comment("Oversold","\n",
              "DeMarker Value is ",deMarkerVal);
     }

Nel caso di un segnale di ipercomprato che è l'operatore, questa situazione accadrà quando il valore corrente di deMarker è maggiore o uguale a 0,70 che è l'espressione.

   if(deMarkerVal>=0.70)
     {
      Comment("Overbought","\n",
              "DeMarker Value is ",deMarkerVal);
     }

In caso di assenza di segnale o bilanciamento (espressione), verrà segnalato quando il valore corrente del deMarker è compreso tra 0,30 e 0,70 (operatore).

   if(deMarkerVal>0.30 && deMarkerVal<0.70)
     {
      Comment("DeMarker Value is ",deMarkerVal);
     }

Dopo aver compilato questo codice ed eseguito questo expert, lo troveremo allegato al grafico uguale al seguente:

OB-OS allegato

Ora siamo pronti a ricevere segnali basati su questa strategia e quelli che seguono sono esempi tratti dai test.

In caso di ipercomprato:

Segnale DeM, OB - OS - OB

Come possiamo vedere nel grafico precedente nell'angolo in alto a sinistra, il segnale generato è lo stesso del seguente:

In caso di ipervenduto:

Segnale DeM, OB - OS - OS

Come possiamo vedere, il segnale generato è il seguente:

In caso di assenza di segnale o di equilibrio:

DeM, OB - OS - nessun segnale

Come possiamo vedere, abbiamo ottenuto un segnale generato del valore corrente di DeMarker.

Strategia tre: Divergenza del DeMarker

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

//+------------------------------------------------------------------+
//|                                          DeMarker 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 deMarkerArray[];
   MqlRates pArray[];


   ArraySetAsSeries(deMarkerArray,true);
   ArraySetAsSeries(pArray,true);

   int deMarkerDef = iDeMarker(_Symbol,_Period,14);
   int pData = CopyRates(_Symbol,_Period,0,14,pArray);

   CopyBuffer(deMarkerDef,0,0,14,deMarkerArray);

   double deMarkerVal = NormalizeDouble(deMarkerArray[0],4);
   double deMarkerPrevVal = NormalizeDouble(deMarkerArray[1],4);

   double currentHigh = NormalizeDouble(pArray[0].high,6);
   double currentLow = NormalizeDouble(pArray[0].low,6);
   double prevHigh = NormalizeDouble(pArray[1].high,6);
   double prevLow = NormalizeDouble(pArray[1].low,6);

   if(currentHigh>prevHigh && deMarkerVal<deMarkerPrevVal)
     {
      Comment("Bearish divergence","\n",
              "Current High is ",currentHigh,"\n",
              "Prev. High Value is ",prevHigh,"\n",
              "Current DeMarker Value is ",deMarkerVal,"\n",
              "Prev. DeMarker Value is ",deMarkerPrevVal);
     }
   if(currentLow<prevLow && deMarkerVal>deMarkerPrevVal)
     {
      Comment("Bullish divergence","\n",
              "Current Low is ",currentLow,"\n",
              "Prev. Low Value is ",prevLow,"\n",
              "Current DeMarker Value is ",deMarkerVal,"\n",
              "Prev. DeMarker Value is ",deMarkerPrevVal);
     }

  }
//+------------------------------------------------------------------+

Differenze in questo codice.

Creazione di due array, uno per deMarkerArray utilizzando la funzione "double", l'altro per pArray (prezzi) utilizzando la funzione "MqlRates" per memorizzare informazioni su prezzo, volume e spread.

   double deMarkerArray[];
   MqlRates pArray[];

Impostazione del flag AS_SERIES per questi due array creati.

   ArraySetAsSeries(deMarkerArray,true);
   ArraySetAsSeries(pArray,true);

Definizione di deMarketDef, pData

   int deMarkerDef = iDeMarker(_Symbol,_Period,14);
   int pData = CopyRates(_Symbol,_Period,0,14,pArray);

Riempimento di deMarkerArray

CopyBuffer(deMarkerDef,0,0,14,deMarkerArray);

Definizione di deMarkerVal, deMarkerPrevVal, attuale massimo, attuale minimo, massimo precedente e minimo precedente

   double deMarkerVal = NormalizeDouble(deMarkerArray[0],4);
   double deMarkerPrevVal = NormalizeDouble(deMarkerArray[1],4);

   double currentHigh = NormalizeDouble(pArray[0].high,6);
   double currentLow = NormalizeDouble(pArray[0].low,6);
   double prevHigh = NormalizeDouble(pArray[1].high,6);
   double prevLow = NormalizeDouble(pArray[1].low,6);

Condizioni della strategia.

In caso di divergenza ribassista:

   if(currentHigh>prevHigh && deMarkerVal<deMarkerPrevVal)
     {
      Comment("Bearish divergence","\n",
              "Current High is ",currentHigh,"\n",
              "Prev. High Value is ",prevHigh,"\n",
              "Current DeMarker Value is ",deMarkerVal,"\n",
              "Prev. DeMarker Value is ",deMarkerPrevVal);
     }

In caso di divergenza rialzista:

   if(currentLow<prevLow && deMarkerVal>deMarkerPrevVal)
     {
      Comment("Bullish divergence","\n",
              "Current Low is ",currentLow,"\n",
              "Prev. Low Value is ",prevLow,"\n",
              "Current DeMarker Value is ",deMarkerVal,"\n",
              "Prev. DeMarker Value is ",deMarkerPrevVal);
     }

Dopo aver compilato anche questo codice, possiamo trovarlo nel navigatore per eseguirlo. Quindi lo troveremo allegato allo schema come al seguente:

Divergenza allegata

Come possiamo vedere nell'angolo in alto a sinistra del grafico precedente, abbiamo l'expert allegato e ora possiamo ricevere segnali da questo expert in base a questa strategia di trading uguale alla seguente.

 In caso di divergenza rialzista:

 Segnale di divergenza rialzista

Come possiamo vedere nell'angolo in alto a sinistra del grafico precedente, abbiamo il seguente segnale generato:

In caso di divergenza ribassista:

 Segnale di divergenza ribassista

Come possiamo vedere nell'angolo in alto a sinistra del grafico precedente, abbiamo il seguente segnale generato:

Conclusioni

Secondo quello che hai appreso in questo articolo, si suppone che tu abbia già identificato in dettaglio questo indicatore tecnico DeMarker perché abbiamo imparato cos'è, cosa misura, come possiamo calcolarlo e come possiamo leggerlo e utilizzarlo attraverso semplici strategie basato sul concetto principale dietro di esso. Queste semplici strategie erano:

In aggiunta a ciò, abbiamo progettato uno schema passo passo per ciascuna strategia menzionata per aiutarci a creare un sistema di trading senza intoppi. Quindi, abbiamo appreso l'argomento più interessante perché abbiamo creato un sistema di trading basato su ciò che abbiamo progettato negli schemi delle strategie menzionate per ricevere segnali automaticamente tramite MetaTrader 5.

Confermo ancora una volta che devi testare qualsiasi strategia prima di utilizzarla per assicurarti che sia adatta al tuo trading perché non esiste qualcosa di adatto a tutte le persone. Spero che questo articolo ti sia utile e che tu abbia ottenuto spunti utili sull'argomento dell'articolo o su eventuali argomenti correlati. Se desideri leggere di più su articoli simili, puoi leggere i miei articoli precedenti in questa serie per principianti sugli indicatori tecnici e su come possiamo creare un semplice sistema di trading basato su di essi.