Candle Data HTTP Exporter NZDUSD
- Утилиты
- Версия: 2.0
- Обновлено: 11 октября 2026
Candle Data HTTP Exporter NZDUSD
Эта бесплатная версия экспортирует только NZDUSD; полная версия, Candle Data HTTP Exporter, экспортирует любой символ.
Описание
Этот советник (EA) превращает ваш терминал в поставщика ценовых данных (OHLC, свечей; как исторических, так и реального времени) для вашего приложения.
На рынке много поставщиков рыночных данных, но на практике предоставляемые данные не всегда отличаются хорошим качеством. Более того, эти услуги часто бывают более дорогими и обычно требуют ежемесячной платы за подписку, где цена увеличивается на основании количества используемых символов.
С помощью этого советника вы можете обеспечить ваше приложение точно такими же данными о ценах, которые вы видите в терминале, теми же данными, на основе которых вы строите свои сделки и анализ рынка.
Вместе с Tick Data HTTP Exporter, который предоставляет данные о тиках, предлагается полный набор данных, необходимых для анализа рынка.
Возможности
- Позволяет передавать данные о ценах на предварительно настроенный внешний HTTP-адрес.
- Гарантирует доставку каждой цены, с возможностью возобновления с последней отправленной цены в случае сбоев.
- Предлагает два варианта хранения смещений временных меток для цен:
- Локальные файлы (по умолчанию, управляются автоматически)
- Ваш сервер по HTTP (для интеграции с приложениями)
- Обеспечивает надежную доставку данных о ценах, с механизмами повторной отправки в случае сбоев HTTP-запросов.
- Позволяет передавать данные с настраиваемой пакетной отправкой.
Конфигурация
| Входной параметр | Описание | Стандартное значение |
|---|---|---|
| dataProvider | Указывает имя провайдера данных. Это имя затем может быть использовано в шаблонах URL как {dataProvider}. | - |
| maxRatesPerBatch | Максимальное количество цен, которое может быть отправлено в одном пакете. | 10000 цен |
| debugLogsEnabled | Включение логов отладки. | false (выкл) |
| targetExportUrlTemplate | Шаблон URL для сервера, на который будут экспортироваться данные о ценах. Поддерживаемые переменные: dataProvider. | - |
| shouldReExportHistoricalRates | Опция повторного экспорта цен с некоторого определенного значения, указанного в startExportFromTimestampMillis. | false |
| startExportFromTimestampMillis | Если параметр shouldReExportHistoricalRates установлен в значение true, при старте данные о ценах будут отправляться, начиная с указанной временной метки в миллисекундах (по часам сервера, то есть по времени, которое показывает терминал). | 1672531200000 (2023-01-01 00:00:00) |
| exportedSymbolsSource | Недоступно в этой версии: она всегда экспортирует NZDUSD. Источник для символов, для которых будут экспортироваться данные о ценах. Варианты: 'HTTP_ENDPOINT' или 'EA_INPUT'. | EA_INPUT |
| symbols | Недоступно в этой версии: она всегда экспортирует NZDUSD. В случаях, когда параметр exportedSymbolsSource установлен в 'EA_INPUT', данная настройка определяет, данные о ценах каких символов будут экспортироваться. | EURUSD,AUDUSD,GBPUSD,USDCAD,USDJPY,USDCHF |
| timeframes | Определяет таймфреймы цен, которые будут экспортированы. | M1,M5,M15,M30,H1,H4,D1,W1 |
| exportedSymbolsFetchUrlTemplate | Недоступно в этой версии: она всегда экспортирует NZDUSD. Шаблон URL для получения символов для экспорта. Используется, если exportedSymbolsSource='HTTP_ENDPOINT'. Поддерживаемые переменные: dataProvider. | - |
| lastSentRateTimestampSource | Источник для временной метки последней отправленной цены. Варианты: 'HTTP_ENDPOINT' или 'FILES'. | FILES |
| lastSentRateTimestampUrlTemplate | Шаблон URL для получения/сохранения временной метки последней отправленной цены. Используется, если lastSentRateTimestampSource='HTTP_ENDPOINT'. Поддерживаемые переменные: dataProvider, symbol, timeframe. | - |
| serverTimeZoneMode | Часы сервера, по которым время свечей переводится в UTC. AUTO (по умолчанию) определяет часы сервера сам; или выберите их явно: US_DST (закрытие дня по Нью-Йорку), EU_DST (восточноевропейское время), NO_DST, MANUAL (manualServerGmtOffsetMinutes) — явный выбор даёт точные временные метки для всей истории. | AUTO |
| manualServerGmtOffsetMinutes | Смещение сервера от GMT в минутах, используется с MANUAL. | 120 |
Описание процесса работы EA
При инициализации эксперт выполняет следующие операции:
-
Проверка сброса смещения: EA оценивает необходимость экспорта исторических данных о ценах с определенной временной метки, проверяя переменную shouldReExportHistoricalRates. Если требуется повторный экспорт:
- Значение startExportFromTimestampMillis устанавливается как новое смещение.
- Это смещение сохраняется безопасно, либо локально в файле, либо передается на заданный адрес вашего сервера, в зависимости от конфигурации, заданной lastSentRateTimestampSource.
-
Периодический сбор и отправка данных о ценах: В EA работает таймер, который срабатывает каждые 10 секунд. При каждом срабатывании таймера EA:
- Запрашивает данные о ценах у брокера, начиная с ранее сохраненного смещения (последняя известная временная метка цены) до текущего момента. Отправляются только закрытые свечи: свеча, которая ещё формируется, будет отправлена после закрытия.
- Преобразует полученные данные о ценах в JSON и отправляет их на предварительно определенный URL, полученный из настройки targetExportUrlTemplate.
Выполняя эти шаги, EA обеспечивает непрерывный и автоматизированный поток самых последних данных о ценах для внешнего использования, снабжая ваше приложение или инструменты анализа актуальной информацией о рынке.
Использование
Ниже приведены минимальные действия, необходимые для начала экспорта данных о ценах советником (EA) на ваш настроенный URL:
-
Сделайте на своём сервере адрес, который принимает POST-запрос; его URL получается из targetExportUrlTemplate. Этот адрес должен:
- Принимать данные о ценах с JSON-структурой, описанной ниже.
- Отвечать кодом состояния 200 в случае успешного приема.
-
Разрешите терминалу отправлять данные на ваш сервер: откройте Сервис > Настройки > Советники, поставьте галочку "Разрешить WebRequest для следующих URL" и добавьте адрес вашего сервера, например https://data.example.com.
- Если вы тестируете локально на localhost, создайте имя хоста в 'C:\Windows\System32\drivers\etc\hosts' на Windows или '/etc/hosts' на системах на базе Linux. Используйте это имя хоста в targetExportUrlTemplate.
-
Прикрепите EA к любому графику в терминале и настройте следующие входные параметры:
- dataProvider и targetExportUrlTemplate: обязательны, без них советник не запустится.
- startExportFromTimestampMillis: укажите временную метку, с которой вам нужно получать данные о ценах.
- timeframes: таймфреймы, для которых вам нужны данные о ценах (эта версия всегда экспортирует NZDUSD).
- shouldReExportHistoricalRates: этот параметр должен быть установлен в true при первом запуске, чтобы EA создал все необходимые файлы для отслеживания временной метки последней отправленной цены. После первого запуска верните false, иначе каждый перезапуск будет отправлять всё заново с startExportFromTimestampMillis.
Примечание: в тестере стратегий советник не работает, потому что тестер не даёт отправлять данные через интернет.
Управление смещением
EA хранит временную метку (смещение) последней успешно отправленной цены, чтобы продолжить процесс экспорта в случае сбоев или перезапуска терминала. По умолчанию временные метки хранятся в файлах, которые автоматически создаются в папке MQL5\Files терминала. Для каждого символа и таймфрейма создается отдельный файл.
Кроме того, есть возможность использовать отдельные адреса на вашем сервере для чтения/хранения смещения вместо файлов.
Чтобы использовать эту функцию, установите lastSentRateTimestampSource в 'HTTP_ENDPOINT' и сделайте на своём сервере адреса на основе URL, определенного в lastSentRateTimestampUrlTemplate.
В качестве решения на сервере вы можете выбрать хранение смещений в базе данных (например, PostgreSQL). Если вам нужно повторно экспортировать данные о ценах для определенного символа, вам нужно будет только обновить значение временной метки в таблице базы данных.
Что такое смещение. Смещение — время открытия последней доставленной свечи в миллисекундах с 1970-01-01 по часам сервера брокера (то время, которое показывает терминал), а не UTC. Если вы храните смещения на своём сервере, возвращайте ровно то число, которое прислал советник.
Внешнее управление EA
Если установить lastSentRateTimestampSource в 'HTTP_ENDPOINT', повторный экспорт можно запустить без каких-либо действий в терминале.
Спецификация REST API для интеграции приложения
| HTTP-адрес | Описание | Метод | Запрос | Ответ |
|---|---|---|---|---|
| targetExportUrlTemplate | URL, по которому будут отправляться цены. timestampMillis — время открытия свечи в UTC; spread — в пунктах. | POST | Headers: Content-Type: application/json Body [
{
"symbol": "NZDUSD",
"timeframe": "H1",
"timestampMillis": 1670000400000,
"open": 0.61234,
"high": 0.61350,
"low": 0.61180,
"close": 0.61300,
"tickVolume": 1234,
"spread": 12,
"realVolume": 0
},
...
] | Код ответа 200 в случае, когда цены получены успешно |
| exportedSymbolsFetchUrlTemplate | Недоступно в этой версии: она всегда экспортирует NZDUSD. URL используется для получения списка символов, которые советник (EA) будет экспортировать на URL, полученный из targetExportUrlTemplate. | GET | Headers: Content-Type: text/plain Body (список символов, разделённых запятыми) EURUSD,GBPUSD,AUDUSD,BTCUSD | |
| lastSentRateTimestampUrlTemplate | URL используется для получения конкретной временной метки, с которой должен начинаться процесс экспорта. Тело ответа — смещение ровно в том виде, в каком его прислал советник. | GET | Headers: Content-Type: text/plain Body 1625135912000 | |
| lastSentRateTimestampUrlTemplate | URL используется для сохранения временной метки последнего успешного POST-запроса, выполненного на URL, полученный из targetExportUrlTemplate. Тело — смещение. | POST | Headers: Content-Type: text/plain Body 1625135912000 |
Теги: rates, rate, price, stream, streaming, export, webhook, integration, http, rest, forex, crypto, data, historical, realtime, rest api, provider, data feed, ohlc, форекс, свечи, данные

