← すべてのチュートリアル
MT4 API · 4:44

WebSocket で MT4 の価格を受信

接続、購読、ティックの確認、切断。

手順を読む

  1. 0:00

    WebSocket で MT4 の価格を受信

    このチュートリアルでは、WebSocket で MetaTrader フォーのリアルタイム価格を受信します。デモ口座に接続して銘柄を購読し、実際のメッセージを確認した後、購読を停止して端末を切断します。

  2. 0:20

    API コンソールを開く

    エムティーフォー、ドット、エムアールピーシー、ドット、プロを開きます。コンソールは自動的に表示されます。接続メソッドから Connect Ex を選びます。ここでは価格の読み取りだけを行い、売買は行いません。

  3. 0:42

    デモ口座に接続する

    Trial または自分の API キーを使います。専用デモ口座のログイン番号、取引パスワード、ブローカーの正確なサーバー名を入力します。新しい接続なので、任意の id 欄は空欄のままリクエストを実行します。認証情報は公開しないでください。

  4. 1:08

    端末 id を保存する

    Connect Ex では、HTTP ステータスコード二百と JSON レスポンスを確認します。error にエラーがあれば、先に詳細を読みます。成功時には data に terminal Instance Guid が返ります。コンソールは後続のリクエスト用に id を保存し、接続済みと表示します。

  5. 1:34

    銘柄を選ぶ

    購読の項目から On Symbol Tick を選び、接続時の id を使います。symbol Names にはブローカーの正確な銘柄名を入力します。ここでは EURUSD です。ブローカーによって接尾辞などが異なります。ストリームに接続するボタンを押します。

  6. 1:59

    リアルタイム価格を確認

    接続済みの表示は WebSocket が開いていることを示します。ティックを受信するたびに価格カードが更新されます。受信フレームは実際のサーバーメッセージです。HTTP リクエストの繰り返しではなく、連続したストリームです。各メッセージの error を確認してから data ドット symbol Tick を読みます。

  7. 2:27

    bid と ask を理解する

    symbol Tick の symbol は銘柄です。Bid は売却価格、ask は購入価格で、その差がスプレッドです。これは価格情報であり、約定確認ではありません。ブローカーが直近の取引情報を配信していない銘柄では、last や volume がゼロになることがあります。

  8. 2:53

    UTC の時刻を使う

    異なるシステムで時刻を統一するには time U T C を使い、ミリ秒なら time M S C U T C を使います。この画面では、ブローカー時刻が明示的な UTC 時刻より二時間進んでいます。文字列の末尾が Z でも、ブローカー時刻をそのまま UTC とみなさないでください。フレームの受信時刻は別の値です。

  9. 3:23

    対応する JavaScript の例

    JavaScript の例では、安全な WebSocket URL と同じ銘柄を使います。ブラウザーの WebSocket では独自の認証ヘッダーを設定できないため、API キーと端末 id を URL のクエリーに渡します。完全な URL は公開しないでください。JSON を解析し、まず error を処理してからティックと UTC 時刻を読みます。

  10. 3:52

    購読を停止する

    終わったらストリームのパネルで切断を押します。コードでは WebSocket を閉じます。これで購読は終了しますが、端末の切断とは別の操作です。メッセージが来ないだけでは障害とは限りません。接続状態、銘柄名、ブローカーの価格配信を確認します。

  11. 4:17

    端末を切断する

    Disconnect メソッドを選び、同じ端末 id で実行します。HTTP ステータスコード二百と error を確認します。この成功レスポンスには端末の識別子と稼働時間が含まれ、上部の表示が切断済みに変わります。購読と端末セッションの両方が終了しました。