ForexBestRobots.comComparar EAs →
ES

SESIONES Y RIESGO DE NOTICIAS · GUÍA 3

Filtros de horario y noticias para un EA de Forex: reglas y validación

Define comprobaciones claras para los filtros de horario y noticias de un EA. Aprende a tratar calendarios incompletos, cotizaciones antiguas, límites de MT4 y reinicios con un registro sencillo de decisiones.

14 min de lecturaRevisado por el equipo editorial de ForexBestRobots
Los filtros de horario y noticias regulan la posibilidad de asumir nueva exposición. Verifica el reloj, la cobertura del calendario y las cotizaciones del símbolo, manteniendo la gestión prevista de las posiciones abiertas.
Comprueba los datos antes de permitir que se considere una nueva entrada.

Un filtro útil responde a una pregunta práctica: ¿puede este EA considerar una nueva posición con la información disponible? El nombre de una sesión o un calendario vacío no bastan. La regla necesita un reloj verificado, una cobertura clara de eventos y cotizaciones actuales del símbolo operado.

Empieza con una separación sencilla: gestiona la exposición existente con sus propias reglas; permite considerar nuevas entradas solo cuando se superen los controles necesarios. Esta guía concreta esa separación, presenta un breve registro de decisiones y explica cómo probarlo. No ofrece un EA terminado ni pruebas de rentabilidad.

1. Define qué controla el filtro

Distingue la regla de horario, la restricción por noticias programadas y las condiciones de entrada de la estrategia. El horario define cuándo se permite operar; las noticias excluyen determinados intervalos; las condiciones de la estrategia identifican la oportunidad. Superar los dos primeros controles no crea una oportunidad ni elimina los límites de ejecución y riesgo de la cuenta.

Usa tres resultados explícitos: PASS, BLOCK y UNKNOWN. Son etiquetas de datos definidas por el autor, no códigos de error de MT4. Un intervalo cerrado conocido puede bloquear; la información ausente no justifica un resultado favorable. En la política del ejemplo, tanto un bloqueo como un dato obligatorio desconocido mantienen en espera la consideración de nuevas entradas. La gestión aplica sus propias comprobaciones de datos y permisos.

Separa la gestión y supervisión previstas de las posiciones abiertas del permiso para considerar nuevas entradas. Comprueba reloj y horario, calendario y eventos, y cotizaciones del símbolo. Un requisito incumplido o desconocido mantiene las entradas en espera; superar estos controles aún exige una señal válida y controles de ejecución y riesgo de la cuenta.
Separa la gestión y supervisión previstas de las posiciones abiertas del permiso para considerar nuevas entradas. Comprueba reloj y horario, calendario y eventos, y cotizaciones del símbolo. Un requisito incumplido o desconocido mantiene las entradas en espera; superar estos controles aún exige una señal válida y controles de ejecución y riesgo de la cuenta.En pantallas estrechas, desplaza el diagrama horizontalmente.

2. Escribe las reglas de tiempo y cobertura antes de probar

Utiliza la correspondencia horaria con fechas de la guía de sesiones y las definiciones de eventos de la guía del calendario económico. Documenta una especificación con versión que otra persona pueda aplicar a los mismos datos.

  • Instrumento y alcance: bróker, cuenta, símbolo, divisas relevantes y familias de eventos seleccionadas, incluidas sus fases posteriores.
  • Sesión: fechas completas, zona horaria, días de la semana y extremos incluidos o excluidos con precisión.
  • Correspondencia horaria: relación verificada entre UTC, cualquier regla local y la hora del servidor del bróker para cada fecha.
  • Exclusión por noticias: fuente del horario, intervalos anteriores y posteriores, solapamientos y tratamiento de eventos provisionales, retrasados o modificados.
  • Requisitos de datos: cobertura de fechas y divisas, estructura, versión de la fuente, estado de actualización y límites de antigüedad.
  • Respuesta a fallos: qué mantiene en espera las entradas, cómo siguen la supervisión y la gestión, y qué debe conciliarse antes de reanudar.

Si una sesión local cruza la medianoche, define a qué día de trading pertenece y trata expresamente el cambio de fecha. Incluye eventos de días adyacentes cuya exclusión alcance la decisión. En cambios de horario de verano, verifica cómo se convierten las horas locales repetidas o inexistentes. No sustituyas silenciosamente una correspondencia ausente por la zona de visualización del ordenador.

3. Valida la versión del calendario, no solo la descarga

