EA de momentum con ROC para MT5 sin código
El indicador Rate of Change responde a una sola pregunta: ¿el precio está por encima o por debajo de donde estaba hace N velas, y en qué porcentaje? Es una de las reglas de momentum más simples de razonar — y, como muestra esta guía, ROC no es uno de los indicadores que AlfaTactix puede exportar hoy como MQL5 real.
Si necesitas la teoría primero: guía del indicador ROC.
¿Puedo crear un EA de ROC para MT5 sin programar?
Hoy no en AlfaTactix. ROC tiene un formulario en la interfaz del Strategy Builder, pero no está entre los 13 indicadores que el generador de MQL5 admite realmente: una condición de ROC en el Paso 3 no produce un archivo .mq5 funcional. Dos caminos honestos:
- Programa la fórmula de ROC en MQL5 — un cálculo corto sobre el precio de cierre, más un cruce de cero o un umbral.
- Construye la alternativa sin código más cercana con Momentum — uno de los 13 indicadores admitidos, que mide la misma idea (cambio en N velas) en unidades de precio en bruto en lugar de un porcentaje normalizado.
Divulgación: Guía educativa — no es asesoría financiera.
Tactix AI en este flujo
AlfaTactix incluye Tactix AI: usa Tactix Studio para describir tu idea en lenguaje natural y rellenar timeframes, señales, filtros y riesgo en el mismo formulario de seis pasos — o abre Tactix Guide en cualquier paso si solo necesitas explicar un campo. Revisa cada valor y luego exporta MQL5 o Pine Script desde Code Generator (form-first — no prompt-to-code sin probar).
Qué dice realmente la línea cero del ROC
ROC se calcula así:
ROC = ((Close[0] - Close[N]) / Close[N]) * 100
Con Length 10 en H1, un ROC de +0.8 significa que el precio está 0.8% por encima de donde estaba hace diez horas. Tres consecuencias importan para un EA:
- Cero es el único nivel fijo con significado. Por encima de cero el precio es mayor que hace N velas; por debajo, menor.
- Está normalizado, así que se traslada. Un umbral de ROC significa aproximadamente lo mismo en EURUSD que en XAUUSD. Momentum, en diferencia de precio bruta, no tiene esa propiedad — un umbral ajustado en EURUSD no significará lo mismo en XAUUSD.
- No dice nada sobre la dirección de la tendencia, solo sobre el cambio. ROC (y Momentum) puede ser positivo dentro de una tendencia bajista amplia si las últimas N velas fueron alcistas.
ROC en MQL5
MQL5 no tiene una función iROC incorporada; el cálculo es corto y se escribe en línea:
double roc = ((close[0] - close[N]) / close[N]) * 100.0;
bool compra = roc > 0;
bool venta = roc < 0;
Lee close[] solo en barras cerradas, para que el valor no cambie mientras la vela actual se está formando.
Una alternativa sin código con Momentum
El formulario MT5 admite Momentum con los mismos tipos de condición que este artículo describía originalmente para ROC — compare, breakout, slope, divergence y pattern. La matemática es distinta (diferencia de precio bruta, no porcentaje), pero la regla construible tiene la misma forma: Momentum > 0 para compra, Momentum < 0 para venta, con la condición breakout para filtrar el ruido cerca de cero.
Límite honesto: al no estar normalizado, un umbral ajustado en un símbolo no se traslada a otro como lo haría un porcentaje de ROC. Reajusta Length y cualquier umbral por símbolo.
Construir el EA de Momentum paso a paso
Paso 1 — Información de la estrategia.
Nombre: Momentum H1 EURUSD.
Paso 2 — Temporalidades. H1 para una primera construcción.
Paso 3 — Señales de entrada.
Añade Momentum. Parámetros: Length 10, Source Close, Smoothing EMA, Smoothing Length 5.
- Condición de compra: tipo compare, Operator
>, Value0 - Condición de venta: tipo compare, Operator
<, Value0
Paso 4 — Filtros de mercado. Añade un filtro de liquidez (spread) y, opcionalmente, de sesión de mercado.
Paso 5 — Gestión de riesgo. Tamaño por fracción fija, un stop y un objetivo basados en ATR.
Paso 6 — Resumen. Lee el JSON antes de exportar.
Exportar, compilar y hacer backtest
Abre Code Generator, elige MQL5, exporta y coloca el archivo .mq5 en MQL5/Experts. Compila en MetaEditor (F7). En el Strategy Tester usa modelado Every tick en la primera pasada.
Por qué un cruce de cero simple genera whipsaw
Tanto ROC como Momentum oscilan alrededor de cero, y en un mercado lateral cruzan cero repetidamente sin que el precio vaya a ninguna parte. La frecuencia de cruces es máxima justo cuando el movimiento es más pequeño. Tres formas de corregirlo: exigir distancia de cero (condición breakout), añadir un filtro de tendencia (una EMA), o usar slope en lugar de nivel.
Filtros y controles de riesgo
- Liquidez (spread) — imprescindible en esta estrategia.
- Sesión de mercado — restringir a una sesión hace los resultados más interpretables.
- Volatilidad ATR — mantiene al EA fuera de mercados muertos.
Próximos pasos
- Guía del indicador Momentum
- EA de confluencia MACD + RSI
- ADX como filtro de tendencia — otro indicador que tampoco está en el builder
- Crea tu primer EA

