Tick Data HTTP Exporter NZDUSD
- Utilidades
- Versión: 2.0
- Actualizado: 11 octubre 2026
Exportador HTTP de datos de Tick
Descripción
Este EA convierte tu terminal en un proveedor de datos de ticks históricos y en tiempo real para tu aplicación.
Existen muchos proveedores de datos de mercado en Internet, pero, en la práctica, los datos que ofrecen no siempre son de buena calidad. Además, estos servicios suelen ser más caros y, por lo general, requieren el pago de cuotas de suscripción mensuales por cada símbolo.
Con este EA, puedes alimentar tu aplicación con exactamente los mismos datos de ticks que ves en la terminal, los mismos datos en los que basas tus operaciones y tu análisis de mercado.
Junto con el exportador HTTP de datos de velas, que proporciona datos de cotizaciones (OHLC, velas), se ofrece un conjunto completo de datos necesario para el análisis de mercado.
Funcionalidades
- Permite la transmisión de datos de ticks a una URL HTTP externa preconfigurada.
- Garantiza la entrega de cada tick, con la capacidad de reanudar la transmisión desde el último tick enviado en caso de interrupciones.
- Ofrece dos opciones de almacenamiento para los desfases de las marcas de tiempo de los ticks:
- Archivos locales (por defecto, gestionados automáticamente)
- Punto final HTTP (para la integración con aplicaciones)
- Garantiza una entrega fiable de los ticks, con mecanismos de reintento en caso de fallos en las solicitudes HTTP.
- Permite la transferencia de datos con procesamiento por lotes configurable.
Configuración
| Entrada | Descripción | Por defecto |
|---|---|---|
| dataProvider | Especifica el nombre del proveedor de datos. Este nombre se puede utilizar posteriormente en plantillas de URL como {dataProvider}. | - |
| tickQueryingIntervalDurationSeconds | Intervalo para consultar los ticks del bróker, en segundos. | 10 000 segundos |
| maxTicksPerBatch | Número máximo de ticks que se pueden enviar en un solo lote. | 10 000 ticks |
| debugLogsEnabled | Si se deben habilitar los registros de depuración. | true |
| dataSendingIntervalMilliseconds | Intervalo para consultar los ticks y enviarlos a una URL externa. | 10 000 milisegundos |
| targetExportUrlTemplate | Plantilla de URL para el punto final al que se enviarán los datos de los ticks. Marcadores de posición admitidos: dataProvider. | - |
| shouldReExportHistoricalTicks | Opción para reexportar ticks a partir de un valor específico, tal y como se especifica en la entrada startExportFromTimestampMillis. | false |
| startExportFromTimestampMillis | Si shouldReExportHistoricalTicks se establece en true, los ticks se enviarán a partir de la marca de tiempo especificada en milisegundos (según el reloj del servidor, la hora que muestra el terminal). | 1672531200000 (01/01/2023 00:00:00) |
| exportedSymbolsSource | Fuente de los símbolos para los que se exportarán los ticks. Las opciones son: «HTTP_ENDPOINT» o «EA_INPUT». | EA_INPUT |
| símbolos | En los casos en que exportedSymbolsSource esté establecido en «EA_INPUT», esta configuración especifica para qué símbolos se exportarán los ticks. | EURUSD,AUDUSD,GBPUSD,USDCAD,USDJPY,USDCHF |
| exportedSymbolsFetchUrlTemplate | Plantilla de URL para recuperar los símbolos. Se utiliza cuando exportedSymbolsSource = «HTTP_ENDPOINT». Marcadores de posición admitidos: dataProvider. | - |
| lastSentTickTimestampSource | Fuente de la marca de tiempo del último tick enviado. Las opciones son: «HTTP_ENDPOINT» o «FILES». | FILES |
| lastSentTickTimestampUrlTemplate | Plantilla de URL para recuperar o almacenar la marca de tiempo del último tick enviado. Se utiliza en caso de que lastSentTickTimestampSource = 'HTTP_ENDPOINT'. Marcadores de posición admitidos: dataProvider, symbol. | - |
| serverTimeZoneMode | El reloj del servidor, utilizado para convertir las horas de los ticks a UTC. AUTO (por defecto) detecta el reloj del servidor; también se puede seleccionar explícitamente: US_DST (cierre de Nueva York), EU_DST (Europa del Este), NO_DST, MANUAL (manualServerGmtOffsetMinutes); una selección explícita proporciona marcas de tiempo exactas para todo el historial. | AUTO |
| manualServerGmtOffsetMinutes | Diferencia horaria del servidor respecto al GMT en minutos, se utiliza con MANUAL. | 120 |
Descripción del flujo de trabajo del EA
Al iniciarse, el Asesor Experto (EA) realiza las siguientes operaciones:
-
Comprobación de reinicio del desfase: El EA comprueba la variable ` shouldReExportHistoricalTicks ` para determinar si es necesario exportar datos históricos de ticks a partir de una marca de tiempo específica. Si se requiere una reexportación, el EA:
- Establece el valor «startExportFromTimestampMillis» como el nuevo desfase de marca de tiempo.
- Guarda este desplazamiento de forma segura, ya sea localmente en un archivo o enviándolo a un punto final HTTP designado, según la configuración establecida por lastSentTickTimestampSource.
-
Recopilación y envío periódicos de datos de ticks: El EA está programado con un temporizador configurado para activarse a intervalos definidos por ` dataSendingIntervalMilliseconds`. Cada vez que se activa, el EA:
- Solicita datos de ticks al bróker, desde el último desplazamiento almacenado (la marca de tiempo de tick más reciente) hasta el momento actual.
- Convierte los datos de ticks adquiridos a formato JSON y los envía a la URL predefinida derivada de la entrada targetExportUrlTemplate.
Al ejecutar estos pasos, el EA garantiza un flujo continuo y automatizado de los datos de ticks más recientes para su uso externo, lo que permite que su aplicación o herramientas de análisis dispongan de información de mercado actualizada al minuto.
Uso
A continuación se indican las acciones mínimas necesarias para que el EA comience a exportar ticks a la URL que hayas configurado:
-
Implementa un punto final HTTP que gestione una solicitud POST en una URL derivada de «targetExportUrlTemplate». Este punto final debe:
- Aceptar datos de ticks con la estructura JSON que se describe a continuación.
- Responder con un código de estado 200 si la recepción se realiza correctamente.
-
Permitir que la terminal envíe datos a tu servidor: abre Herramientas > Opciones > Asesores expertos, marca la casilla «Permitir WebRequest para la URL indicada» y añade la dirección de tu servidor, p. ej., https://data.example.com.
- Si está realizando pruebas localmente en localhost, cree un nombre de host en «C:\Windows\System32\drivers\etc\hosts» en Windows o en «/etc/hosts» en sistemas basados en Linux. Utilice este nombre de host en targetExportUrlTemplate.
-
Asigna el EA a cualquier gráfico de la terminal y configura los siguientes parámetros:
- dataProvider y targetExportUrlTemplate: obligatorios; el EA no se inicia sin ellos.
- startExportFromTimestampMillis: establece la marca de tiempo a partir de la cual necesitas obtener los ticks.
- symbols: configura los símbolos para los que necesitas ticks.
- shouldReExportHistoricalTicks: debe establecerse en «true» en la primera ejecución para que el EA cree todos los archivos necesarios para realizar un seguimiento de la última marca de tiempo de tick enviada. Tras la primera ejecución, vuelve a establecerlo en «false»; de lo contrario, cada reinicio enviará todo de nuevo a partir de startExportFromTimestampMillis.
Nota: el EA no funciona en el Strategy Tester, ya que este bloquea el envío de datos a través de Internet.
Gestión del desfase
El EA mantiene la marca de tiempo (desplazamiento) del último tick enviado con éxito para poder continuar el proceso de exportación en caso de interrupciones o de un reinicio de la terminal.
Por defecto, las marcas de tiempo se almacenan en archivos que se crean automáticamente en la carpeta MQL5\Files de la terminal. Hay un archivo independiente para cada símbolo.
Además, existe la opción de utilizar puntos finales HTTP independientes para leer o almacenar el offset en lugar de archivos.
Para utilizar esta función, establezca lastSentTickTimestampSource en «HTTP_ENDPOINT» e implemente puntos finales HTTP basados en la URL definida en lastSentTickTimestampUrlTemplate.
Como solución de backend, puede optar por almacenar los offsets en una base de datos (como PostgreSQL). Si necesita volver a exportar ticks para un símbolo específico, solo tendría que actualizar los valores de las marcas de tiempo en la tabla de la base de datos.
¿Qué es el «offset»? El «offset» es la hora del último tick entregado, en milisegundos desde el 1 de enero de 1970 según el reloj del servidor del bróker (la hora que muestra la terminal), no según UTC. Si almacenas los «offsets» en tu servidor, devuelve exactamente el número que ha publicado el EA.
Gestión de símbolos exportados
Por defecto, el EA utiliza los símbolos de entrada para determinar para qué símbolos se deben exportar los ticks.
Sin embargo, también existe la opción de recuperar la lista de símbolos desde un punto final HTTP independiente.
Para utilizar esta función, establece exportedSymbolsSource en «HTTP_ENDPOINT» e implementa un punto final utilizando la URL definida en exportedSymbolsFetchUrlTemplate.
Gestión externa del EA
Si se configuran tanto lastSentTickTimestampSource como exportedSymbolsSource en «HTTP_ENDPOINT», el EA se puede controlar íntegramente de forma externa:
- Puede iniciar la reexportación de símbolos específicos sin necesidad de realizar ninguna acción en la terminal.
- Se pueden especificar los símbolos que se van a exportar sin tener que modificar los datos de entrada en la terminal.
Especificación de la API REST para la integración de aplicaciones
| Punto final HTTP | Descripción | Método | Solicitud | Respuesta |
|---|---|---|---|---|
| targetExportUrlTemplate | URL para enviar datos de ticks. timestampMillis es la hora del tick en UTC. | POST | Encabezados: Content-Type: application/json Cuerpo [
{
"symbol": "EURUSD",
"bid": 1.18000,
"ask": 1.18020,
"last": 1.18010,
"volume": 1234.56,
"timestampMillis": 1625135912000
},
...
] | Código de respuesta 200 si se obtienen los ticks correctamente |
| exportedSymbolsFetchUrlTemplate | La URL se utiliza para recuperar la lista de símbolos que el EA exportará a la URL derivada de «targetExportUrlTemplate». | GET | Encabezados: Content-Type: text/plain Cuerpo (lista de símbolos separados por comas) EURUSD,GBPUSD,AUDUSD,BTCUSD | |
| lastSentTickTimestampUrlTemplate | La URL se utiliza para obtener la marca de tiempo específica a partir de la cual debe comenzar el proceso de exportación. El cuerpo es el desplazamiento tal y como lo envió el EA. | GET | Encabezados: Content-Type: text/plain Cuerpo 1625135912000 | |
| lastSentTickTimestampUrlTemplate | La URL se utiliza para almacenar la marca de tiempo de la última solicitud POST realizada con éxito a la URL derivada de «targetExportUrlTemplate». El cuerpo es el desplazamiento. | POST | Encabezados: Content-Type: text/plain Cuerpo 1625135912000 |
IMPORTANTE: Antes de adquirir este EA, comprueba que tu bróker admita la exportación de datos históricos de ticks. La disponibilidad y la profundidad de los datos de ticks varían según el bróker.
Versión gratuita (solo NZDUSD)
Etiquetas: ticks, tick, cotizaciones, cotización, flujo, streaming, exportación, exportar, webhook, webhooks, integración, http, REST, forex, criptomonedas, datos, históricos, en tiempo real, API REST, proveedor, fuente de datos