Una instantánea es una versión guardada del calendario utilizada para decidir. Una descarga correcta o una lista de eventos vacía no demuestran que esté completa. Comprueba que el proveedor cubra las divisas, fechas y tipos de evento solicitados, que se hayan recuperado todos los registros y que horarios, unidades y versiones se hayan interpretado correctamente.

Guarda por separado la información de actualización del proveedor y tu hora de recepción. Una respuesta recién recibida puede contener datos antiguos. Sustituye la instantánea activa solo después de validar toda la nueva versión: un archivo parcial o una lista a medio actualizar no deben considerarse válidos. Un refresco fallido o una nueva lectura de la caché no deben reiniciar la antigüedad de la última versión comprobada.

Una instantánea verificada y suficientemente reciente permite establecer que no hay intervalos seleccionados activos dentro de su cobertura declarada. La cobertura ausente, un cambio horario sin resolver, un evento relevante sin hora conocida o una versión caducada dejan el estado desconocido. Mantén en espera las entradas dependientes según lo previsto y continúa la gestión y el tratamiento de fallos definidos. Las noticias imprevistas quedan fuera de la protección de un calendario programado.

Un calendario validado sin eventos seleccionados activos permite seguir comprobando. Una restricción activa en un calendario validado bloquea la entrada. Los datos ausentes, antiguos o de cobertura insuficiente dejan el estado sin determinar y las entradas dependientes en espera. Son estados de los datos, no señales de dirección del mercado.
Un calendario validado sin eventos seleccionados activos permite seguir comprobando. Una restricción activa en un calendario validado bloquea la entrada. Los datos ausentes, antiguos o de cobertura insuficiente dejan el estado sin determinar y las entradas dependientes en espera. Son estados de los datos, no señales de dirección del mercado.En pantallas estrechas, desplaza el diagrama horizontalmente.

4. Comprueba por separado la cotización del símbolo operado

Registra la recepción y validez del Bid/Ask de ese símbolo mediante una medición del tiempo transcurrido que contemple reinicios y cambios del reloj. Una recepción reciente no demuestra que los datos de origen estén actualizados ni que haya ejecución disponible. Valida por separado el flujo de datos, el contexto horario, el spread y los permisos de trading; consulta la supervisión de EA.

En MT4, TimeCurrent() dentro de OnTick() corresponde al tick procesado; en otros manejadores puede reflejar la última cotización de cualquier símbolo de Observación del mercado. No demuestra que tu propio símbolo tenga una cotización reciente. En vivo, TimeGMT() depende de la configuración horaria del ordenador; en el probador de MT4 equivale a TimeCurrent() simulado. La diferencia entre ambos en el probador no reconstruye los desfases históricos del bróker.

5. Sigue un registro de decisiones inventado

Solo para este ejemplo, usa la sesión UTC [08:00, 17:00) del 2026-03-16. Conserva la unión hipotética de noticias A/B [12:15, 13:05) de la guía anterior. Se supone que toda la cobertura y los metadatos necesarios están verificados; la cobertura de eventos abarca el día UTC completo, suficiente para estas comprobaciones diurnas y sus márgenes. No se afirma ningún proveedor ni publicación real.

Elige una antigüedad máxima de la instantánea de 30 minutos y de la cotización del propio símbolo de 5 segundos para ilustrar el cálculo. Son parámetros elegidos por el autor, no frecuencias de actualización recomendadas ni garantías de seguridad. La primera instantánea se verificó a las 12:00:00; una versión completa y actualizada se verifica a las 13:06:00. A las 17:00:00 hay otra instantánea válida. Las antigüedades presuponen mediciones de tiempo verificadas y comparables.

Decisión · UTCAntigüedad del calendarioAntigüedad de la cotizaciónSolo resultado de tiempo/datos
12:10:0010 min1 sSupera estos controles; siguen los demás
12:20:0020 min1 sBloqueo: intervalo de noticias activo
13:05:0065 min1 sEspera: calendario antiguo
13:06:066 s12 sEspera: cotización antigua del símbolo
13:06:077 s1 sSupera estos controles; siguen los demás
17:00:000 s1 sBloqueo: fuera de horario

A las 13:05:00 termina el intervalo de noticias, pero la instantánea antigua tiene 65 minutos. A las 13:06:06 la nueva tiene 6 segundos, pero la última recepción del símbolo, a las 13:05:54, tiene 12 segundos. Una recepción a las 13:06:06 tiene solo 1 segundo a las 13:06:07. Esa fila supera los controles ilustrados de tiempo y datos, no los de estrategia, ejecución o riesgo. El extremo de las 17:00 queda excluido. No se simula ninguna orden, salida ni rentabilidad.

