Candle Data HTTP Exporter NZDUSD
- ユーティリティ
- バージョン: 2.0
- アップデート済み: 11 10月 2026
Candle Data HTTP Exporter NZDUSD
この無料版は NZDUSD のみをエクスポートし、フルバージョンの Candle Data HTTP Exporter は任意の銘柄をエクスポートできます。
説明
この EA は、お使いのターミナルをアプリケーション向けの過去およびリアルタイムのレート(OHLC、ローソク足)データの提供元にします。
インターネット上には多くのマーケットデータ提供サービスがありますが、実際には提供されるデータの品質が常に良いとは限りません。さらに、こうしたサービスは割高なことが多く、通常は銘柄ごとに月額の利用料がかかります。
この EA を使えば、ターミナルで表示されているものとまったく同じレートデータ、つまり取引や相場分析の根拠としているデータそのものをアプリケーションに提供できます。
ティックデータを提供する Tick Data HTTP Exporter と組み合わせれば、相場分析に必要なデータ一式がそろいます。
機能
- あらかじめ設定した外部の HTTP URL へレートデータを送信します。
- すべてのローソク足の配信を保証し、中断時には最後に送信したローソク足から再開します。
- ローソク足のタイムスタンプのオフセットの保存先を 2 種類から選べます:
- ローカルファイル(デフォルト、自動管理)
- お使いのサーバー上の HTTP アドレス(アプリケーションとの連携用)
- HTTP リクエストが失敗した場合は再試行し、ローソク足を確実に配信します。
- バッチサイズを設定してデータを転送できます。
設定
| 入力パラメータ | 説明 | デフォルト |
|---|---|---|
| dataProvider | データ提供元の名前を指定します。 この名前は URL テンプレート内で {dataProvider} として使用できます。 | - |
| maxRatesPerBatch | 1 回のバッチで送信できるローソク足の最大本数。 | 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 | MANUAL で使用する、GMT からのサーバーのオフセット(分)。 | 120 |
EA の動作
初期化時に、エキスパートアドバイザー (EA) は次の処理を行います:
-
オフセットのリセット確認:EA は変数 shouldReExportHistoricalRates を確認し、特定のタイムスタンプから過去のレートデータをエクスポートする必要があるかを判断します。再エクスポートが必要な場合、EA は次の処理を行います:
- startExportFromTimestampMillis の値を新しいタイムスタンプのオフセットとして設定します。
- lastSentRateTimestampSource の設定に従い、このオフセットをローカルファイルに確実に保存するか、お使いのサーバー上の指定アドレスへ送信します。
-
レートデータの定期取得と送信:EA には 10 秒ごとに作動するタイマーが組み込まれています。作動するたびに、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:ローソク足を取得したい開始タイムスタンプを設定します。
- timeframes:ローソク足が必要な時間足(このバージョンは常に NZDUSD をエクスポートします)。
- shouldReExportHistoricalRates:初回の実行時は、最後に送信したローソク足のタイムスタンプを記録するファイルを EA がすべて作成できるよう、true に設定する必要があります。初回の実行後は false に戻してください(戻さないと、再起動のたびに startExportFromTimestampMillis からすべてを送信し直します)。
注意:ストラテジーテスターはインターネット経由のデータ送信をブロックするため、EA はテスターでは動作しません。
オフセットの管理
EA は、中断やターミナルの再起動後にエクスポートを続行できるよう、最後に送信に成功したローソク足のタイムスタンプ(オフセット)を保持します。
デフォルトでは、タイムスタンプはターミナルの MQL5\Files フォルダーに自動作成されるファイルに保存されます。ファイルは銘柄と時間足ごとに 1 つずつ作られます。
ファイルの代わりに、お使いのサーバー上の個別のアドレスでオフセットを読み書きすることもできます。
この機能を使うには、lastSentRateTimestampSource を 'HTTP_ENDPOINT' に設定し、lastSentRateTimestampUrlTemplate で定義した URL に従ってサーバー上にアドレスを用意します。
サーバー側では、オフセットをデータベース(PostgreSQL など)に保存できます。特定の銘柄のローソク足を再エクスポートしたい場合は、データベースのテーブルにあるタイムスタンプの値を更新するだけで済みます。
オフセットとは。オフセットは最後に配信したローソク足の始値の時刻で、ブローカーのサーバー時刻(ターミナルに表示される時刻)での 1970-01-01 からのミリ秒数です(UTC ではありません)。オフセットをサーバーで保持する場合は、EA が送信した数値をそのまま返してください。
EA の外部からの管理
lastSentRateTimestampSource を 'HTTP_ENDPOINT' に設定すると、ターミナルで操作しなくても再エクスポートを開始できます。
アプリケーション連携用 REST API 仕様
| HTTP アドレス | 説明 | メソッド | リクエスト | レスポンス |
|---|---|---|---|---|
| targetExportUrlTemplate | レートデータを送信する URL。 timestampMillis はローソク足の始値の時刻(UTC)、spread の単位はポイントです。 | POST | ヘッダー: Content-Type: application/json ボディ [
{
"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 をエクスポートします。 EA が 'targetExportUrlTemplate' から生成される URL へエクスポートする銘柄のリストを取得するための URL です。 | GET | ヘッダー: Content-Type: text/plain ボディ(カンマ区切りの銘柄リスト) EURUSD,GBPUSD,AUDUSD,BTCUSD | |
| lastSentRateTimestampUrlTemplate | エクスポートを開始するタイムスタンプを取得するための URL です。 ボディは EA が送信したとおりのオフセットです。 | GET | ヘッダー: Content-Type: text/plain ボディ 1625135912000 | |
| lastSentRateTimestampUrlTemplate | 'targetExportUrlTemplate' から生成される URL への、最後に成功した POST リクエストのタイムスタンプを保存するための URL です。 ボディはオフセットです。 | POST | ヘッダー: Content-Type: text/plain ボディ 1625135912000 |
タグ:レート, ローソク足, 価格, 価格集計, ストリーム, ストリーミング, エクスポート, webhook, 連携, http, rest, FX, 暗号資産, データ, 過去データ, リアルタイム, rest api, データ提供, データフィード, ohlc

