Home Indicatore tecnico Post

UltraWPR: L'Indicatore per MetaTrader 5 che Devi Conoscere

Allegato
722.zip (20.68 KB, Scarica 0 volte)

Autore: dm34@mail.ru

L'indicatore UltraWPR si basa sul WPR (Percentuale di Larry Williams, %) e analizza le sue linee di segnale multiple. L'algoritmo di calcolo delle linee di segnale è piuttosto semplice. Ecco i parametri di input dell'indicatore che utilizziamo come dati di partenza:

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

Ogni valore di periodo tra le linee di segnale viene calcolato utilizzando una progressione aritmetica:

SignalPeriod(Number) = StartLength + Number * Step,

dove il valore della variabile Number varia da zero fino a StepsTotal. I valori ottenuti vengono aggiunti a un array di variabili e utilizzati ad ogni tick dell'indicatore per ottenere l'array dei valori smussati del WPR. Le direzioni dell'attuale trend per ciascuna delle smussature vengono calcolate, così come il numero di trend positivi e negativi per l'intero array di valori smussati del WPR. Il numero finale di trend positivi e negativi viene a sua volta smussato e utilizzato come linee dell'indicatore che formano una nuvola colorata, visualizzata tramite la classe DRAW_FILLING.

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

I metodi di smussatura possono essere selezionati tra dieci versioni diverse:

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

È importante notare che i parametri Phase1 e Phase2 hanno significati diversi a seconda dell'algoritmo di smussatura scelto. Per il JMA, ad esempio, è una variabile esterna 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. In altri algoritmi, questi parametri non influenzano la smussatura. Per l'AMA, il periodo della EMA veloce è un valore fisso e pari a 2 di default. Anche il rapporto di elevazione al quadrato è pari 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 di queste classi è stato descritto in modo dettagliato nell'articolo "Media dei Prezzi per Calcoli Intermedi Senza Utilizzare Buffer Aggiuntivi".

Per installare l'indicatore UltraWPR, copia il file compilato nella cartella terminal_data_folder\MQL5\Indicators\.

Parametri di input dell'indicatore:

//+----------------------------------------------+
//| Parametri di input dell'indicatore         |
//+----------------------------------------------+
input int WPR_Period=13;                    // Periodo dell'indicatore WPR
//----
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 del 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 uint UpLevel=80;                      // Livello di ipercomprato, %
input uint DnLevel=20;                      // Livello di ipervenduto, %
input color UpLevelsColor=Blue;             // Colore livello di ipercomprato
input color DnLevelsColor=Blue;             // Colore livello di ipervenduto
input STYLE Levelstyle=DASH_;              // Stile livelli
input WIDTH  LevelsWidth=Width_1;          // Larghezza livelli

UltraWPR

Post correlati

Commento (0)