技術辞典

MQL5注文関数・取引構造体辞典|OrderSend・MqlTradeRequest・MqlTradeResultの基本

EAファンクラブ

MQL5でEAの注文処理を作る場合、まず理解しておきたいのが、OrderSendOrderCheckMqlTradeRequestMqlTradeResultMqlTradeCheckResultの関係です。

MQL5では、注文内容を構造体へ入れて取引サーバーへ送信し、その結果をretcode、order、deal、commentなどで確認します。MQL4のOrderSend感覚だけで扱うと、注文送信、注文受付、約定、決済、履歴反映を混同しやすくなります。

この記事では、MQL5の注文関数と取引構造体を、EA開発や不具合調査で確認しやすい辞典形式で整理します。公式リファレンスの代わりに丸暗記するためではなく、どの関数・構造体を、どの場面で使い、どの戻り値とログを確認するかを整理するための記事です。

注意:この記事はMQL5開発・EA動作確認・不具合調査のための技術解説です。特定の売買判断、推奨エントリー、推奨ロット、推奨銘柄、利益保証、勝率保証、損失回避保証を行うものではありません。実運用前には、必ずデモ環境や検証環境で動作を確認してください。

MQL5の注文処理は「関数」と「構造体」で分けて理解する

MQL5の注文処理は、単にOrderSendを呼び出すだけではありません。注文内容をMqlTradeRequestへまとめ、必要に応じてOrderCheckで事前確認し、OrderSendでサーバーへ送信し、MqlTradeResultで結果を確認します。

特にEA開発では、発注条件が成立したこと注文リクエストを送信したこと取引サーバーに受け付けられたこと約定したことポジションや履歴へ反映されたことを分けてログ化することが重要です。

段階使うもの役割確認すること
1MqlTradeRequest注文内容を入れる構造体銘柄、ロット、注文種別、価格、SL、TP、deviation、magic、comment
2OrderCheck注文前チェック証拠金、余剰証拠金、check.retcode、check.comment
3MqlTradeCheckResultOrderCheckの結果を受け取る構造体retcode、margin、margin_free、margin_level、comment
4OrderSend取引サーバーへリクエストを送信する関数関数戻り値、GetLastError、result.retcode
5MqlTradeResultOrderSendの結果を受け取る構造体retcode、order、deal、price、volume、comment
6Position / History注文後の現在状態・履歴を確認する領域PositionSelect、HistorySelect、deal、order、profit、magic

OrderSend

OrderSendは、MqlTradeRequestで作成した注文リクエストを取引サーバーへ送信する関数です。

OrderSendの戻り値がtrueでも、必ずしも期待どおりの約定が完了したとは限りません。MqlTradeResult.retcode、order、deal、commentを確認し、必要に応じてPositionやHistoryも確認します。

項目内容
主な用途新規成行注文、指値・逆指値注文、決済、SL/TP変更、注文取消など
主な確認値OrderSend戻り値、GetLastError、result.retcode、result.order、result.deal、result.comment
よくある失敗ロット不正、証拠金不足、SL/TP距離不正、価格不正、filling方式不一致、取引時間外
確認ログORDER_SEND、ORDER_RESULT、TRADE_RESULT、RETCODE_CHECK、Journalログ

OrderSendで確認すること

確認対象確認内容理由
request.actionTRADE_ACTION_DEAL、TRADE_ACTION_PENDING、TRADE_ACTION_SLTPなど実行したい処理種別と一致しているか確認するため
request.symbol対象銘柄チャート銘柄、発注対象、suffix違いを確認するため
request.volume発注ロット最小ロット、最大ロット、lot stepに合っているか確認するため
request.typeBUY / SELL / pending種別方向や注文種別の誤りを防ぐため
request.price発注価格成行、指値、逆指値で必要な価格の意味が異なるため
request.sl / request.tpSL / TP価格StopsLevel、FreezeLevel、価格方向の確認に必要なため
request.type_filling約定方式銘柄仕様と合っていないとINVALID_FILLになりやすいため
result.retcode取引サーバー側の結果コード注文拒否、約定、保留、価格変更などを確認するため

OrderCheck

OrderCheckは、OrderSendの前に注文内容をチェックするための関数です。証拠金、余剰証拠金、注文条件の妥当性を確認できます。

OrderCheckは、すべての失敗を完全に防ぐものではありません。OrderCheckで問題がなくても、OrderSend時点の価格変動、取引時間、サーバー応答、filling方式、外部環境によって失敗する場合があります。

