(‘mt4’, ‘MQL4’)注文の管理
目次
OrderMagicNumber選んだ注文の識別番号を読む
OrderSelectで選んだ注文に付けた識別番号(マジックナンバー)を返す。複数のEAを同時に動かすとき、自分が出した注文だけを見分けるのに使う。
1書式
int OrderMagicNumber();
先にOrderSelectで対象を選んでおく。
2引数
無し。
3戻り値
識別番号。
4使用例
if(OrderSelect(0, SELECT_BY_POS) && OrderMagicNumber() == 20260924)
Print("自分のEAの注文です");
MetaEditorでコンパイル0エラー・0警告を確認済み。
5MQL4→MQL5の違い
🔁 差分
MQL5には「いま持っている注文を選ぶ」という考え方自体が無い。保有中はポジション(PositionGetDouble等)、決済済みは取引履歴(HistorySelect等)という別のAPIに分かれる。くわしい対応はOrderSelectのページの対応表を参照。
6よくある罠
⚠ 実務で踏んだもの
- 同じ口座で複数のEAを動かすときは、EAごとに違う番号を付けるのが必須。同じ番号のままだと、他のEAの注文まで自分のものとして扱ってしまう。