Imparare come progettare un sistema di trading con l’Alligator

Mohamed Abdelmaaboud | 5 dicembre, 2023

Introduzione

Ecco un nuovo articolo della nostra serie su come progettare un sistema di trading basato sugli indicatori tecnici più popolari. In questo articolo, impareremo a conoscere nel dettaglio l'indicatore Alligator, su cos'è, cosa misura, come possiamo calcolarlo, come leggerlo e utilizzarlo. Quindi creeremo un sistema di trading basato su alcune semplici strategie che si basano sull'obiettivo principale di questo indicatore. Tratteremo questo indicatore attraverso i seguenti argomenti:

  1. Definizione di Alligator
  2. Strategia dell’Alligator
  3. Schema della strategia dell'Alligator
  4. Sistema di trading Alligator
  5. Conclusioni

Vi consiglio di provare ad applicare da soli quanto appreso, in particolare i codici contenuti in questo articolo, per sviluppare le vostre capacità di programmazione, poiché si tratta di un passo importante per raggiungere questo obiettivo di sviluppo. In questo articolo utilizzeremo l'IDE MQL5 (MetaQuotes Language 5) che è integrato nel terminale di trading MetaTrader 5. Se non sapete come scaricare MetaTrader 5 e come utilizzare MQL5, potete leggere l'argomento Scrivere codice MQL5 in MetaEditor per saperne di più.

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 Alligator

L'indicatore tecnico Alligator è un trend-following, sviluppato da Bill Williams. Si basa sul fatto che il trend non è la maggior parte del tempo del periodo degli strumenti del mercato finanziario e che lo è solo per il 15-30% del tempo, mentre consuma la maggior parte del tempo nell'oscillazione o lateralità, dove prende dal 70% all’85% del tempo. Quindi, a volte abbiamo un trend al rialzo o al ribasso, ma nella maggior parte dei casi abbiamo periodi di oscillazione. Se volete saperne di più sui trend, sui loro tipi e su come identificarli, potete leggere l'argomento della definizione di trend dal mio precedente articolo, che vi sarà utile in questo contesto. Utilizza alcuni numeri di Fibonacci nel calcolo, così come vedremo che utilizza tre medie mobili levigate (smoothed) con una serie di numeri a cinque, otto e tredici periodi. Come abbiamo detto, l'indicatore Alligator è composto da tre medie mobili levigate, che sono le seguenti:

Possiamo calcolare questo indicatore manualmente attraverso i seguenti passaggi:

La Mascella dell'Alligator = SMMA (prezzo medio, 13, 8)

I Denti dell'Alligator = SMA (prezzo medio, 8, 5)

Le Labbra dell’Alligator = SMMA (prezzo medio, 5, 3)

Prezzo medio = (Massimo + Minimo)/2

Dove:

SMMA = Media Mobile Levigata (smoothed)

Prezzo medio = prezzo medio dei dati

Massimo = il prezzo più alto

Minimo = il prezzo più basso

Dopo i passaggi precedenti, otterremo l'indicatore Alligator, ma non avremo bisogno di calcolarlo manualmente poiché è un indicatore integrato nel terminale MetaTrader 5 e tutto ciò che dobbiamo fare è sceglierlo tra gli indicatori tecnici disponibili, come di seguito:

All'apertura del terminale MetaTrader 5, premere Inserisci --> Indicatori --> Bill Williams --> Alligator.

 Alligator inserito

In seguito troveremo i suoi parametri come quelli riportati di seguito:

 Param alligator

1 - il periodo delle Mascelle dell'Alligator.

2 - lo scostamento orizzontale delle Mascelle dell'Alligator.

3 - il periodo dei Denti dell’Alligator.

4 - lo scostamento orizzontale dei Denti dell’Alligator.

5 - il periodo delle Labbra dell’Alligator.

6 - lo scostamento orizzontale delle Labbra dell’Alligator.

7 - il metodo di levigatura (smoothing).

8 - il tipo di prezzo utilizzabile.

Attraverso la finestra seguente è possibile determinare lo stile dell'indicatore:

 Alligator param1

1 - il colore della linea delle mascelle.

2 - il tipo di linea delle mascelle.

3 - lo spessore della linea delle mascelle.

4 - il colore della linea dei denti.

5 - il tipo di linea dei denti.

6 - lo spessore della linea dei denti.