項目内容
主な用途発注前の証拠金確認、ロット確認、リスク確認、事前validation
主な確認値check.retcode、check.margin、check.margin_free、check.margin_level、check.comment
よくある失敗証拠金不足、volume不正、価格不正、SL/TP不正
確認ログORDER_CHECK、MARGIN_CHECK、LOT_CHECK、REQUEST_VALIDATE

OrderCheckを使う場面

場面確認内容補足
ロット計算後必要証拠金、余剰証拠金、volumeの妥当性ロット正規化後に確認します。
成行発注前現在価格、証拠金、取引可能状態価格変動があるため、OrderSend直前にもtick確認が必要です。
pending order前注文価格、StopsLevel、注文種別BUY LIMIT / SELL LIMIT / BUY STOP / SELL STOPの価格方向に注意します。
SL/TP設定前StopsLevel、FreezeLevel、価格方向SL/TP変更はPositionModifyやTRADE_ACTION_SLTPとも関係します。

MqlTradeRequest

MqlTradeRequestは、注文内容を格納する構造体です。OrderSendやOrderCheckへ渡す前に、必要なフィールドへ値を設定します。

requestの内容が不十分、または銘柄仕様に合っていない場合、OrderCheckやOrderSendで失敗します。EA開発では、requestを作成した時点で主要項目をログに残すと、原因調査がしやすくなります。

フィールド用途確認ポイント
action取引操作の種類新規注文、pending、SL/TP変更、注文削除などの処理種別を指定します。
symbol対象銘柄チャート銘柄と同じか、suffixや別銘柄指定がないか確認します。
volumeロット数SYMBOL_VOLUME_MIN、SYMBOL_VOLUME_STEP、SYMBOL_VOLUME_MAXに合わせます。
type注文種別ORDER_TYPE_BUY、ORDER_TYPE_SELL、pending order種別などを指定します。
price注文価格成行、指値、逆指値で意味が異なります。
sl損切り価格BUYとSELLで価格方向が異なります。
tp利確価格StopsLevel未満にならないよう確認します。
deviation許容価格差成行注文時の価格変動許容に関係します。
type_filling約定方式銘柄のSYMBOL_FILLING_MODEと整合させます。
magicEA識別番号EA別、ロジック別、チャート別の識別に使います。
comment注文コメント履歴確認やサポート時の補助になります。ただし長すぎる文字列は避けます。

MqlTradeResult

MqlTradeResultは、OrderSendの結果を受け取る構造体です。注文が成功したか、拒否されたか、どのticketが発行されたかを確認するために使います。

OrderSendの戻り値だけで判断せず、MqlTradeResultの各値を確認します。特にretcode、order、deal、commentは重要です。

フィールド用途確認ポイント
retcode取引サーバー側の結果コードTRADE_RETCODE_DONE、INVALID_VOLUME、NO_MONEYなどを確認します。
deal約定ticket成行で約定した場合などに確認します。pendingでは0の場合があります。
order注文ticketpending orderや注文受付の追跡に使います。
volume約定数量部分約定や想定ロットとの差を確認します。
price約定価格または処理価格リクエスト価格との差、price changedの確認に使います。
commentサーバーコメント拒否理由や補足情報が入る場合があります。

MqlTradeCheckResult

MqlTradeCheckResultは、OrderCheckの結果を受け取る構造体です。発注前の余剰証拠金、必要証拠金、チェック結果を確認できます。

フィールド用途確認ポイント
retcodeOrderCheckの結果コード発注条件が通るかどうかを確認します。
balance残高発注前の口座状態確認に使います。
equity有効証拠金含み損益込みの口座状態を確認します。
margin必要証拠金発注に必要な証拠金を確認します。
margin_free余剰証拠金発注後の余剰証拠金を確認します。
margin_level証拠金維持率リスク管理や発注制限の確認に使います。
commentチェック結果コメント失敗理由や補足情報を確認します。

TRADE_RETCODE

TRADE_RETCODEは、取引サーバー側の処理結果を示すコードです。注文関連の不具合調査では、GetLastErrorだけでなくTRADE_RETCODEを確認する必要があります。

