UltraXMA: L'Indicatore Avanzato per MetaTrader 5

Mike 2012.01.31 22:26 62 0 0
Allegato

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 |//+----------------------------------------------+inputENUM_APPLIED_PRICE Applied_price=PRICE_CLOSE; // Prezzo applicato//----input Smooth_Method W_Method=MODE_JJMA;     // Metodo di smussaturainputint StartLength=3;                    // Periodo di smussatura inizialeinputint WPhase=100;                       // Parametro di smussatura//----  inputuint Step=5;                          // Passo di variazione del periodoinputuint StepsTotal=10;                   // Numero di variazioni di periodo//----input Smooth_Method SmoothMethod=MODE_JJMA; // Metodo di smussaturainputint SmoothLength=3;                   // Profondità di smussaturainputint SmoothPhase=100;                  // Parametro di smussaturainputENUM_APPLIED_PRICE IPC=PRICE_CLOSE;       // Prezzo applicato//----                          inputuint UpLevel=80;                      // Livello di ipercompratoinputuint DnLevel=20;                      // Livello di ipervendutoinputcolor UpLevelsColor=Red;              // Colore del livello di ipercompratoinputcolor DnLevelsColor=Red;              // Colore del livello di ipervendutoinput STYLE Levelstyle=DASH_;               // Stile dei livelliinput WIDTH  LevelsWidth=Width_1;           // Larghezza dei livelli

UltraXMA

Elenco
Commento 0