7 - il colore della linea delle labbra.

8 - il tipo di linea delle labbra.

9 - lo spessore della linea delle labbra.

Dopo aver determinato tutti i parametri e aver premuto "OK", l'indicatore viene allegato al grafico come segue:

 Alligator allegato

Come si può vedere nel grafico precedente, l'indicatore è stato inserito nel grafico e sono presenti tre linee:

1 - Labbra dell’Alligator

2 - Denti dell’Alligator

3 - Mascelle dell’Alligator

Possiamo leggere l'indicatore semplicemente osservando la posizione di queste linee rispetto ai prezzi. Se il prezzo si trova al di sopra di labbra, denti e mascelle, possiamo dire che la tendenza è al rialzo. Se il prezzo è al di sotto di labbra, denti e mascelle, possiamo dire che la tendenza è al ribasso. Se il prezzo si muove attraverso le tre linee, possiamo dire che abbiamo un andamento laterale.

Strategia dell’Alligator

Ci sono molti modi per utilizzare l'indicatore Alligator nel trading, ma menzionerò delle semplici strategie che possono essere utilizzate sulla base dell'idea principale di questo argomento a scopo didattico e che dovrete testare prima di utilizzarle sul vostro conto reale per assicurarvi che siano redditizie. Potreste scoprire che è necessario ottimizzare le strategie menzionate, ed è normale che possiate farlo per raggiungere la formula migliore che possa essere utile per il vostro stile di trading.

Strategia uno: Alligator Trend Identifier

Sulla base di questa strategia, dobbiamo ottenere segnali rialzisti e ribassisti in base a condizioni specifiche. Se il valore delle labbra è superiore ai valori, dei denti e delle mascelle, e contemporaneamente quello dei denti e superiore a quello delle mascelle, sarà un segnale rialzista. Nell’altro caso, se il valore delle labbra è inferiore a quello dei denti e delle mascelle e allo stesso tempo il valore dei denti è inferiore a quello delle mascelle, sarà un segnale ribassista.

labbra > valore dei denti, labbra > valore delle mascelle e denti > valore delle mascelle --> rialzista

labbra < valore dei denti, labbra < valore delle mascelle e denti < valore delle mascelle --> ribassista

Strategia due: Sistema di segnali alligator

Sulla base di questa strategia, dobbiamo ottenere segnali di acquisto e vendita in base all'incrocio dei valori di labbra, denti e mascella. Se il valore delle labbra è maggiore del valore dei denti e del valore della mascella, si tratta di un segnale di acquisto. Nell'altro scenario, se il valore delle labbra è inferiore a quello dei denti e delle mascelle, si tratta di un segnale di vendita.

valore labbra > valore denti, valore labbra > valore mascelle --> acquistare

valore labbra < valore denti, valore labbra < valore mascelle --> vendere

Strategia tre: Miglioramento del sistema dei segnali dell'alligator

In base a questa strategia, dobbiamo ottenere segnali di acquisto e vendita basati sull'incrocio tra labbra, denti e mascelle e sull'incrocio tra il prezzo di chiusura e il valore dei denti. Se la linea delle labbra è inferiore a quella dei denti e delle mascelle e il prezzo di chiusura è superiore al valore dei denti, sarà un segnale di acquisto. Nell'altro caso, se la linea delle labbra è maggiore a quella dei denti e delle mascelle e il prezzo di chiusura è inferiore al valore dei denti, si tratta di un segnale di vendita.

valore labbra < valore dei denti, valore labbra < valore delle mascelle e prezzo di chiusura > valore denti --> acquistare

valore labbra > valore denti, valore labbra > valore mascelle e prezzo di chiusura < valore denti --> vendere

Schema della strategia dell'Alligator

Ora dobbiamo creare un sistema di trading basato sulle strategie menzionate nell'argomento precedente e per farlo, creeremo uno schema passo-passo che ci aiuterà a creare questo sistema di trading.

Strategia uno: Alligator Trend Identifier

In base a questa strategia, dobbiamo creare un sistema di trading che possa essere utilizzato per generare segnali rialzisti o ribassisti basati sul controllo continuo dei seguenti valori:

È necessario che il sistema di trading determini le posizioni di questi valori per generare segnali adeguati in base a ciò. Se la linea delle labbra è superiore a quella dei denti e a quella delle mascelle e quella dei denti è superiore a quella delle mascelle, in questo caso è necessario che il sistema di trading restituisca i seguenti valori come commento sul grafico:

Nell'altro caso, se la linea delle labbra è inferiore alla linea dei denti e a quella delle mascelle e allo stesso tempo la linea dei denti è inferiore alla linea delle mascelle, in questo caso abbiamo bisogno che il sistema di trading restituisca i seguenti valori come commento sul grafico:

Di seguito lo schema passo-passo di questo sistema di trading:

Schema dell'Alligator Trend Identifier

Strategia due: Sistema di segnali alligator

In base a questa strategia, dobbiamo creare un sistema di trading che possa essere utilizzato per generare segnali di acquisto o vendita basati sul controllo continuo dei seguenti valori per determinare le posizioni di ciascuno di essi:

Se la linea delle labbra è maggiore del valore dei denti e allo stesso tempo la linea delle labbra è maggiore del valore delle mascelle, in questo caso è necessario che il sistema di trading restituisca un commento sul grafico con i seguenti valori:

Nell'altro caso, se la linea delle labbra è inferiore al valore dei denti e allo stesso tempo la linea delle labbra è inferiore alla linea delle mascelle, è necessario che il sistema di trading restituisca un commento sul grafico come segnale con i seguenti valori:

Di seguito lo schema passo-passo di questo sistema di trading:

Schema del sistema di segnali Alligator

Strategia tre: Potenziamento del Sistema Segnali dell'Alligator

In base a questa strategia, dobbiamo creare un sistema di trading che generi segnali di acquisto e vendita basati sul controllo dei seguenti valori per determinare la posizione di ciascuno di essi:

Se il valore delle labbra è inferiore a quello dei denti, la linea delle labbra è inferiore a quella delle mascelle e il prezzo di chiusura diventa maggiore del valore dei denti, il sistema di trading deve restituire un commento sul grafico come segnale con i seguenti valori:

Se la linea delle labbra è maggiore della linea dei denti, la linea delle labbra è maggiore della linea delle mascelle e il prezzo di chiusura diventa inferiore al valore dei denti, il sistema di trading deve restituire un commento sul grafico come segnale con i seguenti valori:

Di seguito lo schema passo-passo di questo sistema di trading:

Schema del sistema di potenziamento dei segnali dell'Alligatore

Sistema di trading Alligator

Ora creeremo un sistema di trading per ogni strategia menzionata da eseguire nel terminale MetaTrader 5 per generare automaticamente i segnali desiderati. Per prima cosa, creeremo un sistema di trading di base per generare un segnale dei valori dei componenti dell’Alligator da utilizzare nel nostro sistema di trading. Di seguito sono riportati i passaggi per creare questo tipo di sistema:

Creare array per ciascuno dei componenti dell'Alligator (Labbra, Denti, Mascelle).

   double jawsArray[];
   double teethArray[];
   double lipsArray[]; 

Ordinare i dati in questi array utilizzando la funzione "ArraySetAsSeries". I suoi parametri:

   ArraySetAsSeries(jawsArray,true);
   ArraySetAsSeries(teethArray,true);
   ArraySetAsSeries(lipsArray,true);

Definizione dell'Alligator mediante la funzione "iAlligator". I suoi parametri:

int alligatorDef=iAlligator(_Symbol,_Period,13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN);

Definizione dei dati e memorizzazione dei risultati mediante la funzione "CopyBuffer". I suoi parametri:

   CopyBuffer(alligatorDef,0,0,3,jawsArray);
   CopyBuffer(alligatorDef,1,0,3,teethArray);
   CopyBuffer(alligatorDef,2,0,3,lipsArray);

Ottenere i valori dei tre componenti.

   double jawsValue=NormalizeDouble(jawsArray[0],5);
   double teethValue=NormalizeDouble(teethArray[0],5);
   double lipsValue=NormalizeDouble(lipsArray[0],5);

Commento con i tre componenti dell'indicatore.

   Comment("jawsValue = ",jawsValue,"\n",
   "teethValue = ",teethValue,"\n",
   "lipsValue = ",lipsValue);

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