retcode例意味の目安よくある原因確認すること
TRADE_RETCODE_DONE処理完了正常処理deal、order、Position、Historyを確認します。
TRADE_RETCODE_PLACED注文配置pending orderなどorder ticketと注文状態を確認します。
TRADE_RETCODE_REJECT拒否サーバー側拒否、条件不備Journalログ、request内容、取引条件を確認します。
TRADE_RETCODE_INVALID_VOLUMEロット不正最小ロット未満、step不一致、最大ロット超過SYMBOL_VOLUME_MIN、SYMBOL_VOLUME_STEP、SYMBOL_VOLUME_MAXを確認します。
TRADE_RETCODE_INVALID_PRICE価格不正価格更新不足、Bid/Ask違い、桁数不一致SymbolInfoTick、Digits、NormalizeDoubleを確認します。
TRADE_RETCODE_INVALID_STOPSSL/TP不正StopsLevel未満、価格方向不正、FreezeLevel制限SYMBOL_TRADE_STOPS_LEVEL、SYMBOL_TRADE_FREEZE_LEVEL、Bid/Askを確認します。
TRADE_RETCODE_NO_MONEY証拠金不足ロット過大、余剰証拠金不足OrderCheck、OrderCalcMargin、AccountInfoDoubleを確認します。
TRADE_RETCODE_MARKET_CLOSED市場休場取引時間外、休場、銘柄停止取引時間、SYMBOL_TRADE_MODE、Journalログを確認します。
TRADE_RETCODE_TRADE_DISABLED取引不可EA取引不可、銘柄取引不可、口座制限AutoTrading、MQLInfoInteger、TerminalInfoInteger、銘柄仕様を確認します。
TRADE_RETCODE_INVALID_FILLfilling方式不一致type_fillingが銘柄に合っていないSYMBOL_FILLING_MODE、request.type_filling、CTrade.SetTypeFillingを確認します。
TRADE_RETCODE_PRICE_CHANGED価格変動発注時と約定時の価格差deviation、最新tick、約定環境を確認します。
TRADE_RETCODE_TOO_MANY_REQUESTSリクエスト過多短時間に注文や変更を連続送信送信間隔、重複発注ガード、OnTick処理を確認します。

注文失敗時に見るログ

注文失敗時は、EA内部ログとMT5端末側ログを分けて確認します。EA側ではrequestとresult、端末側ではJournalログ、取引サーバー側の応答を確認します。

ログ名目的出すタイミング含めたい項目
ORDER_CHECKOrderCheck結果確認OrderSend前check.retcode、margin、margin_free、margin_level、comment
ORDER_SEND送信request確認OrderSend直前symbol、action、type、volume、price、sl、tp、magic
ORDER_RESULTOrderSend結果確認OrderSend直後send_return、last_error、retcode、order、deal、comment
EXEC_BLOCKEA側で発注を止めた理由OrderSend前にブロックした時spread、session、risk、auth、external control、duplicate block
SYMBOL_SPEC銘柄仕様確認OnInitまたは発注前digits、point、volume_min、volume_step、stops_level、filling_mode
POSITION_SNAPSHOT発注後の保有状態確認OrderSend後、OnTradeTransaction後ticket、symbol、type、volume、price_open、sl、tp、profit、magic
HISTORY_AUDIT約定・決済履歴確認取引後、日次集計時deal、order、DEAL_ENTRY、DEAL_TYPE、profit、commission、swap

EAが注文しない時に確認すること

EAが注文しない場合、注文関数の失敗だけが原因とは限りません。OrderSendへ到達する前に、EA側の条件で発注を止めている場合があります。

確認項目内容見るべきログ
シグナル成立エントリー条件が成立しているかSIGNAL、ENTRY_SIGNAL、SCORE、GATE
スプレッド制限現在スプレッドが上限内かSPREAD_CHECK、EXEC_BLOCK
取引時間制限EA側の取引時間、ブローカー取引時間が合っているかSESSION_CHECK、MARKET_CLOSED、Journalログ
ロット条件最小ロット、最大ロット、stepに合っているかLOT_CHECK、SYMBOL_SPEC
証拠金必要証拠金と余剰証拠金に問題がないかMARGIN_CHECK、OrderCheck
SL/TP距離StopsLevel、FreezeLevelに抵触していないかSTOPS_CHECK、TRADE_RETCODE_INVALID_STOPS
filling方式銘柄仕様とtype_fillingが一致しているかFILLING_CHECK、TRADE_RETCODE_INVALID_FILL
重複発注ガード同一バー、同一方向、同一Magicの重複を止めていないかDUPLICATE_BLOCK、ENTRY_BLOCK
外部制御・認証外部制御や認証で新規Entryが止まっていないかAUTH_STATE、EXTCTRL_STATE、ENTRY_PERMISSION

