Hoy vamos a hablar de una herramienta que, aunque no es una utilidad de trading en sí misma, puede ser muy útil para quienes buscan información sobre el número de barras disponibles en los diferentes marcos de tiempo. Esta utilidad utiliza las funciones SeriesIntegerInfo y CopyRates para obtener y mostrar información sobre la disponibilidad de datos de barras desde tu terminal.
La utilidad permite utilizar el símbolo del gráfico actual (por defecto) o introducir cualquier símbolo que tengas en tu lista de seguimiento del mercado. Crea una columna con tres tipos de información que devuelve la función SeriesIntegerInfo en cada marco de tiempo para el símbolo seleccionado.
- SERIES_SYNCHRONIZED: Indica si los datos en la terminal están sincronizados (el indicador muestra SYNC o UN_SYNC dependiendo de si la función devuelve verdadero o falso).
- SERIES_BARS_COUNT: Número de barras disponibles en ese marco de tiempo (incluyendo la barra cero).
- SERIES_FIRSTDATE: Fecha de la barra más antigua en ese marco de tiempo.
Además, la utilidad presenta una segunda columna mostrando la información de CopyRates para cualquier barra válida en cada marco de tiempo (las barras válidas se basan en la información devuelta por SeriesIntegerInfo). Por defecto, se muestra la información de CopyRates para la barra más antigua en cada marco de tiempo (como indica SERIES_BARS_COUNT), pero el usuario puede ingresar cualquier número de barra válida que desee.
Esta herramienta es un indicador complementario a https://www.mql5.com/en/code/26316, que obtiene su información sobre barras válidas utilizando la función 'Bars'. Aunque la función SeriesInfoInteger parece ser una forma 'mejor' de obtener datos sobre las barras, ambas reportan barras que CopyRates no puede acceder, al menos en la versión actual del terminal.
La visualización del indicador se estabiliza mientras la terminal inicializa los datos durante unos segundos. Esto puede mostrar varios errores '4401 - Terminal Data not Available' como se ve en la imagen a continuación:

Controles:
- 1) "Rates and Bar" - Selecciona y arrastra para mover la visualización a otra ubicación en el gráfico.
- 2) Este es el cuadro de entrada del número de barra. Ingresa un número de barra para verificar si hay información de CopyRates disponible para esa barra.
- 3) "Símbolo" - Haz clic para alternar el número de barra al valor predeterminado 'Más Antiguo' o al último número de barra ingresado.
- 4) Este es el cuadro de entrada del símbolo. Ingresa cualquier símbolo en tu lista de seguimiento del mercado para mostrar información de ese símbolo.
- 5) Haz clic en la información de CopyRates MN1 para alternar los registros de escritura. Cuando está activado, los errores devueltos por las funciones Bars y CopyRates se registrarán.
Te recomiendo obtener y descomentar // #include <errordescription.mqh> // errordescription.mqh se encuentra en: https://www.mql5.com/en/code/79 y añadir el texto de ErrorDescription de nuevo en el indicador. No puedo enviar el código con este include.
Durante mis pruebas, SeriesIntegerInfo reportaba valores de barra mayores a 100,000, pero CopyRates nunca parece obtener datos para números de barra mayores a 99,999. La imagen a continuación muestra el error '4401 de CopyRates' para la barra 100,000 y el éxito para la barra 99,999:

Versiones: M1 hasta MN1, se omitieron los identificadores de fila en V1.00, corregido en V1.02.
Publicaciones relacionadas
- iWPRSignAlert: Tu nuevo aliado en MetaTrader 5
- iDeMarkerSignAlert: Tu nuevo indicador para MetaTrader 5
- iStochKomposterAlert: El Indicador de Señales para MetaTrader 5 con Alertas
- Niveles Históricos Fuertes: Herramienta Clave para Traders de MetaTrader 5
- Cruce de Líneas de Tendencia: Un Indicador Esencial para MetaTrader 5