MARKET
MT4ツールを、数字で作る。— Team REI|平日の朝に「相場分析」を更新しています|

MqlTradeRequest ― 発注内容をまとめて渡す構造体(MQL5)|MQL4/MQL5リファレンス

MQLリファレンス›構造体・列挙型構造体MqlTradeRequest
MQL5構造体OrderSendMQL5専用

MqlTradeRequest発注内容をまとめて渡す構造体(MQL5)

MQL5のOrderSend・OrderCheckに渡す、発注内容ひとまとめの構造体。MQL4のOrderSend(symbol, cmd, volume, price, ...)のような引数の羅列に代わる形。

1主なメンバー一覧

メンバー 型 内容
action ENUM_TRADE_REQUEST_ACTIONS 操作の種類。TRADE_ACTION_DEAL(成行)等
symbol string 対象銘柄
volume double ロット数
type ENUM_ORDER_TYPE 注文種別。ORDER_TYPE_BUY等
price double 希望価格
sl / tp double 損切り・利確価格
deviation ulong 許容ずれ幅(Point単位。MQL4のslippageに相当)
magic ulong マジックナンバー
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);
req.deviation = 5;

if(!OrderSend(req, res))
   Print("発注失敗 retcode=", res.retcode);

MetaEditorでコンパイル0エラー・0警告を確認済み。

3MQL4→MQL5の違い

🔁 差分

MQL4はOrderSend(symbol, cmd, volume, price, slippage, stoploss, takeprofit, comment, magic, expiration, arrow_color)のように、引数を決まった順番で並べて渡す。MQL5はMqlTradeRequest構造体のメンバーに名前で値を詰めてから渡す形になり、引数の順番を覚える必要がなくなる代わりに、使う前に必ず={}でゼロ初期化する手間が増える。

4よくある罠

⚠ 実務で踏んだもの
  • 構造体を={}で初期化し忘れると、指定していないメンバーがゴミ値のまま残り、意図しない値で発注されることがある。宣言のたびに必ず初期化する。

5関連する項目

REI-FX&BO OFFICIAL LINE

ツールのダウンロードパスワードは
公式LINEで、すぐ届きます。

友だち追加の自動返信でパスワードをお送りします。
新しいツールの公開や、検証でわかったことも先にお知らせします。

全ツールのパスワード新作ツールをいち早く配信は月1〜2回だけ
LINEで友だち追加 パスワードを受け取る ›

追加後にひとことメッセージをいただけると、ツールづくりの参考にします。