EA利用者向けの確認ポイント

EAがエントリーしない場合でも、必ずしも不具合とは限りません。EA側のフィルター、スプレッド制限、取引時間制限、証拠金不足、銘柄仕様、ブローカー側の取引制限で発注を止めている場合があります。

確認すること内容開発者へ伝えるとよい情報
EA名・バージョン設置しているEA名と版対象ファイルと仕様を特定するため
銘柄・時間足チャート左上のsymbol、M1/M5/M15など銘柄仕様、価格取得、時間足条件に関係します。
setファイル読み込んだ設定ファイルロット、フィルター、時間設定、通知設定の再現に必要です。
ExpertsログEA内部ログOrderCheck、OrderSend、EXEC_BLOCK、retcode確認に使います。
JournalログMT5端末側ログ取引サーバー側の拒否、接続、取引時間の確認に使います。
取引タブ・履歴タブ注文、ポジション、履歴の表示order、deal、positionの状態確認に使います。
スクリーンショットチャート、設定、ログ、取引タブ表示状態とログを照合するために役立ちます。

MQL5開発者向けの実装確認ポイント

MQL5開発では、signal、execution、risk、exit、auth、external control、notificationを分けて扱うと、注文失敗時の原因を追いやすくなります。

責務主な確認内容注文処理との関係確認ログ
signal売買条件、インジケーター条件、価格条件注文を出す前の条件成立を確認します。SIGNAL、GATE、SCORE、ENTRY_SIGNAL
riskロット、証拠金、スプレッド、最大ポジションOrderSend前に発注可能か確認します。LOT_CHECK、MARGIN_CHECK、SPREAD_CHECK
executionMqlTradeRequest、OrderCheck、OrderSend、MqlTradeResult実際の注文送信と結果確認を担当します。ORDER_CHECK、ORDER_SEND、ORDER_RESULT
exit決済、SL/TP変更、トレーリングポジション管理と決済リクエストを扱います。EXIT_CHECK、POSITION_CLOSE、SLTP_MODIFY
auth利用許可、ライセンス、口座認証新規注文を許可するかを決める場合があります。AUTH_STATE、AUTH_RESULT
external control外部シート、外部API、稼働ON/OFF新規Entry停止や方向制御に関係します。EXTCTRL_STATE、ENTRY_PERMISSION
notificationDiscord通知、ログ通知、外部通知注文成否とは別責務として扱います。NOTIFY_SEND、HTTP_STATUS

実装時の注意点

  • OrderSendの戻り値だけで成功判定しない
  • MqlTradeResult.retcodeを必ず確認する
  • result.orderとresult.dealの意味を混同しない
  • Order、Position、Deal、Historyを分けて確認する
  • ロットはSYMBOL_VOLUME_MIN、SYMBOL_VOLUME_STEP、SYMBOL_VOLUME_MAXに合わせる
  • SL/TPはStopsLevelと価格方向を確認する
  • filling方式は銘柄仕様に合わせる
  • signal不成立とexecution失敗を同じログにしない
  • 通知失敗と注文失敗を混同しない
  • 同一バー重複発注、同一方向重複発注のガードを入れる

注文関数・取引構造体の辞典表

関数/構造体/フィールド役割使う場面確認値出やすいエラー関連ログ
OrderSend注文リクエストを送る新規注文、決済、SL/TP変更、注文取消bool戻り値、result.retcode、order、dealINVALID_VOLUME、INVALID_STOPS、NO_MONEY、INVALID_FILLORDER_SEND、ORDER_RESULT、ORDER_FAIL
OrderCheck注文前の妥当性確認発注前の証拠金・ロット・価格確認check.retcode、margin、margin_free、comment証拠金不足、ロット不正、SL/TP距離不正ORDER_CHECK、MARGIN_CHECK
MqlTradeRequest注文内容の入れ物OrderSend / OrderCheck前action、symbol、volume、type、price、sl、tprequest不備、type不一致、価格不正REQUEST_DUMP、EXEC_ROUTE
MqlTradeResult注文結果の入れ物OrderSend後retcode、order、deal、price、volume、comment約定未完了、拒否、部分約定ORDER_RESULT、RETCODE_CHECK
MqlTradeCheckResult注文前チェック結果OrderCheck後retcode、balance、equity、margin、margin_free証拠金不足、volume不正ORDER_CHECK_RESULT
request.type_filling約定方式指定ブローカー仕様に合わせる時FOK、IOC、RETURNTRADE_RETCODE_INVALID_FILLFILLING_CHECK、SYMBOL_SPEC
request.magicEA識別番号EA別・ロジック別管理magic値他EAとの混同、決済対象ミスMAGIC_CHECK、POSITION_SCOPE
request.comment注文コメント履歴・サポート時の識別補助comment文字列長すぎるコメント、識別不能ORDER_COMMENT、HISTORY_AUDIT
result.retcode取引サーバー結果コードOrderSend後TRADE_RETCODE系定数拒否、価格変動、証拠金不足、取引不可RETCODE_CHECK、TRADE_RESULT
result.order注文ticket注文受付・pending追跡order ticketorderとdealの混同ORDER_TICKET、ORDER_AUDIT
result.deal約定ticket約定確認deal ticketpending時0、未約定との混同DEAL_TICKET、HISTORY_AUDIT

