MQL5構造体OrderSendMQL5専用
MqlTradeResult発注結果を受け取る構造体(MQL5)
MQL5のOrderSendを呼んだあと、その結果(成功したか・どのチケットになったか等)を受け取る構造体。MqlTradeRequestとセットで使う。
1主なメンバー一覧
| メンバー | 型 | 内容 |
|---|---|---|
| retcode | uint | 結果コード。TRADE_RETCODE_DONE(成功)等 |
| deal | ulong | できた約定のチケット番号 |
| order | ulong | できた注文のチケット番号 |
| volume | double | 実際に約定したロット数 |
| price | double | 実際に約定した価格 |
| comment | string | サーバーからの説明文(エラー時の詳細等) |
2使用例
MqlTradeRequest req = {};
MqlTradeResult res = {};
req.action = TRADE_ACTION_DEAL; req.symbol = _Symbol; req.volume = 0.1;
req.type = ORDER_TYPE_BUY; req.price = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
bool sent = OrderSend(req, res);
if(res.retcode == TRADE_RETCODE_DONE)
Print("約定しました。チケット: ", res.order, " 価格: ", res.price);
else
Print("失敗 retcode=", res.retcode, " ", res.comment);
MetaEditorでコンパイル0エラー・0警告を確認済み。
3MQL4→MQL5の違い
🔁 差分
MQL4ではOrderSendの戻り値そのものがチケット番号(失敗なら-1)で、詳しい失敗理由は別途GetLastError()で調べる。MQL5ではres.retcode・res.commentに結果と理由がまとまって入るため、この2つを見るだけで済む。