Autore attuale: Dmitriy.
UltraMFI è un indicatore che si basa sul MFI (Money Flow Index) e sull'analisi delle sue linee di segnale multiple. L'algoritmo di calcolo delle linee di segnale è piuttosto semplice. I parametri di input dell'indicatore sono i seguenti:
- StartLength - valore minimo iniziale della prima linea di segnale;
- Step - passo di cambiamento del periodo;
- StepsTotal - numero totale di cambiamenti di periodo.
Ogni valore di periodo delle linee di segnale viene calcolato usando la progressione aritmetica:
SignalPeriod(Number) = StartLength + Number * Step,
dove la variabile Number varia da zero a StepsTotal. I valori ottenuti vengono aggiunti a un array di variabili e utilizzati ad ogni tick dell'indicatore per generare l'array dei valori smorzati dell'indicatore Percent Range di Larry Williams. Le direzioni della tendenza attuale per ciascun smoothing vengono calcolate e viene determinato anche il numero di tendenze positive e negative per l'intero array di valori MFI smorzati.
Il numero finale di tendenze positive e negative viene a sua volta smorzato e utilizzato come linee dell'indicatore che formano una nuvola colorata, visualizzata tramite la classe di stile DRAW_FILLING.
La direzione della tendenza in questo indicatore è determinata dal colore della nuvola, mentre la sua potenza è determinata dalla larghezza della nuvola. Puoi utilizzare i livelli di ipercomprato (UpLevel) e ipervenduto (DnLevel) che sono impostati in valore percentuale rispetto all'intervallo massimo dell'indicatore.
Gli algoritmi di smoothing possono essere scelti tra dieci possibili versioni:
- SMA - media mobile semplice;
- EMA - media mobile esponenziale;
- SMMA - media mobile smorzata;
- LWMA - media mobile pesata lineare;
- JJMA - media adattiva JMA;
- JJurX - media ultralineare;
- ParMA - media parabolica;
- T3 - smorzamento esponenziale multiplo di Tillson;
- VIDYA - smorzamento usando l'algoritmo di Tushar Chande;
- AMA - smorzamento usando l'algoritmo di Perry Kaufman.
È importante notare che i parametri Phase1 e Phase2 hanno significati totalmente diversi a seconda dell'algoritmo di smoothing scelto. Per JMA, è una variabile Phase esterna che varia da -100 a +100. Per T3, è un rapporto di smorzamento moltiplicato per 100 per una migliore visualizzazione, mentre per VIDYA è il periodo dell'oscillatore CMO e per AMA è il periodo della media mobile lenta. Negli altri algoritmi, questi parametri non influenzano la media. Per AMA, il periodo della media mobile veloce è fisso e pari a 2 per impostazione predefinita. Il rapporto di elevazione alla potenza è anch'esso pari a 2 per AMA.
L'indicatore utilizza le classi della libreria SmoothAlgorithms.mqh (copia le stesse nella directory <terminal_data_directory>\MQL5\Include). Le classi sono state descritte in dettaglio nell'articolo Averaging Price Series for Intermediate Calculations Without Using Additional Buffers.
//+----------------------------------------------+ //| Parametri di input dell'indicatore | //+----------------------------------------------+ input int MFI_Period=13; // Periodo dell'indicatore MFI input ENUM_APPLIED_VOLUME VolumeType=VOLUME_TICK; // Volume dell'indicatore MFI //---- input Smooth_Method W_Method=MODE_JJMA; // Metodo di smoothing input int StartLength=3; // Periodo di media iniziale input int WPhase=100; // Parametro di smoothing // per JJMA varia nell'intervallo -100 ... +100 e influisce sulla qualità del periodo transitorio; // Per VIDIA, è il periodo del CMO, per AMA, è il periodo della media mobile lenta //---- input uint Step=5; // Passo di cambiamento del periodo input uint StepsTotal=10; // Numero di cambiamenti di periodo //---- input Smooth_Method SmoothMethod=MODE_JJMA; // Metodo di smoothing input int SmoothLength=3; // Profondità di smoothing input int SmoothPhase=100 // Parametro di smoothing // per JJMA varia nell'intervallo -100 ... +100 e influisce sulla qualità del periodo transitorio; //---- input uint UpLevel=80; // Livello di ipercomprato in %% input uint DnLevel=20; // Livello di ipervenduto in %% input color UpLevelsColor=Blue; // Colore del livello di ipercomprato input color DnLevelsColor=Blue; // Colore del livello di ipervenduto input STYLE Levelstyle=DASH_; // Stile dei livelli input WIDTH LevelsWidth=Width_1; // Larghezza dei livelli //+----------------------------------------------+

Fig. 1. L'indicatore UltraMFI
Post correlati
- Indice di Volatilità Chaikin: Scegli il Giusto Algoritmo di Smussamento per MetaTrader 5
- Volatilità Stocastica: Indicatore per MetaTrader 5 da Utilizzare sul Grafico
- Notis: L'Indicatore per Misurare la Volatilità su MetaTrader 5
- Indicatore di Equità e Bilancio per MetaTrader 5: Monitoraggio della Tua Performance di Trading
- Indicatore GARCH: Un Estimatore di Volatilità per il Trading Professionale