開発依頼前に整理する情報

注文処理や取引構造体まわりの不具合調査・改修依頼を行う場合は、次の情報を整理してください。

整理する情報内容理由
対象EA名・バージョンmq5/ex5名、商品名、バージョン対象ファイルと仕様を特定するため
対象機能新規注文、決済、SL/TP変更、pending、ナンピンなど確認するrequest.actionや処理経路を絞るため
対象銘柄・時間足symbol、timeframe、ブローカー表記銘柄仕様、価格、スプレッド、StopsLevelを確認するため
エラー内容GetLastError、TRADE_RETCODE、表示メッセージ端末側エラーと取引サーバー側結果を分けるため
ExpertsログEA内部ログ、OrderCheck、OrderSend、retcodeEA内部の発注経路を追うため
Journalログ端末側・サーバー側ログ取引サーバー拒否や接続状態を確認するため
setファイルInputs設定ロット、SL/TP、スプレッド、時間制御などの再現に必要です。
スクリーンショットチャート、設定画面、ログ、取引タブ、履歴タブ表示状態とログを照合するため
再現手順どの操作・条件で発生したかOnInit、OnTick、OnTimer、OnTradeTransactionなどの発生箇所を特定するため

送ってはいけない情報:口座パスワード、投資家パスワード、Webhook URL、GAS URL、APIキー、認証トークン、口座番号の全桁、個人情報は、そのまま送らないでください。必要に応じて必ずマスクしてください。

関連するMQL5技術辞典

注文処理の不具合は、OrderSendだけでなく、エラーコード、関数分類、ポジション・履歴用語、列挙型、標準ライブラリの理解とも関係します。関連するMQL5技術辞典もあわせて確認してください。

技術辞典確認できる内容リンク
MQL5エラーコード辞典GetLastError、TRADE_RETCODE、コンパイルエラー、WebRequest、Strategy Tester関連エラーを確認できます。MQL5エラーコード辞典
MQL5関数辞典EA・インジケーター開発で使う主要関数を、目的別・確認ログ別に確認できます。MQL5関数辞典
MQL5ポジション・注文・約定・履歴用語辞典Order、Position、Deal、History、ticket、magic、commentなど、取引管理で混同しやすい用語を確認できます。MQL5ポジション・注文・約定・履歴用語辞典
MQL5インジケーター関数辞典iCustom、CopyBuffer、SetIndexBuffer、OnCalculate、IndicatorRelease、buffer index、shiftなどを確認できます。MQL5インジケーター関数辞典
MQL5時系列・価格取得関数辞典CopyRates、CopyClose、iClose、iTime、SymbolInfoDouble、TimeCurrentなどを確認できます。MQL5時系列・価格取得関数辞典
MQL5ファイル操作関数辞典FileOpen、FileRead、FileWrite、FileClose、FILE_COMMON、CSV出力、ログ保存を確認できます。MQL5ファイル操作関数辞典
MQL5チャートオブジェクト辞典ObjectCreate、ObjectSetInteger、ObjectSetString、OBJ_LABEL、OBJ_BUTTON、OnChartEventなどを確認できます。MQL5チャートオブジェクト辞典
MQL5列挙型・定数辞典ENUM_TIMEFRAMES、ENUM_ORDER_TYPE、ORDER_FILLING、POSITION_TYPE、SymbolInfo系定数などを確認できます。MQL5列挙型・定数辞典
MQL5標準ライブラリ辞典CTrade、CPositionInfo、COrderInfo、CDealInfo、CSymbolInfo、CAccountInfoなどを確認できます。MQL5標準ライブラリ辞典