Comprobaciones inventadas en UTC del 2026-03-16. A las 13:05 termina la exclusión por noticias, pero la versión del calendario tiene 65 minutos y supera el límite ilustrativo de 30 minutos. A las 13:06:06 el calendario está actualizado, pero la cotización tiene 12 segundos y supera el límite de 5 segundos. A las 13:06:07 los controles de tiempo y datos se superan con una cotización de 1 segundo; no se presupone ninguna operación ni beneficio.
Comprobaciones inventadas en UTC del 2026-03-16. A las 13:05 termina la exclusión por noticias, pero la versión del calendario tiene 65 minutos y supera el límite ilustrativo de 30 minutos. A las 13:06:06 el calendario está actualizado, pero la cotización tiene 12 segundos y supera el límite de 5 segundos. A las 13:06:07 los controles de tiempo y datos se superan con una cotización de 1 segundo; no se presupone ninguna operación ni beneficio.En pantallas estrechas, desplaza el diagrama horizontalmente.

6. Mantén la gestión y concilia las órdenes del bróker

Bloquear nuevas entradas no debe omitir la supervisión y gestión previstas de las posiciones existentes. Las acciones de gestión siguen necesitando datos y permisos válidos propios; la ausencia de precios no autoriza a modificar un stop a ciegas. Define por separado cómo mantener o cancelar órdenes pendientes y verifica el estado aceptado por el bróker, sin dar por realizada una solicitud de cancelación.

El botón AutoTrading de MT4 prohíbe las solicitudes automáticas de trading, mientras el EA y OnTick() pueden seguir ejecutándose. No es una pausa exclusiva de nuevas entradas: también puede afectar a la gestión que requiera solicitudes de trading. Distingue este botón de retirar un EA o desconectar el terminal. La protección existente en el bróker y la gestión del lado del cliente son mecanismos distintos; consulta la gestión del riesgo.

7. Evita que la descarga bloquee el proceso de decisión

Usa una caché completa y validada para decidir y un proceso controlado para actualizarla. Define tiempos de espera, avisos de fallos y la activación de nuevas versiones. Ejecutar la gestión una vez antes de una solicitud lenta no la mantiene funcionando mientras esa solicitud bloquea el mismo EA.

Opcional: límites de red y eventos en MT4

En MQL4, WebRequest() es síncrona. Trasladarla de OnTick() a OnTimer() dentro del mismo EA no la convierte en asíncrona; la espera aún puede retrasar el programa. Un componente de descarga separado puede suministrar una instantánea validada, pero también deben verificarse su entrega y sus fallos. Un temporizador organiza la ejecución; no garantiza una gestión ininterrumpida.

La secuencia lógica consiste en ejecutar la gestión y supervisión previstas, evaluar los controles obligatorios para nuevas entradas y, solo al superarlos, considerar una señal actual con controles de ejecución y riesgo. Esto describe responsabilidades, no código MQL4 ejecutable ni una garantía de procesamiento puntual. Verifica la integración real, los permisos y la respuesta a fallos antes de confiar en ella.

8. Conserva un registro que sobreviva a los reinicios

Registra la hora UTC de decisión, la hora del servidor y su correspondencia verificada, la versión de reglas, el identificador de la instantánea, las horas de origen y recepción, la cobertura, la recepción y antigüedad de la cotización, las exclusiones activas y los motivos del resultado. Conserva candidatos rechazados además de controles superados. El registro debe explicar una espera sin reconstruirla después con un calendario revisado.

Tras reiniciar o reconectar, concilia con el bróker posiciones, órdenes pendientes y solicitudes sin resolver. Restaura solo el estado verificable: reiniciar no significa que la cuenta no tenga posiciones ni que la caché esté actualizada. Evita procesar repetidamente el mismo candidato. Si se desconoce un estado necesario, mantén las entradas en espera hasta conciliarlo y continúa la respuesta a fallos y la gestión definidas.

9. Prueba la corrección antes de interpretar un backtest

