EA de momentum ROC en MT5 sin código

ROC aún no es un indicador del builder: la teoría de la línea cero, cómo programarlo en MQL5 y la alternativa sin código con el indicador Momentum admitido.

📖 5 min read

📝 970 words

🏷️ MQL5 and Expert Advisors

Compartir este artículo:

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:

  1. 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.
  2. 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í:

text
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 >, Value 0
  • Condición de venta: tipo compare, Operator <, Value 0

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

Preguntas Frecuentes

Hoy no en AlfaTactix. ROC no está entre los indicadores que admite el Strategy Builder de MT5 para exportar, así que una condición de ROC en el Paso 3 no puede generar MQL5 real. Puedes programar la fórmula de ROC en MQL5, o construir 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) sin normalizarla a porcentaje.

Miden lo mismo de forma distinta. Momentum es la diferencia de precio en N velas; ROC expresa esa diferencia como porcentaje del precio anterior. Al estar normalizado, ROC es comparable entre símbolos y niveles de precio; Momentum, en unidades de precio brutas, no lo es.

Length 10 es un valor inicial habitual. Longitudes cortas reaccionan antes y generan más señales, también más falsas; longitudes largas llegan tarde pero aguantan mejor el ruido. Elige el valor en el Strategy Tester con tu símbolo y temporalidad.

Cero es la línea neutra tanto para ROC como para Momentum. Exigir un umbral alejado de cero (la condición breakout del builder) filtra las pequeñas oscilaciones que causan la mayoría de las entradas falsas, a cambio de entrar más tarde.

Sí. Añade una media móvil en el Paso 3 y acepta compras solo mientras el precio esté por encima, o usa los filtros de mercado del Paso 4 (sesión, volatilidad ATR, liquidez).

Continúa aprendiendo

EA tendencia ADX MT5 sin codigo