確認ポイント:OrderSendの戻り値だけで原因を断定せず、MqlTradeRequest、MqlTradeResult、OrderCheck、TRADE_RETCODE、GetLastError、Expertsログ、Journalログ、Position、Historyをセットで確認してください。

関連する技術講座

関連ページ確認できる内容
技術講座ハブMT5・MQL5・EA開発関連の技術講座一覧を確認できます。
MQL5開発入門MQL5開発の基本構造、EA・インジケーター開発の入口を確認できます。
MQL5注文・ポジション・履歴管理完全ガイドOrder、Position、Deal、Historyの実装確認に使えます。
MQL5時系列データ・価格取得完全ガイドCopyRates、iClose、SymbolInfo系の確認に使えます。
MQL5ファイル操作・CSVログ出力完全ガイドFileOpen、FileWrite、CSV出力、FILE_COMMONの確認に使えます。
MQL5標準ライブラリ・CTrade完全ガイドCTradeやInfo系クラスの確認に使えます。
MT5開発依頼前に用意する資料まとめ開発依頼前に整理するログ、setファイル、再現条件を確認できます。

FAQ

OrderSendの戻り値がtrueなら注文成功ですか?

OrderSendの戻り値だけでは判断しない方が安全です。MqlTradeResult.retcode、order、deal、comment、Position、History、Journalログを合わせて確認してください。

OrderCheckで問題がなければOrderSendも必ず成功しますか?

必ず成功するとは限りません。OrderCheck後に価格が変わる、取引時間外になる、サーバー側で拒否される、filling方式が合わないなどの理由でOrderSendが失敗する場合があります。

GetLastErrorとTRADE_RETCODEはどちらを見ればよいですか?

両方を分けて確認します。GetLastErrorはMQL5実行時エラーの確認に使い、TRADE_RETCODEは取引サーバー側の結果確認に使います。注文関連ではTRADE_RETCODEの確認が特に重要です。

orderとdealは何が違いますか?

orderは注文、dealは約定を表します。pending orderではorder ticketが発行されても、まだdealがない場合があります。成行注文でも、注文受付と約定を分けて確認してください。

TRADE_RETCODE_INVALID_VOLUMEが出た場合は何を確認しますか?

SYMBOL_VOLUME_MIN、SYMBOL_VOLUME_STEP、SYMBOL_VOLUME_MAX、ロット正規化、口座条件、EA側のロット計算を確認してください。

TRADE_RETCODE_INVALID_STOPSが出た場合は何を確認しますか?

SL/TPの価格方向、StopsLevel、FreezeLevel、Bid/Ask、Digits、NormalizeDoubleを確認してください。BUYとSELLではSL/TPの方向が異なります。

TRADE_RETCODE_INVALID_FILLが出た場合は何を確認しますか?

request.type_fillingと銘柄のSYMBOL_FILLING_MODEを確認してください。CTradeを使っている場合はSetTypeFillingや銘柄仕様との整合も確認します。

EAが注文しない場合、注文関数だけ見ればよいですか?

いいえ。OrderSendへ到達する前に、シグナル不成立、スプレッド制限、取引時間制限、リスク制限、認証、外部制御、同一バー重複発注ガードで止まっている場合があります。EXEC_BLOCKやENTRY_PERMISSIONのログも確認してください。

開発依頼前に何を送ればよいですか?

EA名、バージョン、対象銘柄、時間足、setファイル、Expertsログ、Journalログ、スクリーンショット、再現手順を整理してください。口座番号、Webhook URL、GAS URL、APIキー、認証トークンなどは必ずマスクしてください。

まとめ

MQL5の注文処理では、OrderSend、OrderCheck、MqlTradeRequest、MqlTradeResult、MqlTradeCheckResult、TRADE_RETCODEの役割を分けて理解することが重要です。

OrderSendの戻り値だけで約定成功と判断せず、MqlTradeResult.retcode、order、deal、comment、Position、History、Journalログを合わせて確認してください。

注文できない原因は、注文関数の失敗だけでなく、ロット不正、証拠金不足、SL/TP距離不正、filling方式不一致、取引時間外、スプレッド制限、EA側の発注ガード、認証、外部制御などに分かれます。

不具合調査や開発依頼を行う場合は、EA名、バージョン、銘柄、時間足、setファイル、Expertsログ、Journalログ、スクリーンショット、再現手順を整理してください。

ABOUT ME
記事URLをコピーしました