Antes de medir resultados de mercado, crea casos pequeños y fijos con resultados esperados. Incluye:

  • Inicio de sesión incluido, final excluido e intervalos que cruzan la medianoche.
  • Inicio y final de exclusiones por noticias, eventos solapados y horarios retrasados o modificados.
  • Datos ausentes, parciales, mal formados o fuera de cobertura, incluida una respuesta vacía sin verificar.
  • Antigüedad justo en el límite elegido y ligeramente superior, además de un tick reciente de otro símbolo mientras el operado sigue desactualizado.
  • Reinicio, salto del reloj, actualización fallida y sustitución interrumpida de la instantánea sin reiniciar su antigüedad.
  • Órdenes mantenidas por el bróker y gestión durante el bloqueo de entradas, incluidos el rechazo de cancelaciones y la falta de permisos de trading.

El probador de estrategias de MT4 no ejecuta WebRequest() ni procesa eventos Timer. Prueba la lógica común con datos congelados y una correspondencia horaria histórica verificada mediante una vía admitida por el probador. Reproduce cada instantánea solo cuando habría estado disponible. Una tabla histórica de eventos no reproduce por sí sola la descarga en vivo ni la programación del temporizador. Consulta la guía de backtesting en MT4 para otras limitaciones.

10. Evalúa la utilidad por separado del funcionamiento correcto

Un filtro bien implementado puede excluir operaciones ganadoras y perdedoras. Compara la regla propuesta con una referencia declarada usando la misma estrategia, datos y supuestos de costes. Conserva todos los candidatos y motivos de rechazo, reserva datos posteriores para validar e incluye costes de ejecución realistas. Explorar muchas ventanas y publicar solo la ganadora puede sobreajustar la muestra.

Después observa la integración real en demo con datos normales y fallos. Mide actualizaciones fallidas, esperas por datos antiguos, interrupciones de cotizaciones, retrasos de gestión y respuestas del bróker. Un registro claro muestra qué hizo el sistema; no demuestra rentabilidad futura. Antes de ampliar su uso, confirma:

  • La especificación con versión, la correspondencia horaria y la política de selección de eventos están documentadas.
  • Los controles de cobertura y antigüedad distinguen estados libres, bloqueados y desconocidos.
  • Los casos de extremos y fallos producen los resultados esperados.
  • Las pruebas históricas respetan cuándo estaba disponible la información y declaran los datos ausentes.
  • Las pruebas demo verifican descargas, reinicios, continuidad de gestión y estado de las órdenes del bróker.
  • Cualquier utilidad alegada se evalúa por separado, con costes y datos posteriores, sin inventar cifras de rendimiento.

11. Preguntas sobre filtros de EA

¿Un calendario sin restricciones significa que el EA debe entrar?

No. Un calendario verificado sin restricciones solo supera una parte de la decisión. Siguen siendo necesarios el horario, la calidad de cotizaciones, la ejecución, el riesgo de la cuenta y una señal actual de la estrategia. Las noticias inesperadas pueden llegar fuera del calendario.

¿Por qué una descarga reciente puede dejar el estado desconocido?

La respuesta puede ser antigua, incompleta, ajena a la cobertura necesaria o estar mal interpretada. La hora de recepción no valida por sí sola los datos del proveedor. Mantén las entradas en espera hasta superar los controles del dato requerido.

¿Puedo probar descargas de noticias en vivo en el probador de MT4?

El probador documentado no ejecuta WebRequest ni eventos Timer. Usa datos congelados y con versión, y una vía admitida para probar la lógica común; después verifica por separado en demo la descarga y la programación reales.

¿Debo usar AutoTrading para pausar por noticias?

No se limita a nuevas entradas: también puede prohibir solicitudes automáticas utilizadas por la gestión. Aquí se plantea un control interno de entradas con responsabilidades de gestión verificadas por separado, no un interruptor universal para eliminar exposición.

12. Referencias y alcance

La referencia oficial de MQL4 sobre WebRequest explica las solicitudes síncronas y sus restricciones. Las limitaciones del probador de estrategias de MT4 documentan la simulación temporal y las funciones externas y eventos no admitidos. Verifica qué funciones admite tu plataforma e integración exactas; no supongas que un ejemplo de otra plataforma es compatible. Referencias comprobadas el 2026-10-17.

Esta guía completa el grupo de guías de sesiones y noticias con un marco de reglas y validación. Horarios, instantáneas, antigüedades y resultados son casos didácticos inventados. Los umbrales no son recomendaciones; no se afirma haber ejecutado un EA ni obtenido resultados de trading. Los filtros no eliminan el riesgo de mercado, ejecución o cuenta.