Autor actual: Dmitriy.
Hoy vamos a explorar UltraMFI, un potente indicador basado en el Índice de Flujo de Dinero (MFI). Este indicador utiliza un análisis de múltiples líneas de señal que te ayudará a tomar decisiones más informadas en tus operaciones.
¿Cómo funciona UltraMFI?
El algoritmo para calcular las líneas de señal se basa en varios parámetros de entrada:
- StartLength - valor mínimo inicial de la primera línea de señal;
- Step - paso de cambio de periodo;
- StepsTotal - número total de cambios de periodo.
Los valores de los periodos se calculan utilizando una progresión aritmética:
SignalPeriod(Number) = StartLength + Number * Step,
donde el valor de la variable Number varía de cero a StepsTotal. Estos valores se añaden a un array que se utiliza en cada tick del indicador para obtener los valores suavizados del indicador de Rango Porcentual de Larry Williams. A partir de estos, se determinan las direcciones de la tendencia actual y el número de tendencias positivas y negativas para todo el array de valores MFI suavizados.
El número final de tendencias positivas y negativas se suaviza y se utiliza como las líneas del indicador, formando una nube de color que se muestra gracias a la clase de estilo DRAW_FILLING.
Interpretación de la Nube de Color
La dirección de la tendencia en este indicador se determina por el color de la nube, mientras que su fuerza se mide por el ancho de la nube. Puedes utilizar los niveles de sobrecompra (UpLevel) y sobreventa (DnLevel) que se establecen en un valor porcentual del rango máximo del indicador.
Opciones de Suavizado
UltraMFI te permite elegir entre diez métodos de suavizado diferentes:
- SMA - media móvil simple;
- EMA - media móvil exponencial;
- SMMA - media móvil suavizada;
- LWMA - media móvil ponderada lineal;
- JJMA - media adaptativa JMA;
- JJurX - promedio ultralineal;
- ParMA - promedio parabólico;
- T3 - suavizado exponencial múltiple de Tillson;
- VIDYA - suavizado utilizando el algoritmo de Tushar Chande;
- AMA - suavizado utilizando el algoritmo de Perry Kaufman.
Es importante mencionar que los parámetros Phase1 y Phase2 tienen significados diferentes según el algoritmo de suavizado que elijas. Por ejemplo, para JMA, es una variable externa que varía de -100 a +100. Para T3, se trata de una relación de suavizado multiplicada por 100 para mejor visualización; para VIDYA, es el periodo del oscilador CMO y para AMA, es el periodo de la EMA lenta. En otros algoritmos, estos parámetros no afectan el promedio.
UltraMFI utiliza las clases de la biblioteca SmoothAlgorithms.mqh (asegúrate de copiarlas a <directorio_de_datos_del_terminal>\MQL5\Include). Estas clases se describen en detalle en el artículo Averaging Price Series for Intermediate Calculations Without Using Additional Buffers.
//+----------------------------------------------+ //| Parámetros de entrada del indicador | //+----------------------------------------------+ input int MFI_Period=13; // Periodo del indicador MFI input ENUM_APPLIED_VOLUME VolumeType=VOLUME_TICK; // Volumen del indicador MFI //---- input Smooth_Method W_Method=MODE_JJMA; // Método de suavizado input int StartLength=3; // Periodo inicial de promediado input int WPhase=100 // Parámetro de suavizado // para JJMA varía en el rango -100 ... +100 y afecta la calidad del periodo transitorio; // Para VIDIA, es el periodo CMO, para AMA es el periodo de la media móvil lenta //---- input uint Step=5 // Paso de cambio de periodo input uint StepsTotal=10; // Número total de cambios de periodo //---- input Smooth_Method SmoothMethod=MODE_JJMA; // Método de suavizado input int SmoothLength=3 // Profundidad de suavizado input int SmoothPhase=100 // Parámetro de suavizado // para JJMA varía en el rango -100 ... +100 y afecta la calidad del periodo transitorio; //---- input uint UpLevel=80 // Nivel de sobrecompra en %% input uint DnLevel=20 // Nivel de sobreventa en %% input color UpLevelsColor=Blue; // Color del nivel de sobrecompra input color DnLevelsColor=Blue; // Color del nivel de sobreventa input STYLE Levelstyle=DASH_; // Estilo de los niveles input WIDTH LevelsWidth=Width_1; // Ancho de los niveles //+----------------------------------------------+

Fig. 1. El indicador UltraMFI
Publicaciones relacionadas
- Volatilidad Estocástica: Indicador en Gráficos para MetaTrader 5
- iStochKomposterAlert: El Indicador de Señales para MetaTrader 5 con Alertas
- Alertas de Señales con el Indicador Iin_MA para MetaTrader 5
- PPO_SignAlert: Tu nuevo aliado de señales en MetaTrader 5
- DSSBressertSignAlert: Indicador para MetaTrader 5 con Alertas