//+------------------------------------------------------------------+
//|                                      Simple Alligator 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()
  {
   //creating price array
   double jawsArray[];
   double teethArray[];
   double lipsArray[];   
   //Sorting data
   ArraySetAsSeries(jawsArray,true);
   ArraySetAsSeries(teethArray,true);
   ArraySetAsSeries(lipsArray,true);
   //define Alligator
   int alligatorDef=iAlligator(_Symbol,_Period,13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN);      
   //define data and store result
   CopyBuffer(alligatorDef,0,0,3,jawsArray);
   CopyBuffer(alligatorDef,1,0,3,teethArray);
   CopyBuffer(alligatorDef,2,0,3,lipsArray);
   //get value of current data
   double jawsValue=NormalizeDouble(jawsArray[0],5);
   double teethValue=NormalizeDouble(teethArray[0],5);
   double lipsValue=NormalizeDouble(lipsArray[0],5);
   //comment on the chart
   Comment("jawsValue = ",jawsValue,"\n",
   "teethValue = ",teethValue,"\n",
   "lipsValue = ",lipsValue);
  }
//+------------------------------------------------------------------+

Dopo aver compilato questo codice, lo troveremo nel navigatore, nella cartella Expert Advisors, come al seguente:

Sistema Alligator Semplice nav

Trascinandolo e rilasciandolo sul grafico desiderato, la finestra di questo EA sarà uguale alla seguente:

Finestra Sistema Alligator semplice

Dopo aver premuto "OK" e aver spuntato la voce "Consenti Algo Trading", si otterrà un EA allegato al grafico come quello riportato di seguito:

Sistema alligatore semplice allegato

Come si può vedere nel grafico precedente, nell'angolo in alto a destra, l'EA è allegato. Ora siamo pronti a ricevere i segnali. Di seguito viene riportato un esempio di test per verificare i segnali generati.

 Segnale del sistema Alligator semplice

Come si può vedere nel grafico precedente, abbiamo un commento nell'angolo in alto a sinistra con i seguenti valori:

Valore delle mascelle = n

Valore dei denti = n

Valore delle labbra = n

Strategia uno: Alligator Trend Identifier

Possiamo creare un sistema di trading basato su questa strategia come il seguente codice completo:

