NLMS Adaptive Volatility Trail Multi Filter Signal
- Indicadores
- Versión: 1.28
- Activaciones: 5
NLMS Volatility Trail MultiFilter MT5 - Manual de funcionamiento y especificaciones técnicas
1. Descripción general y objetivo principal
NLMS Volatility Trail MultiFilter MT5 es un indicador algorítmico de análisis de mercado diseñado para MetaTrader 5, que ofrece identificación adaptativa de tendencias, envolventes dinámicas de seguimiento y filtrado de señales en múltiples capas. El sistema se basa en la teoría del procesamiento de señales digitales, canales de volatilidad dinámicos y una matriz modular de filtros secundarios. En su núcleo computacional opera el filtro adaptativo de mínimos cuadrados normalizados (NLMS), una metodología de filtrado transversal de respuesta al impulso finita (FIR) ampliamente aplicada en la cancelación de ruido acústico, el procesamiento de ecos de radar y la estimación econométrica de series temporales.
Las medias móviles lineales estándar (SMA, EMA, LWMA) funcionan con ponderaciones matemáticas estáticas a lo largo de una ventana de retrospectiva fija. Por el contrario, el filtro adaptativo NLMS optimiza continuamente sus coeficientes de derivación internos en cada vela de cierre. Calcula el error instantáneo entre su trayectoria de precios estimada y el precio de mercado real, utilizando este gradiente para ajustar dinámicamente los pesos del filtro. Esto proporciona una rápida capacidad de respuesta ante el impulso emergente, al tiempo que atenúa el ruido durante la consolidación.
Como complemento al núcleo de estimación adaptativa, se incluye una envolvente de volatilidad dinámica de tipo «trailing» basada en el Rango Verdadero Medio (ATR). En lugar de utilizar distancias puntuales estáticas que fallan ante los cambios de volatilidad, la envolvente «trailing» se expande y se contrae automáticamente en función de la dispersión imperante en el mercado. El indicador incorpora dieciséis filtros técnicos secundarios modulares que pueden activarse de forma independiente o combinada: línea de equilibrio del Senkou Span B de Ichimoku (desplazada 26 períodos), cruces dinámicos de los límites del RSI, orientación de la tendencia del RSI en períodos ampliados, umbrales de fuerza de la tendencia del ADX, líneas de base de media móvil única, filtros de tendencia de media móvil doble, verificación de volumen/color/cero del Awesome Oscillator (AO), direccionalidad del SAR parabólico, confirmación del cuerpo de la vela Heiken Ashi sintética, tendencia del CCI y límites de sobrecompra/sobreventa, tendencia del RVI y cruces de señales, filtros del histograma del MACD y del nivel cero, zonas de reacción dinámicas de soporte y resistencia, y niveles de retroceso de Fibonacci derivados de un algoritmo ZigZag de tres parámetros.
El indicador genera cinco búferes de datos específicos diseñados para la inspección visual de los gráficos y la integración automatizada directa en los Expert Advisors mediante declaraciones iCustom estándar.
2. Principios matemáticos y operaciones algorítmicas
El proceso computacional se ejecuta a lo largo de cuatro etapas algorítmicas distintas para cada cotización de precio entrante:
Etapa 1: Estimación adaptativa normalizada de mínimos cuadrados. El filtro FIR transversal modela la determinación del precio mediante una arquitectura adaptativa de tomas. Para un vector de entrada de precios recientes x(n) a lo largo de N tomas (InpTaps), la salida de precio estimada y(n) se calcula mediante el producto escalar vectorial: y(n) = sum_{j=0}^{N-1} w_j(n) * x(n - 1 - j), donde w_j(n) representa el coeficiente de ponderación de la toma. El error de predicción e(n) se calcula comparando el precio real de la fuente d(n) (InpSource): e(n) = d(n) - y(n). Para mantener la estabilidad numérica en distintos rangos de precios, las correcciones de los pesos se normalizan mediante la energía instantánea de la señal: w_j(n+1) = w_j(n) + [mu / (epsilon + ||x(n)||^2)] * e(n) * x(n - 1 - j), donde mu (InpMu) es la tasa de aprendizaje, epsilon (InpEps) es la constante de regularización y ||x(n)||² es la suma de los cuadrados de las entradas de precios. Para garantizar el determinismo y eliminar el repainting, las actualizaciones de los pesos se producen exclusivamente al cierre de las barras históricas (i < rates_total - 1). La barra activa aún no cerrada utiliza los pesos establecidos para trazar trayectorias en tiempo real sin alterar los estados internos del filtro.
Etapa 2: Canal de volatilidad dinámico con seguimiento ATR. El rango verdadero medio (ATR) se calcula a lo largo de un período de retrospectiva seleccionable (InpAtrPeriod): TR = max(Máx[i] - Mín[i], |Máx[i] - Cierre[i-1]|, |Mín[i] - Close[i-1]|), ATR = (1 / InpAtrPeriod) * sum_{k=0}^{InpAtrPeriod-1} TR[i-k]. Se proyectan bandas de volatilidad simétricas alrededor de la curva adaptativa: Banda superior = nlms + (ATR * InpAtrFactor), Banda inferior = nlms - (ATR * InpAtrFactor). La línea de seguimiento (TrailBuffer) se evalúa de forma recursiva: Si la banda inferior > prev_trail, Trail = banda inferior; en caso contrario, si la banda superior < prev_trail, Trail = banda superior; en caso contrario, Trail = prev_trail. Este mecanismo de ajuste garantiza que los stops de protección sigan la tendencia y solo se inviertan cuando la evolución del precio supere los límites de la envolvente de volatilidad.
Etapa 3: Estado de la dirección de la tendencia e indexación visual por colores. Los cambios en el estado direccional se detectan a partir de tres valores de seguimiento consecutivos (trail, prev_t, prev2_t): se produce una inflexión alcista cuando trail > prev_t y prev_t <= prev2_t (TrendDirBuffer = +1, ColorBuffer = 1 / Lima). Se produce una inflexión bajista cuando el trail < prev_t y prev_t >= prev2_t (TrendDirBuffer = -1, ColorBuffer = 2 / Rojo). A falta de un cambio de inflexión, se mantiene el estado de tendencia existente (ColorBuffer = 0 / Gris durante la inicialización).
Etapa 4: Verificación modular con múltiples filtros y generación de señales. Cuando se produce una inflexión de tendencia en una barra cerrada, la señal potencial se evalúa frente a todos los módulos de filtro secundarios activos. Se traza una señal de flecha direccional y se envían alertas si, y solo si, todos los filtros habilitados dan como resultado «verdadero».
3. Protocolo de ejecución de señales y arquitectura sin repintado
El repintado de señales es un modo de fallo inaceptable en el software de trading. NLMS Volatility Trail MultiFilter MT5 implementa estrictas medidas de seguridad programáticas:
- Compromiso de señal en barras cerradas: Las rutinas de generación de señales que controlan BuyBuffer y SellBuffer se limitan estrictamente a las barras cerradas confirmadas (índice de barra i < rates_total - 1). La vela activa (índice de barra rates_total - 1) se omite por completo durante la colocación de la flecha. Una vez que se cierra una barra y se traza una flecha, esta permanece fijada de forma permanente en el búfer del gráfico. No desaparecerá, ni modificará sus coordenadas, ni se recalculará en los ticks posteriores, las actualizaciones del gráfico o los reinicios del terminal.
- Dinámica del trail en tiempo real: La línea de seguimiento del NLMS y el búfer de color se actualizan en la vela abierta (barra 0) para proporcionar información en tiempo real sobre la distancia a los umbrales de seguimiento. Sin embargo, este cálculo en tiempo real no confirma las flechas de señal ni activa notificaciones hasta que se haya completado el cierre de la vela.
- Eliminación de alertas duplicadas: El gestor interno de alertas realiza un seguimiento de la marca de tiempo de la última alerta confirmada (last_alert_time) y restringe las alertas de audio, los cuadros de diálogo emergentes y las notificaciones push estrictamente a los eventos de barras completadas (i == rates_total - 2). Esto garantiza que los operadores reciban exactamente una notificación por cada evento de señal confirmado, evitando falsas activaciones dobles causadas por el ruido del mercado intrabarral.
4. Lógica técnica de todos los módulos de filtro
Los operadores pueden ejecutar el NLMS Volatility Trail como un motor direccional independiente o combinarlo con cualquier combinación de los dieciséis filtros técnicos integrados:
- Filtro Ichimoku Senkou Span B: evalúa el equilibrio durante el periodo Ichimoku_SenkouB (por defecto, 52), proyectado hacia atrás por Ichimoku_Kijun (por defecto, 26 barras). La señal de COMPRA requiere que el precio de cierre se sitúe estrictamente por encima del nivel desplazado de Senkou Span B. Para VENDER, es necesario que el precio de cierre se sitúe estrictamente por debajo del nivel desplazado de Senkou Span B.
- Filtro de cruce del RSI: mide el impulso utilizando el índice de fuerza relativa (RSI) durante el periodo RSI_Length (por defecto, 14). Para una señal de COMPRA, es necesario que el RSI de la barra cerrada cruce al alza desde abajo el nivel de sobreventa (por defecto, 30,0). Para una señal de VENTA, es necesario que el RSI de la barra cerrada cruce a la baja desde arriba el nivel de sobrecompra (por defecto, 70,0).
- Filtro de fuerza de tendencia ADX: evalúa la fuerza de la tendencia mediante el índice direccional medio (ADX) durante el periodo ADX_Period (por defecto, 10). Tanto las señales de COMPRA como las de VENTA requieren que el ADX sea ≥ ADX_Min_Level (por defecto, 20,0). Por debajo de 20,0, el mercado se clasifica como sin tendencia y se suprimen las señales.
- Filtro de media móvil única: aplica una media móvil estructural (MA_Period por defecto 50, MA_Method por defecto SMA, MA_Shift por defecto 0). La señal de COMPRA requiere que Close[i] > MA[i]; la señal de VENTA requiere que Close[i] < MA[i], lo que garantiza que las operaciones se ajusten a la línea de tendencia dominante.
- Filtro de tendencia RSI 75: utiliza un RSI ampliado de 75 períodos (RSI_Filter_Period por defecto 75). Para COMPRAR se requiere que el RSI 75 > 50,0; para VENDER se requiere que el RSI 75 < 50,0, lo que permite diferenciar los regímenes alcistas generales de las fases bajistas.
- Filtro de doble media móvil: evalúa la media móvil rápida A (MA_A_Period, por defecto 30, EMA) y la media móvil lenta B (MA_B_Period, por defecto 140, EMA). La orden de COMPRA requiere que MA A > MA B; la orden de VENTA requiere que MA A < MA B.
- Filtros del oscilador Awesome (AO): Calcula la diferencia entre las medias móviles simples (SMA) de 5 y 34 períodos de los precios medianos. Cuenta con tres modos opcionales: (a) Filtro de volumen: para COMPRAR se requiere que AO ≥ AO_Buy_Min (por defecto 4,0); para VENDER se requiere que AO ≤ AO_Sell_Max (por defecto -4,0); (b) Filtro de color: para COMPRAR se requiere que AO[i] > AO[i-1]; para VENDER se requiere que AO[i] < AO[i-1]; (c) Filtro de cero: para COMPRAR se requiere que AO > 0 y que sea ascendente; para VENDER se requiere que AO < 0 y que sea descendente.
- Filtro SAR parabólico: utiliza el SAR parabólico con el paso SAR_Step (por defecto 0,02) y el límite SAR_Maximum (por defecto 0,2). Para COMPRAR se requiere que Close[i] > SAR[i]; para VENDER se requiere que Close[i] < SAR[i].
- Filtro Heiken Ashi: Calcula los cuerpos sintéticos de las velas Heiken Ashi: HA_Close = (Open + High + Low + Close) / 4; HA_Open = (HA_Open[prev] + HA_Close[prev]) / 2. Para una orden de COMPRA se requiere que HA_Close > HA_Open (vela verde); para una orden de VENTA se requiere que HA_Close < HA_Open (vela roja).
- Filtro de tendencia CCI: utiliza el índice de canal de materias primas (CCI) sobre CCI_Period (por defecto 50). Para COMPRAR se requiere que CCI > 0,0; para VENDER se requiere que CCI < 0,0.
- Filtro CCI de sobrecompra y sobreventa: utiliza el CCI de corto plazo sobre el periodo CCI_OBOS_Period (por defecto, 14). Para COMPRAR se requiere que CCI > CCI_Overbought (por defecto 100,0); para VENDER se requiere que CCI < CCI_Oversold (por defecto -100,0).
- Filtro de tendencia RVI: evalúa el índice de vigor relativo (RVI) durante el periodo RVI_Period (por defecto, 75). Para COMPRAR se requiere que el RVI sea > 0,0; para VENDER, que el RVI sea < 0,0.
- Filtro de señal RVI: compara la línea principal del RVI con su línea de señal simétrica ponderada a lo largo del RVI_Signal_Period (por defecto 20). Para una señal de COMPRA, se requiere que RVI principal > RVI de señal; para una señal de VENTA, se requiere que RVI principal < RVI de señal.
- Filtros de histograma y cero del MACD: se configuran mediante una EMA rápida de 12, una EMA lenta de 26 y una SMA de señal de 9. En el modo de histograma del MACD, para una orden de COMPRA se requiere que el delta del histograma sea > 0, mientras que para una orden de VENTA se requiere que el delta sea < 0. En el modo «MACD Zero», la señal de COMPRA requiere que el MACD principal sea > 0,0, mientras que la señal de VENTA requiere que el MACD principal sea < 0,0.
- Filtro de soporte y resistencia: analiza la ventana retrospectiva SR_Period (por defecto, 50 barras) en busca de extremos de oscilación con un corredor de SR_Zone_Points (por defecto, 80 puntos). Para una señal de COMPRA, es necesario que el precio mínimo toque o supere el soporte; para una señal de VENTA, es necesario que el precio máximo toque o supere la resistencia.
- Filtro de Fibonacci: identifica oscilaciones recientes utilizando la lógica ZigZag (Profundidad 12, Desviación 5, Retroceso 3). Calcula los límites de retroceso Fib_Level_1 (0,382) y Fib_Level_2 (0,618). Las órdenes de COMPRA y VENTA requieren que el rango de la barra actual se cruce con esta zona de retroceso de Fibonacci.
5. Características técnicas clave
- Filtrado digital adaptativo: el algoritmo FIR transversal minimiza continuamente el error de seguimiento, lo que permite un seguimiento ágil de la tendencia durante las fases alcistas, al tiempo que filtra las oscilaciones durante las consolidaciones del mercado.
- Canal dinámico de seguimiento de la volatilidad ATR: los límites de seguimiento se ajustan automáticamente en función de la dispersión del mercado en tiempo real, evitando distancias fijas entre puntos que fallan durante los cambios de régimen.
- Dieciséis bloques de filtro modulares: cada filtro secundario puede activarse de forma independiente o combinarse simultáneamente para construir criterios de validación de operaciones a medida en diversos instrumentos financieros.
- Ejecución sin repintado: los cálculos y el trazado de flechas se limitan estrictamente a las barras cerradas completadas (índice de barra 1), lo que garantiza que las auditorías históricas de los gráficos coincidan con la ejecución en tiempo real.
- Alertas multicanal: notificaciones instantáneas a través de alertas emergentes nativas en el escritorio, reproducción de audio personalizable (.wav) y notificaciones push a terminales MetaTrader móviles a través de MetaQuotes ID.
- Integración perfecta con los EA: cinco búferes estandarizados permiten la lectura directa por parte de los Asesores Expertos mediante llamadas a funciones iCustom estándar.
- Eficiencia en el uso de recursos: la gestión inteligente de punteros, la liberación explícita de identificadores técnicos al desinicializarse (OnDeinit) y las restricciones de bucle garantizan un funcionamiento fluido con múltiples gráficos.
6. Configuración operativa y recomendaciones sobre marcos temporales
- Clases de activos compatibles: principales pares de divisas (EURUSD, GBPUSD, USDJPY, AUDUSD, USDCAD), pares de divisas cruzados (EURJPY, GBPJPY, EURGBP), metales preciosos (XAUUSD, XAGUSD), CFD sobre índices (US30, US500, USTEC, GER40) y materias primas energéticas líquidas (USOIL, UKOIL).
- Marcos temporales recomendados:
* Scalping: M1, M5 (configuración recomendada: ajustes rápidos de ATR, filtro ADX y RSI Cross).
* Operaciones intradía / Swing intradía: M15, M30, H1 (configuración recomendada: ajustes predeterminados de NLMS con Ichimoku Senkou Span B, media móvil simple (MA) 50 o media móvil doble (MA) 30/140).
* Operaciones de tendencia macro: H4, D1 (configuración recomendada: NLMS con RSI 75, línea cero del MACD y retroceso de Fibonacci).
- Entorno del bróker: Totalmente compatible tanto con cuentas de cobertura (Hedging) como de compensación (Netting) en MetaTrader 5. Se recomiendan los niveles de cuenta «Raw Spread» o ECN para estrategias a corto plazo, con el fin de minimizar la fricción en las transacciones. Aunque la ejecución de baja latencia o el alojamiento VPS resultan ventajosos para el scalping de alta frecuencia, el indicador funciona de forma fiable en configuraciones estándar de ordenadores de sobremesa para particulares.
7. Documentación completa de los parámetros de entrada
Ajustes de NLMS:
- InpTaps (por defecto: 2) -> Número de pesos de los tap del filtro en la memoria FIR transversal (valor mínimo 2).
- InpMu (por defecto: 0,1) -> Parámetro de tamaño del paso de adaptación/tasa de aprendizaje que controla la velocidad de ajuste de las ponderaciones.
- InpEps (por defecto: 0,5) -> Factor de amortiguación de regularización que evita la inestabilidad numérica durante periodos de baja volatilidad del mercado.
- InpAtrPeriod (por defecto: 7) -> Período de retrospectiva en barras utilizado para calcular la volatilidad del rango verdadero medio (ATR).
- InpAtrFactor (por defecto: 0,5) → Multiplicador aplicado al ATR para determinar la anchura del desplazamiento de la banda de seguimiento.
- InpSource (por defecto: PRICE_CLOSE) -> Serie de precios aplicada (PRICE_CLOSE, PRICE_OPEN, PRICE_HIGH, PRICE_LOW, etc.).
Configuración de señales:
- InpShowBuySell (Por defecto: true) -> Activa o desactiva la visualización de flechas direccionales de COMPRA y VENTA en el gráfico.
- InpArrowOffset (por defecto: 30) -> Distancia vertical en puntos entre los extremos de las velas y las flechas.
- InpAlertOnSignal (por defecto: false) -> Activa los cuadros de diálogo emergentes nativos de MetaTrader al confirmarse la señal.
- InpPushNotify (por defecto: false) -> Activa las notificaciones push enviadas a la aplicación móvil de MetaTrader 5 a través del ID de MetaQuotes.
- InpPlaySound (por defecto: false) -> Activa o desactiva las alertas sonoras al confirmarse la señal.
- InpBuySound (Por defecto: «alert.wav») -> Archivo de audio que se reproduce al confirmarse una señal alcista de COMPRA.
- InpSellSound (por defecto: «alert2.wav») -> Archivo de audio que se reproduce al confirmarse una señal bajista de VENTA.
Modo de filtro - Filtro Ichimoku Senkou Span B:
- Use_Ichimoku_Filter (por defecto: false) -> Activa o desactiva el filtro de tendencia Ichimoku Senkou Span B.
- Ichimoku_SenkouB (por defecto: 52) -> Período de retrospectiva en barras para la línea de base del Senkou Span B ((52 máximos + 52 mínimos) / 2).
- Ichimoku_Kijun (por defecto: 26) -> Desplazamiento horizontal aplicado al Senkou Span B con respecto a la barra actual.
Modo de filtro - Filtro de cruce del RSI:
- Use_RSI_Cross_Filter (Por defecto: false) -> Activa la verificación dinámica de la ruptura de los límites de sobreventa/sobrecompra del RSI.
- RSI_Length (Por defecto: 14) -> Período de cálculo en barras para el índice de fuerza relativa.
- RSI_Price_Source (por defecto: PRICE_CLOSE) -> Serie de precios utilizada en el cálculo del RSI.
- Sobrevenda (Por defecto: 30,0) -> Umbral de sobrevenda; el cruce al alza confirma una señal de COMPRA.
- Sobrecompra (Por defecto: 70,0) -> Umbral de sobrecompra; el cruce a la baja confirma una VENTA.
Modo de filtro - Filtro ADX:
- Use_ADX_Filter (Por defecto: false) -> Activa el filtro de fuerza de tendencia del Índice Directional Promedio.
- ADX_Period (por defecto: 10) -> Período de cálculo en barras para el sistema de movimiento direccional.
- ADX_Min_Level (por defecto: 20,0) -> Umbral mínimo requerido del ADX. Se suprimen las señales por debajo de este nivel.
Modo de filtro - Filtro de media móvil única:
- Use_MA_Filter (por defecto: false) -> Activa el filtro estructural de media móvil única.
- MA_Period (Por defecto: 50) -> Período de promediado en barras para la media móvil.
- MA_Method (Por defecto: MODE_SMA) -> Método matemático de suavizado (MODE_SMA, MODE_EMA, MODE_SMMA, MODE_LWMA).
- MA_Shift (por defecto: 0) -> Desplazamiento horizontal en barras.
Modo de filtro - Filtro RSI 75:
- Use_RSI75_Filter (por defecto: false) -> Activa el filtrado de la macrotendencia mediante el RSI de período ampliado.
- RSI_Filter_Period (Por defecto: 75) -> Período de retrospectiva en barras para la línea de referencia del RSI macro (COMPRAR por encima de 50, VENDER por debajo de 50).
Modo de filtro - Filtro de doble media móvil:
- Use_DoubleMA_Filter (por defecto: false) -> Activa la orientación direccional de la media móvil doble.
- MA_A_Period (Por defecto: 30) -> Período de promediado en barras para la media móvil rápida A.
- MA_A_Method (por defecto: MODE_EMA) -> Algoritmo de suavizado para la media móvil rápida A.
- MA_A_Applied (por defecto: PRICE_CLOSE) -> Fuente de precios para la media móvil rápida A.
- MA_A_Shift (Por defecto: 0) -> Desplazamiento en barras para la media móvil rápida A.
- MA_B_Period (por defecto: 140) -> Período de promediado en barras para la media móvil lenta B.
- MA_B_Method (por defecto: MODE_EMA) -> Algoritmo de suavizado para la media móvil lenta B.
- MA_B_Applied (por defecto: PRICE_CLOSE) -> Fuente de precios para la media móvil lenta B.
- MA_B_Shift (por defecto: 0) -> Desplazamiento en barras de la media móvil lenta B.
Modo de filtro - Filtro del oscilador Awesome:
- Use_AO_Filter (Por defecto: false) -> Conmutador principal para el filtrado del Oscilador Impresionante.
- Use_AO_Volume_Filter (por defecto: false) -> Impone umbrales mínimos de amplitud en las barras del histograma del AO.
- AO_Buy_Min (por defecto: 4,0) -> Valor mínimo positivo del AO necesario para autorizar una COMPRA.
- AO_Sell_Max (Por defecto: -4,0) -> Valor máximo negativo del AO necesario para autorizar una VENTA.
- Use_AO_Color_Filter (Por defecto: false) -> Requiere una barra del AO ascendente para la orden de COMPRA y una barra descendente para la orden de VENTA.
- Use_AO_Zero_Filter (Por defecto: false) -> Impone que la posición del AO esté por encima de 0,0 para una orden de COMPRA y por debajo de 0,0 para una orden de VENTA.
Modo de filtro - Filtro SAR parabólico:
- Use_SAR_Filter (Por defecto: false) -> Activa la confirmación direccional del SAR parabólico.
- SAR_Step (por defecto: 0,02) -> Factor de paso de aceleración del precio.
- SAR_Maximum (Por defecto: 0,2) -> Límite superior de saturación para el factor de aceleración.
Modo de filtro - Filtro Heiken Ashi:
- Use_HeikenAshi_Filter (por defecto: false) -> Activa la validación del color del cuerpo de las velas Heiken Ashi sintéticas (verde para COMPRAR, rojo para VENDER).
Modo de filtro - Filtro de tendencia CCI:
- Use_CCI_Filter (Por defecto: false) -> Activa el filtro de la línea cero del CCI macro (COMPRAR por encima de 0, VENDER por debajo de 0).
- CCI_Period (por defecto: 50) -> Período de promediado en barras para el CCI de tendencia.
- CCI_Applied (Por defecto: PRICE_CLOSE) -> Datos de precio aplicados a la fórmula del CCI.
Modo de filtro - Filtro de sobrecompra y sobreventa del CCI:
- Use_CCI_OBOS_Filter (Por defecto: false) -> Activa la confirmación de ruptura de sobrecompra/sobreventa del CCI de ciclo corto.
- CCI_OBOS_Period (por defecto: 14) -> Período de cálculo en barras para el CCI de impulso.
- CCI_OBOS_Applied (Por defecto: PRICE_CLOSE) -> Fuente de precios aplicada para el CCI de impulso.
- CCI_Overbought (Por defecto: 100,0) -> Nivel umbral de sobrecompra necesario para la autorización de COMPRA.
- CCI_Oversold (Por defecto: -100,0) -> Nivel umbral de sobreventa necesario para la autorización de VENTA.
Modo de filtro - Filtro de tendencia RVI:
- Use_RVI_Filter (Por defecto: false) -> Activa la confirmación direccional de la línea cero del Índice de Vigor Relativo.
- RVI_Period (Por defecto: 75) -> Período de cálculo en barras para el RVI de tendencia.
Modo de filtro - Filtro de señal RVI:
- Use_RVI_Signal_Filter (Por defecto: false) -> Activa el filtro de cruce entre la línea principal y la línea de señal del RVI.
- RVI_Signal_Period (por defecto: 20) -> Período de cálculo en barras para el oscilador de señal RVI rápido.
Modo de filtro - Filtros de señal y de cero del MACD:
- Use_MACD_Filter (Por defecto: false) -> Habilita la confirmación del impulso del histograma del MACD (delta > 0 para COMPRAR, delta < 0 para VENDER).
- MACD_FastEMA (Por defecto: 12) -> Período de la media móvil exponencial rápida.
- MACD_SlowEMA (por defecto: 26) -> Período de la media móvil exponencial lenta.
- MACD_SignalSMA (por defecto: 9) -> Período de la media móvil simple de la línea de señal.
- MACD_Applied (Por defecto: PRICE_CLOSE) -> Datos de precios aplicados al cálculo del MACD.
- Use_MACD_Zero_Filter (por defecto: false) -> Obliga a que la línea principal del MACD se sitúe en relación con el cero (por encima de 0 para COMPRAR, por debajo de 0 para VENDER).
Modo de filtro - Filtro de soporte y resistencia:
- Use_SR_Filter (por defecto: false) -> Activa la validación de la interacción estructural entre los límites de precio.
- SR_Period (por defecto: 50) -> Ventana retrospectiva en barras a lo largo de la cual se calculan los máximos y mínimos extremos.
- SR_Zone_Points (por defecto: 80) -> Tolerancia de anchura del margen en puntos del gráfico que define la zona de sensibilidad alrededor de los límites.
Modo de filtro - Filtro de Fibonacci:
- Use_Fib_Filter (por defecto: false) -> Activa el filtro dinámico de la zona de retroceso de Fibonacci.
- Fib_Level_1 (por defecto: 0,382) -> Ratio del límite de retroceso superficial.
- Fib_Level_2 (por defecto: 0,618) -> Límite de la proporción áurea del retroceso profundo.
- ZigZag_Depth (Por defecto: 12) -> Número mínimo de barras sin un extremo conflictivo para la identificación de oscilaciones con ZigZag.
- ZigZag_Deviation (Por defecto: 5) -> Variación mínima del precio en puntos necesaria para establecer un nuevo vértice de oscilación.
- ZigZag_Backstep (por defecto: 3) -> Número mínimo de barras requeridas entre pivotes de oscilación consecutivos.
8. Arquitectura del búfer técnico e integración con EA
Para los desarrolladores de algoritmos cuantitativos, el indicador genera cinco búferes de datos:
- Búfer 0 (INDICATOR_DATA, TrailBuffer): almacena el valor del precio de la línea de seguimiento NLMS.
- Búfer 1 (INDICATOR_COLOR_INDEX, ColorBuffer): almacena el estado visual del color (0 = neutral/gris, 1 = alcista/verde lima, 2 = bajista/rojo).
- Búfer 2 (INDICATOR_DATA, BuyBuffer): almacena la coordenada de precio de las señales de flecha de COMPRA confirmadas. Devuelve EMPTY_VALUE (DBL_MAX) cuando no existe ninguna señal.
- Búfer 3 (INDICATOR_DATA, SellBuffer): Almacena la coordenada de precio de las señales de flecha de VENTA confirmadas. Devuelve EMPTY_VALUE (DBL_MAX) cuando no existe ninguna señal.
- Búfer 4 (INDICATOR_CALCULATIONS, TrendDirBuffer): Almacena la dirección interna de la tendencia (+1 = alcista, -1 = bajista, 0 = indefinida).
Para integrarlo en un asesor experto, inicializa el identificador mediante iCustom y copia los datos del búfer en el índice de barra 1:
int handle = iCustom(_Symbol, _Period, "NLMS_Volatility_Trail_MultiFilter", ...);
double buy[1], sell[1], trend[1];
CopyBuffer(handle, 2, 1, 1, buy);
CopyBuffer(handle, 3, 1, 1, sell);
CopyBuffer(handle, 4, 1, 1, trend);
bool is_buy = (buy[0] != EMPTY_VALUE);
bool is_sell = (sell[0] != EMPTY_VALUE);
9. Preguntas frecuentes (FAQ)
P1: ¿Este indicador recalcula o repinta las señales pasadas?
R1: No. El cálculo de la señal se realiza estrictamente sobre las barras cerradas completas (índice de barra 1). Una vez que una barra se cierra y muestra una flecha, su posición es permanente. La vela abierta activa (barra 0) actualiza dinámicamente la línea de seguimiento en tiempo real, pero no confirma las flechas de señal hasta el cierre de la vela.
P2: ¿Puedo ejecutar este indicador en varios gráficos a la vez?
R2: Sí. El código utiliza identificadores nativos del indicador y libera memoria al desinicializarse. Para mantener la eficiencia del terminal en sistemas con especificaciones más bajas, activa solo los módulos de filtro necesarios para tu configuración específica.
P3: ¿Cómo configuro las notificaciones push en el móvil?
R3: Establece InpPushNotify en «true» en la configuración del indicador y asegúrate de que tu ID de MetaQuotes esté configurado en MetaTrader 5 en Herramientas -> Opciones -> Notificaciones.
10. Aviso sobre riesgos
La negociación de divisas, materias primas, índices y otros instrumentos financieros apalancados conlleva un riesgo sustancial de pérdida de capital y puede no ser adecuada para todos los inversores. Los resultados históricos, los resultados de las pruebas retrospectivas o las simulaciones hipotéticas no predicen los resultados futuros de las operaciones. Este software es un indicador técnico analítico y operativo desarrollado exclusivamente para ayudar a los operadores en el análisis objetivo del mercado; no proporciona asesoramiento financiero, garantías de beneficios ni ejecución automatizada. Prueba siempre el indicador en una cuenta de simulación de demostración para evaluar su comportamiento operativo antes de implementarlo en entornos de negociación reales.
