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 へティックデータを送信します。
- すべてのティックの配信を保証し、中断時には最後に送信したティックから再開します。
- ティックのタイムスタンプのオフセットの保存先を 2 種類から選べます:
- ローカルファイル(デフォルト、自動管理)
- お使いのサーバー上の HTTP アドレス(アプリケーションとの連携用)
- HTTP リクエストが失敗した場合は再試行し、ティックを確実に配信します。
- バッチサイズを設定してデータを転送できます。
設定
| 入力パラメータ | 説明 | デフォルト |
|---|---|---|
| dataProvider | データ提供元の名前を指定します。 この名前は URL テンプレート内で {dataProvider} として使用できます。 | - |
| tickQueryingIntervalDurationSeconds | ブローカーからティックを照会する期間の長さ(秒)。 | 10000 秒 |
| maxTicksPerBatch | 1 回のバッチで送信できるティックの最大数。 | 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 | MANUAL で使用する、GMT からのサーバーのオフセット(分)。 | 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 フォルダーに自動作成されるファイルに保存されます。ファイルは銘柄ごとに 1 つずつ作られます。
ファイルの代わりに、お使いのサーバー上の個別のアドレスでオフセットを読み書きすることもできます。
この機能を使うには、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, FX, 暗号資産, データ, 過去データ, リアルタイム, rest api, データ提供, データフィード

