Mira cómo descargar robots gratis
¡Búscanos en Twitter!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Visualizaciones:
214
Ranking:
(9)
Publicado:
\MQL5\Include\MQL5Book\
AutoPtr.mqh (1.86 KB) ver
Defines.mqh (0.71 KB) ver
IS.mqh (0.98 KB) ver
StringUtils.mqh (1.91 KB) ver
TimeServerDST.mqh (15.68 KB) ver
CalendarCache.mqh (28.54 KB) ver
MQL5 Freelance ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

Esta es una versión extendida del script CalendarForDates.mq5 presentado en el libro de algotrading.

Las variables de entrada permiten especificar un código de país, un código de actualidad y un intervalo de tiempo para filtrar los registros solicitados. Si las variables de entrada se dejan vacías, se puede solicitar un calendario completo (si se solicita el calendario por primera vez después de iniciar el terminal, puede tardar un rato en descargar su base o incluso agotarse el tiempo y no producir ningún resultado - entonces por favor ejecute el script una vez más).

Como resultado, obtendrá un archivo CSV con los registros del calendario con los campos más importantes (no todos los campos son exportados - siéntase libre de ajustar el código fuente de acuerdo a sus necesidades).

Opcionalmente, se puede introducir un archivo *.cal (copia archivada del calendario para una hora específica) creado por el indicador CalendarMonitorCached .mq5 también introducido en el libro, que ahora está obsoleto en favor de su versión extendida CalendarMonitorCachedTZ.mq5 (recomendada y necesaria para la nueva función, descrita a continuación).

Calendario económico de MetaTrader en CSV


La característica más interesante: el script demuestra el uso de TimeServerDST.m qh para ajustar las marcas de tiempo de los eventos históricos de acuerdo con los cambios de zona horaria del servidor en el pasado, que se reflejan persistentemente en las marcas de tiempo de las velas. Este modo se activa configurando la entrada FixCachedTimesBySymbolHistory a true.

Guardar los eventos en archivos CSV con y sin la corrección facilita la comparación de los efectos de la corrección de la hora en el historial.

Para utilizar correctamente esta función, se recomienda ejecutar el script en gráficos XAUUSD o EURUSD H1. Cuando se utiliza mediante programación, estos símbolos deben pasarse a las funciones de TimeServerDST.

El mismo enfoque se utiliza en el indicador CalendarMonitorCachedTZ.mq5 para la exportación de eventos de calendario con corrección de tiempo en archivos cal-files, listos para cargar desde dentro del probador, que asegura backtests precisos y optimizaciones de robots de noticias.

El intervalo de fechas en el que se realizan las correcciones temporales se limita al número máximo de barras del gráfico para el marco temporal H1. Esta es la especificidad del método empírico utilizado dentro de TimeServerDST.mqh.

Consideremos un tipo de evento específico, preferiblemente con un gran impacto en el mercado, como la publicación de las nóminas no agrícolas de EE.UU. (NFP).

En un servidor europeo con horario DST (MQ Demo) se produce a las 14:30 en invierno y a las 15:30 en verano. En la captura de pantalla que aparece a continuación puede ver, una al lado de la otra, dos versiones del historial completo del calendario exportado a archivos CSV, con la fecha específica de verano 2023.08.04 a la vista. Ambas exportaciones se realizaron el 8 de noviembre (invierno, hora estándar), por lo que el desfase GMT+2 se aplicó por defecto para todos los eventos, incluyendo el verano de 2023 (y cualquier otra estación y año también). Sin la corrección (mostrada a la derecha) las horas exportadas para los PFN de verano son las 14:30. Esto es incorrecto.

Calendario económico Eventos con fecha y hora corregidas

Tras la autodetección empírica de la zona horaria del servidor, vigente durante el verano, la biblioteca realiza la exportación del calendario con corrección horaria (mostrada a la izquierda). Como resultado, los NFP de verano se trasladan a las 15:30, como debería ser. Puede echar un vistazo al gráfico de este periodo para asegurarse de que la corrección es la adecuada.

Nóminas no agrícolas en el gráfico H1 del EURUSD

Este caso específico no es tan dramático, porque la hora anunciada no corregida 14:30 va antes de las 15:30, por lo que los asesores expertos probablemente podrían seguir esperando las noticias y abrir operaciones. Pero cuando la zona horaria del servidor se cambia a verano, todos los eventos de invierno registrados en el calendario contienen marcas de tiempo retrasadas 1 hora (¡!).

Esto es todavía experimental. No dude en enviar sus comentarios.

Está previsto seguir investigando sobre el impacto de las correcciones horarias en la negociación de noticias. Permanezca atento.


Los archivos mqh adjuntos(CalendarFilter.mqh, CalendarCache.mqh, QuickSortStructT(Ref).mqh) contienen correcciones de errores y mejoras en comparación con sus versiones originales del libro.



04.10.2024 - añadida la escritura/lectura del offset de la zona horaria del servidor en los ficheros cal y csv.

10.11.2024 - añadida una opción para corregir las marcas de tiempo de los eventos en el historial de acuerdo con los cambios retrospectivos de zona horaria del servidor.

11.11.2024 - pequeñas correcciones y mejoras en CalendarCache.mqh y CalendarFilter.mqh.

22.11.2024 - pequeñas correcciones de errores y mejoras en CalendarCache.mqh.


Traducción del inglés realizada por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/en/code/52977

Swap Monitor Swap Monitor

Este servicio comprueba periódicamente los swaps de símbolos predefinidos y guarda los cambios detectados en archivos CSV para su posterior análisis y posible repetición (no implementado aquí). También supervisa y alerta de los cambios de swap de las posiciones existentes.

MT5-BuildYourGridEA MT5-BuildYourGridEA

Este experto es un sistema para ayudar a cualquier trader a hacer una parrilla de órdenes.

Sample pine script stochastic divergence Sample pine script stochastic divergence

Un ejemplo de código pine convertido a MQL

Push Notification for Opened / Closed Trades (Netting) Push Notification for Opened / Closed Trades (Netting)

Este código proporciona una función simple para el envío de notificaciones push a su dispositivo móvil cada vez que las operaciones se abren o cierran en MetaTrader 5. Está diseñado para cuentas de compensación (donde sólo se permite una posición por símbolo).