//+------------------------------------------------------------------+
//|                                   Alligator Trend Identifier.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()
  {
//creating three arrays of Alligator components
   double jawsArray[];
   double teethArray[];
   double lipsArray[];
//Sorting data
   ArraySetAsSeries(jawsArray,true);
   ArraySetAsSeries(teethArray,true);
   ArraySetAsSeries(lipsArray,true);
//define Alligator
   int alligatorDef=iAlligator(_Symbol,_Period,13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN);
//define data and store result
   CopyBuffer(alligatorDef,0,0,13,jawsArray);
   CopyBuffer(alligatorDef,1,0,13,teethArray);
   CopyBuffer(alligatorDef,2,0,13,lipsArray);
//get value of current data
   double jawsValue=NormalizeDouble(jawsArray[0],5);
   double teethValue=NormalizeDouble(teethArray[0],5);
   double lipsValue=NormalizeDouble(lipsArray[0],5);
//conditions of strategy
   if(lipsValue>teethValue && lipsValue>jawsValue && teethValue>jawsValue)
     {
      Comment("Bullish","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "lipsValue = ",lipsValue);
     }
   if(lipsValue<teethValue && lipsValue<jawsValue && teethValue<jawsValue)
     {
      Comment("Bearish","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "lipsValue = ",lipsValue);
     }
  }
//+------------------------------------------------------------------+

Differenze in questo codice.

Condizioni della strategia, in caso di rialzo:

   if(lipsValue>teethValue && lipsValue>jawsValue && teethValue>jawsValue)
     {
      Comment("Bullish","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "lipsValue = ",lipsValue);
     }

In caso di ribasso:

   if(lipsValue<teethValue && lipsValue<jawsValue && teethValue<jawsValue)
     {
      Comment("Bearish","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "lipsValue = ",lipsValue);
     }

Dopo aver compilato questo codice ed eseguito l'expert creato come abbiamo imparato, troveremo questo EA allegato al grafico come segue:

Alligator Trend Identifier allegato

Come possiamo vedere nel grafico precedente, l'EA è allegato al grafico nell'angolo in alto a destra e siamo pronti a ricevere i nostri segnali rialzisti o ribassisti basati su questa strategia. Di seguito sono riportati alcuni esempi di questi segnali:

In caso di rialzo:

Alligator Trend Identifier - segnale rialzista

Come si può vedere nel grafico precedente, abbiamo un commento come segnale nell'angolo in alto a destra con i seguenti valori:

Abbiamo tre linee che si muovono al di sotto dei prezzi. Abbiamo quindi un segnale rialzista.

In caso di ribasso:

 Alligator Trend Identifier - segnale ribassista

Come possiamo vedere nel grafico precedente, abbiamo un commento come segnale di ribasso nell'angolo in alto a destra con i seguenti valori:

Abbiamo tre linee che si muovono sopra i prezzi, quindi abbiamo un segnale ribassista.

Strategia due: Sistema di segnali alligator

Il codice seguente serve a creare un sistema di trading basato su questa strategia:

//+------------------------------------------------------------------+
//|                                    Alligator Signals 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()
  {
//creating three arrays of Alligator components
   double jawsArray[];
   double teethArray[];
   double lipsArray[];
//Sorting data
   ArraySetAsSeries(jawsArray,true);
   ArraySetAsSeries(teethArray,true);
   ArraySetAsSeries(lipsArray,true);
//define Alligator
   int alligatorDef=iAlligator(_Symbol,_Period,13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN);
//define data and store result
   CopyBuffer(alligatorDef,0,0,13,jawsArray);
   CopyBuffer(alligatorDef,1,0,13,teethArray);
   CopyBuffer(alligatorDef,2,0,13,lipsArray);
//get value of current data
   double jawsValue=NormalizeDouble(jawsArray[0],5);
   double teethValue=NormalizeDouble(teethArray[0],5);
   double lipsValue=NormalizeDouble(lipsArray[0],5);
//conditions of strategy
   if(lipsValue>teethValue && lipsValue>jawsValue)
     {
      Comment("Buy","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "lipsValue = ",lipsValue);
     }
   if(lipsValue<teethValue && lipsValue<jawsValue)
     {
      Comment("Sell","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "lipsValue = ",lipsValue);
     }
  }
//+------------------------------------------------------------------+

Differenze in questo codice.

Condizioni di questa strategia.

In caso di segnale di acquisto:

   if(lipsValue>teethValue && lipsValue>jawsValue)
     {
      Comment("Buy","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "lipsValue = ",lipsValue);
     }

In caso di segnale di vendita:

   if(lipsValue<teethValue && lipsValue<jawsValue)
     {
      Comment("Sell","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "lipsValue = ",lipsValue);
     }

Dopo aver compilato questo codice e averlo eseguito nel terminale di trading, si può notare che è allegato al grafico come il seguente:

Sistema di Segnali Alligator allegato

Nell'angolo in alto a destra del grafico precedente vediamo che l'EA è allegato e siamo pronti a ricevere i nostri segnali di acquisto o di vendita basati su questa strategia, i seguenti sono esempi dai test.

In caso di segnale di acquisto:

Sistema di segnali Alligator - segnale d'acquisto

 

Come si può vedere, il segnale desiderato ha i seguenti valori:

Abbiamo tre linee che si muovono al di sotto dei prezzi, quindi abbiamo un segnale di acquisto.

In caso di segnale di vendita:

 Sistema di segnali Alligator - segnale di vendita

Abbiamo il nostro segnale desiderato con i seguenti valori:

Abbiamo tre linee che si muovono al di sopra dei prezzi, quindi abbiamo un segnale di vendita.

Strategia tre: Miglioramento del Sistema di Segnali dell'Alligator

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

//+------------------------------------------------------------------+
//|                         Alligator Signals System Enhancement.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()
  {
//creating three arrays of Alligator components
   double jawsArray[];
   double teethArray[];
   double lipsArray[];
   MqlRates pArray[];
//Sorting data
   ArraySetAsSeries(jawsArray,true);
   ArraySetAsSeries(teethArray,true);
   ArraySetAsSeries(lipsArray,true);
   int Data=CopyRates(_Symbol,_Period,0,1,pArray);
//define Alligator
   int alligatorDef=iAlligator(_Symbol,_Period,13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN);
//define data and store result
   CopyBuffer(alligatorDef,0,0,13,jawsArray);
   CopyBuffer(alligatorDef,1,0,13,teethArray);
   CopyBuffer(alligatorDef,2,0,13,lipsArray);
//get value of current data
   double jawsValue=NormalizeDouble(jawsArray[0],5);
   double teethValue=NormalizeDouble(teethArray[0],5);
   double lipsValue=NormalizeDouble(lipsArray[0],5);
//conditions of strategy
   if(lipsValue<teethValue && lipsValue<jawsValue && pArray[0].close>teethValue)
     {
      Comment("Buy","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "closingPrice = ",pArray[0].close,"\n",
              "lipsValue = ",lipsValue);
     }
   if(lipsValue>teethValue && lipsValue>jawsValue && pArray[0].close<teethValue)
     {
      Comment("Sell","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "closingPrice = ",pArray[0].close,"\n",
              "lipsValue = ",lipsValue);
     }
  }
//+------------------------------------------------------------------+

Differenze in questo codice.

Creare un ulteriore array per i prezzi utilizzando la funzione "MqlRates" per memorizzare le informazioni su prezzi, volumi e spread.

MqlRates pArray[];

Ottenere i dati storici di MqlRates utilizzando "CopyRates". I suoi parametri:

int Data=CopyRates(_Symbol,_Period,0,1,pArray);

Condizioni della strategia.

In caso di segnale di acquisto:

   if(lipsValue<teethValue && lipsValue<jawsValue && pArray[0].close>teethValue)
     {
      Comment("Buy","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "closingPrice = ",pArray[0].close,"\n",
              "lipsValue = ",lipsValue);
     }

In caso di segnale di vendita:

   if(lipsValue>teethValue && lipsValue>jawsValue && pArray[0].close<teethValue)
     {
      Comment("Sell","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "closingPrice = ",pArray[0].close,"\n",
              "lipsValue = ",lipsValue);
     }

Dopo aver compilato questo codice ed eseguito l'EA, lo troveremo allegato al grafico come il seguente per ottenere i nostri segnali di acquisto e vendita.

 Miglioramento Sistema di Segnali Alligator allegato

Abbiamo allegato l'EA nell'angolo in alto a destra e possiamo ricevere i segnali desiderati, i seguenti sono esempi di test.

In caso di segnale di acquisto:

Miglioramento Sistema di Segnali Alligator - segnale d'acquisto

Abbiamo un commento nell'angolo in alto a sinistra con i seguenti valori:

Poiché le tre linee si muovono al di sopra dei prezzi, possiamo constatare che il prezzo di chiusura ha chiuso al di sopra della linea dei denti dell’Alligator.

In caso di segnale di vendita:

 Miglioramento Sistema di Segnali Alligator - segnale di vendita

Abbiamo un commento come segnale nell'angolo in alto a sinistra:

Poiché le tre linee si muovono al di sotto dei prezzi, possiamo constatare che il prezzo di chiusura ha chiuso al di sotto della linea dei denti di alligatore.

Conclusioni

In questo articolo abbiamo appreso in dettaglio l'indicatore tecnico Alligator, che può essere utilizzato per confermare il trend oltre che per generare segnali di acquisto e vendita. Abbiamo imparato come calcolarlo manualmente e come utilizzarlo in base alle semplici strategie menzionate:

Per ogni strategia menzionata abbiamo progettato uno schema passo-passo che ci aiutasse a organizzare le nostre idee per creare un sistema di trading in modo fluido, semplice ed efficace. Abbiamo anche creato un sistema di trading per ogni strategia menzionata da utilizzare nel terminale di trading MetaTrader 5 e generare segnali automaticamente come da noi progettato e codificato. Devo confermare ancora una volta che dovete testare ogni strategia menzionata prima di utilizzarla sul vostro conto reale per assicurarvi che sia utile e redditizia per voi, in quanto non c'è nulla che sia adatto a tutti noi, inoltre l'obiettivo principale qui è quello di condividere la conoscenza e lo scopo principale di questo articolo è solo l'educazione.

Spero che abbiate provato ad applicare ciò che avete imparato da soli, come vi ho consigliato di migliorare le vostre capacità di codifica e di trarre un beneficio completo dalla lettura di questo articolo e spero che lo abbiate trovato utile per il vostro trading e che abbiate ottenuto utili approfondimenti sull'argomento di questo articolo o su qualsiasi altro argomento correlato. Se volete leggere altri articoli simili, potete leggere i miei articoli precedenti di questa serie, in cui abbiamo condiviso gli indicatori tecnici più popolari come stocastico, RSI, Bande di Bollinger, Medie Mobili, Envelopes, MACD, ADX, ecc. e come possiamo creare un sistema di trading basato su di essi.