その他のメソッド:結果とエラー
口座、相場、履歴、計算、ストリーム。 空、ゼロ、false も有効な結果になり得ます。
手順を読む
- 0:00
その他のメソッド:結果とエラー
この動画では、口座データ、市場情報、履歴、計算、WebSocket ストリームなど、その他の MT5 メソッドの結果とエラーを説明します。
- 0:14
選択したメソッドのガイドを開く
エムティー五、ドット、エムアールピーシー、ドット、プロを開きます。Account Summary や Opened Orders などを選び、コード例の下にある成功確認ガイドを展開します。必ずそのメソッドの説明を確認してください。
- 0:35
1. HTTP ステータスコードを確認
最初に HTTP ステータスコードを確認します。HTTP ステータスコード二百は、API がリクエストを受信して応答を返したことを示します。次に JSON の本文を読みます。それ以外のコードでは、HTTP エラーと応答本文を先に確認してください。
- 1:01
2. error を確認
次に error を確認します。null でなければ errorCode と errorMessage を読みます。ここでは実際の Account Summary が HTTP ステータスコード二百を返しましたが、ターミナル識別子は無効でした。赤い結果が修正方法を示しています。
- 1:26
無効または存在しないセッションを修正
識別子が無効な場合は、Connect Ex が返した完全な id を使用します。ターミナルが見つからない場合は識別子とプラットフォームを確認し、状態を確認します。終了済みのセッションでは、有効な接続を作ってから口座を照会します。
- 1:50
そのメソッドの data を解釈する
口座、市場、履歴、計算メソッドでは、error を確認した後に固有の data を読みます。空リストは該当項目なし、ゼロはポジションなし、false は正常な否定の答えかもしれません。これらを自動的に API エラーと判断しないでください。
- 2:14
メソッド固有のフィールドを読む
Account Summary は口座情報、Positions Total はポジション数を返します。計算メソッドは証拠金や利益の見積もりであり、取引は実行しません。履歴が空なら、絞り込み条件と期間を確認します。
- 2:36
ターミナルが混雑している場合
Busy や Rate Limit Exceeded が返ったら、error の properties に RetryAfterSeconds があるか確認します。指定時間待ち、同時リクエスト数を減らします。読み取りがタイムアウトした場合は、ターミナルの状態を確認してから再試行します。
- 2:59
ストリームはメッセージごとに確認
WebSocket では、受信した各メッセージの error を確認してから data を処理します。接続済みでも、すべての操作が成功したとは限りません。無通信や空のハートビートはエラーではありません。切断後は必要に応じて再接続し、最新の口座状態を読み直します。
- 3:26
その他のメソッドも三つの手順で
通常のメソッドでは HTTP ステータスコード、error、固有の data の順に確認します。ストリームでは各メッセージを確認します。診断情報は保存し、他者へ共有する際は認証情報や口座情報を取り除いてください。