Tick Data HTTP Exporter NZDUSD
- 유틸리티
- 버전: 2.0
- 업데이트됨: 11 10월 2026
Tick Data HTTP Exporter NZDUSD
이 무료 버전은 NZDUSD만 내보내며, 정식 버전인 Tick Data HTTP Exporter는 모든 심볼을 내보냅니다.
설명
이 EA는 터미널을 애플리케이션용 과거 및 실시간 틱 데이터 공급원으로 만들어 줍니다.
인터넷에는 많은 시장 데이터 제공 업체가 있지만, 실제로 제공되는 데이터의 품질이 항상 좋은 것은 아닙니다. 게다가 이러한 서비스는 대체로 더 비싸고, 보통 심볼마다 월 구독료를 받습니다.
이 EA를 사용하면 터미널에서 보는 것과 똑같은 틱 데이터, 즉 거래와 시장 분석의 근거가 되는 바로 그 데이터를 애플리케이션에 공급할 수 있습니다.
시세 데이터(OHLC, 캔들)를 제공하는 Candle Data HTTP Exporter와 함께 사용하면 시장 분석에 필요한 전체 데이터를 갖출 수 있습니다.
기능
- 미리 설정한 외부 HTTP URL로 틱 데이터를 전송합니다.
- 모든 틱의 전달을 보장하며, 중단 시 마지막으로 보낸 틱부터 다시 시작합니다.
- 틱 타임스탬프 오프셋의 저장 방식을 두 가지 중에서 선택할 수 있습니다:
- 로컬 파일(기본값, 자동 관리)
- 귀하의 서버 주소(HTTP, 애플리케이션 연동용)
- HTTP 요청이 실패하면 재시도하여 틱을 안정적으로 전달합니다.
- 배치 크기를 설정하여 데이터를 전송할 수 있습니다.
설정
| 입력 변수 | 설명 | 기본값 |
|---|---|---|
| dataProvider | 데이터 제공자의 이름을 지정합니다. 이 이름은 URL 템플릿에서 {dataProvider}로 사용할 수 있습니다. | - |
| tickQueryingIntervalDurationSeconds | 브로커에서 틱을 조회하는 구간의 길이(초)입니다. | 10000초 |
| maxTicksPerBatch | 한 번의 배치로 보낼 수 있는 최대 틱 수입니다. | 틱 10000개 |
| debugLogsEnabled | 디버그 로그 사용 여부입니다. | false |
| dataSendingIntervalMilliseconds | 틱을 조회하여 외부 URL로 보내는 주기입니다. | 10000밀리초 |
| targetExportUrlTemplate | 틱 데이터를 받을 귀하의 서버 주소에 대한 URL 템플릿입니다. 지원되는 플레이스홀더: dataProvider. | - |
| shouldReExportHistoricalTicks | 입력 변수 startExportFromTimestampMillis에 지정한 시점부터 틱을 다시 내보내는 옵션입니다. | false |
| startExportFromTimestampMillis | shouldReExportHistoricalTicks가 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 |
| exportedSymbolsFetchUrlTemplate | 이 버전에서는 사용할 수 없습니다: 항상 NZDUSD를 내보냅니다. 심볼 목록을 가져오는 URL 템플릿입니다. exportedSymbolsSource='HTTP_ENDPOINT'인 경우에 사용됩니다. 지원되는 플레이스홀더: dataProvider. | - |
| lastSentTickTimestampSource | 마지막으로 보낸 틱의 타임스탬프 출처입니다. 옵션: 'HTTP_ENDPOINT' 또는 'FILES'. | FILES |
| lastSentTickTimestampUrlTemplate | 마지막으로 보낸 틱의 타임스탬프를 가져오거나 저장하는 URL 템플릿입니다. lastSentTickTimestampSource='HTTP_ENDPOINT'인 경우에 사용됩니다. 지원되는 플레이스홀더: dataProvider, symbol. | - |
| serverTimeZoneMode | 틱 시각을 UTC로 변환할 때 사용하는 서버 시계입니다. AUTO(기본값)는 서버 시계를 자동으로 감지하며, 직접 지정할 수도 있습니다: US_DST(뉴욕 마감), EU_DST(동유럽 시간), NO_DST, MANUAL(manualServerGmtOffsetMinutes) — 직접 지정하면 전체 히스토리에 대해 정확한 타임스탬프를 얻을 수 있습니다. | AUTO |
| manualServerGmtOffsetMinutes | GMT 대비 서버 오프셋(분)으로, MANUAL과 함께 사용합니다. | 120 |
EA 동작 방식
초기화 시 전문가 어드바이저 (EA)는 다음 작업을 수행합니다:
-
오프셋 초기화 확인: EA는 shouldReExportHistoricalTicks 변수를 확인하여 특정 타임스탬프부터 과거 틱 데이터를 내보내야 하는지 판단합니다. 다시 내보내야 하는 경우 EA는:
- startExportFromTimestampMillis 값을 새 타임스탬프 오프셋으로 설정합니다.
- lastSentTickTimestampSource 설정에 따라 이 오프셋을 로컬 파일에 안전하게 저장하거나 귀하의 서버 주소로 전송합니다.
-
틱 데이터의 주기적 수집 및 전송: EA에는 dataSendingIntervalMilliseconds에 정의된 간격으로 작동하는 타이머가 있습니다. 타이머가 작동할 때마다 EA는:
- 마지막으로 저장된 오프셋(가장 최근 틱의 타임스탬프)부터 현재까지의 틱 데이터를 브로커에 요청합니다.
- 가져온 틱 데이터를 JSON으로 변환하여 입력 변수 targetExportUrlTemplate에서 생성된 URL로 전송합니다.
이러한 과정을 통해 EA는 최신 틱 데이터를 끊김 없이 자동으로 외부에 제공하여, 애플리케이션이나 분석 도구가 항상 최신 시장 정보를 받을 수 있게 합니다.
사용 방법
EA가 설정한 URL로 틱 내보내기를 시작하려면 최소한 다음 작업이 필요합니다:
-
귀하의 서버에 POST 요청을 받는 주소(URL은 targetExportUrlTemplate에서 생성)를 만드십시오. 이 주소는 다음을 충족해야 합니다:
- 아래에 설명된 JSON 구조의 틱 데이터를 받을 것.
- 정상적으로 수신하면 상태 코드 200으로 응답할 것.
-
터미널이 귀하의 서버로 데이터를 보낼 수 있도록 허용하십시오: 도구 > 옵션 > 전문가 어드바이저(Tools > Options > Expert Advisors)를 열고 "Allow WebRequest for listed URL"에 체크한 뒤 서버 주소(예: https://data.example.com)를 추가합니다.
- localhost에서 로컬로 테스트하는 경우 Windows에서는 'C:\Windows\System32\drivers\etc\hosts', Linux 계열 시스템에서는 '/etc/hosts'에 호스트 이름을 만들고, 그 호스트 이름을 targetExportUrlTemplate에 사용하십시오.
-
터미널의 아무 차트에나 EA를 적용하고 다음 입력 변수를 설정합니다:
- dataProvider 및 targetExportUrlTemplate: 필수 항목이며, 없으면 EA가 시작되지 않습니다.
- startExportFromTimestampMillis: 틱을 받기 시작할 타임스탬프를 설정합니다.
- shouldReExportHistoricalTicks: 처음 실행할 때는 EA가 마지막으로 보낸 틱의 타임스탬프를 기록하는 데 필요한 파일을 모두 만들 수 있도록 반드시 true로 설정해야 합니다. 첫 실행 후에는 false로 되돌리십시오(그렇지 않으면 재시작할 때마다 startExportFromTimestampMillis부터 모든 데이터를 다시 보냅니다).
참고: 전략 테스터는 인터넷을 통한 데이터 전송을 차단하므로 EA가 테스터에서는 작동하지 않습니다.
오프셋 관리
EA는 중단이나 터미널 재시작 후에도 내보내기를 이어갈 수 있도록, 마지막으로 성공적으로 보낸 틱의 타임스탬프(오프셋)를 보관합니다.
기본적으로 타임스탬프는 터미널의 MQL5\Files 폴더에 자동으로 생성되는 파일에 저장됩니다. 심볼마다 별도의 파일이 있습니다.
파일 대신 귀하의 서버에 있는 별도의 주소를 사용해 오프셋을 읽고 저장할 수도 있습니다.
이 기능을 사용하려면 lastSentTickTimestampSource를 'HTTP_ENDPOINT'로 설정하고, lastSentTickTimestampUrlTemplate에 정의된 URL에 맞춰 서버에 주소를 만드십시오.
서버 측에서는 오프셋을 데이터베이스(예: PostgreSQL)에 저장할 수 있습니다. 특정 심볼의 틱을 다시 내보내야 할 때는 데이터베이스 테이블의 타임스탬프 값만 수정하면 됩니다.
오프셋이란. 오프셋은 마지막으로 전달된 틱의 시각으로, 브로커 서버 시각(터미널에 표시되는 시각) 기준 1970-01-01부터 경과한 밀리초 수이며 UTC가 아닙니다. 서버에 오프셋을 보관하는 경우 EA가 보낸 숫자를 그대로 돌려주십시오.
EA 외부 관리
lastSentTickTimestampSource 값을 'HTTP_ENDPOINT'로 설정하면 터미널에서 아무 작업 없이 재내보내기를 시작할 수 있습니다.
애플리케이션 연동용 REST API 사양
| HTTP 주소 | 설명 | 메서드 | 요청 | 응답 |
|---|---|---|---|---|
| targetExportUrlTemplate | 틱 데이터를 보내는 URL입니다. timestampMillis는 UTC 기준 틱 시각입니다. | POST | 헤더: Content-Type: application/json 본문 [
{
"symbol": "NZDUSD",
"bid": 0.61200,
"ask": 0.61215,
"last": 0.61210,
"volume": 1234.56,
"timestampMillis": 1625135912000
},
...
] | 틱을 정상적으로 수신한 경우 응답 코드 200 |
| exportedSymbolsFetchUrlTemplate | 이 버전에서는 사용할 수 없습니다: 항상 NZDUSD를 내보냅니다. EA가 'targetExportUrlTemplate'에서 생성된 URL로 내보낼 심볼 목록을 가져오는 데 사용되는 URL입니다. | GET | 헤더: Content-Type: text/plain 본문(쉼표로 구분된 심볼 목록) EURUSD,GBPUSD,AUDUSD,BTCUSD | |
| lastSentTickTimestampUrlTemplate | 내보내기를 시작할 타임스탬프를 가져오는 데 사용되는 URL입니다. 본문은 EA가 보낸 그대로의 오프셋입니다. | GET | 헤더: Content-Type: text/plain 본문 1625135912000 | |
| lastSentTickTimestampUrlTemplate | 'targetExportUrlTemplate'에서 생성된 URL로 마지막으로 성공한 POST 요청의 타임스탬프를 저장하는 데 사용되는 URL입니다. 본문은 오프셋입니다. | POST | 헤더: Content-Type: text/plain 본문 1625135912000 |
중요: 이 EA를 사용하기 전에 사용 중인 브로커가 과거 틱 데이터 내보내기를 지원하는지 확인하십시오. 틱 데이터의 제공 여부와 기간은 브로커마다 다릅니다.
태그: 틱, 호가, 시세, 스트림, 스트리밍, 내보내기, webhook, 연동, http, rest, 외환, 암호화폐, 데이터, 과거 데이터, 실시간, rest api, 데이터 제공, 데이터 피드

