Home Indicatore tecnico Post

UltraXMA: L'Indicatore Avanzato per MetaTrader 5

Allegato
730.zip (20.86 KB, Scarica 0 volte)

Se sei un trader che cerca di affinare la propria strategia, l'indicatore UltraXMA potrebbe essere la risposta che stavi cercando. Questo strumento si basa sul valore integrale della tendenza, utilizzando una serie di medie mobili con una progressione aritmetica del periodo di smussatura.

L'algoritmo per calcolare le medie mobili funziona tramite alcuni parametri di input che servono come dati di origine:

  • StartLength - valore iniziale minimo della prima linea di segnale;
  • Step - passo di variazione del periodo;
  • StepsTotal - numero totale di variazioni di periodo.

Ogni valore di periodo della serie di medie mobili viene calcolato utilizzando la seguente progressione aritmetica:

XMAPeriod(Number) = StartLength + Number*Step

Dove la variabile Number varia da zero a StepsTotal. I valori ottenuti vengono memorizzati in un array e utilizzati a ogni tick dell'indicatore per ottenere il fan delle medie mobili XMA. Vengono calcolate le direzioni della tendenza attuale per ciascuna delle smussature e il numero di tendenze positive e negative per l'intero array. Il numero finale di tendenze positive e negative viene smussato e utilizzato come linee dell'indicatore, formando una nuvola colorata visualizzata tramite la classe DRAW_FILLING.

La direzione della tendenza in questo indicatore è determinata dal colore della nuvola, mentre la sua forza è rappresentata dalla larghezza della nuvola. Puoi anche utilizzare i livelli di ipercomprato (UpLevel) e ipervenduto (DnLevel) impostati in percentuale rispetto all'ampiezza massima dell'indicatore.

Puoi scegliere tra dieci algoritmi di smussatura:

  1. SMA - media mobile semplice;
  2. EMA - media mobile esponenziale;
  3. SMMA - media mobile smussata;
  4. LWMA - media mobile ponderata lineare;
  5. JJMA - media adattiva JMA;
  6. JurX - smussatura ultralineare;
  7. ParMA - smussatura parabolica;
  8. T3 - smussatura esponenziale multipla di Tillson;
  9. VIDYA - smussatura secondo l'algoritmo di Tushar Chande;
  10. AMA - smussatura secondo l'algoritmo di Perry Kaufman.

È importante notare che i parametri di fase per i diversi algoritmi di smussatura hanno significati completamente diversi. Per il JMA, è una variabile esterna Phase che varia da -100 a +100. Per il T3, è un rapporto di smussatura moltiplicato per 100 per una migliore visualizzazione; per il VIDYA è il periodo dell'oscillatore CMO e per l'AMA è il periodo della EMA lenta. Negli altri algoritmi, questi parametri non influenzano la smussatura. Per l'AMA, il periodo della EMA veloce è un valore fisso e pari a 2 per impostazione predefinita. Anche il rapporto di elevazione alla potenza è uguale a 2 per l'AMA.

L'indicatore utilizza le classi della libreria SmoothAlgorithms.mqh (che devono essere copiate nella cartella terminal_data_folder\MQL5\Include). L'uso delle classi è stato descritto in dettaglio nell'articolo "Averaging Price Series for Intermediate Calculations Without Using Additional Buffers".

Parametri di input dell'indicatore:

//+----------------------------------------------+
//| Parametri di input dell'indicatore |
//+----------------------------------------------+
input ENUM_APPLIED_PRICE Applied_price=PRICE_CLOSE; // Prezzo applicato
//----
input Smooth_Method W_Method=MODE_JJMA;     // Metodo di smussatura
input int StartLength=3;                    // Periodo di smussatura iniziale
input int WPhase=100;                       // Parametro di smussatura
//----  
input uint Step=5;                          // Passo di variazione del periodo
input uint StepsTotal=10;                   // Numero di variazioni di periodo
//----
input Smooth_Method SmoothMethod=MODE_JJMA; // Metodo di smussatura
input int SmoothLength=3;                   // Profondità di smussatura
input int SmoothPhase=100;                  // Parametro di smussatura
input ENUM_APPLIED_PRICE IPC=PRICE_CLOSE;       // Prezzo applicato
//----                          
input uint UpLevel=80;                      // Livello di ipercomprato
input uint DnLevel=20;                      // Livello di ipervenduto
input color UpLevelsColor=Red;              // Colore del livello di ipercomprato
input color DnLevelsColor=Red;              // Colore del livello di ipervenduto
input STYLE Levelstyle=DASH_;               // Stile dei livelli
input WIDTH  LevelsWidth=Width_1;           // Larghezza dei livelli

UltraXMA

Post correlati

Commento (0)