
MQL4 MQL4 の注文関数
OrderMagicNumber()
- できること
- 選択中の注文のマジックナンバーを取得する
- 対応
- MQL4
OrderMagicNumber() とは
MQL4 で、OrderSelect() で選んだ注文のマジックナンバーを返す関数です。複数の EA や手動の注文が混ざっている口座で、「この EA が出した注文だけ」を処理するために使います。
OrderMagicNumber() の書式と引数
int OrderMagicNumber()引数はありません。
戻り値
マジックナンバー。手動の注文は 0。
OrderMagicNumber() の使い方(コード例)
input int InpMagic = 12345; // マジックナンバー
void CountMine()
{
int n = 0;
for(int i = OrdersTotal() - 1; i >= 0; i--)
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == InpMagic && OrderSymbol() == _Symbol)
n++;
Print("この EA のポジション:", n);
}
void OnTick()
{
CountMine();
}MetaEditor でコンパイルできることを確認済みです。
OrderMagicNumber() の注意点
- 同じ口座で動かす EA には、それぞれ違うマジックナンバーを付けます。同じ番号だと、ほかの EA のポジションを決済してしまいます。
MQL4 と MQL5 の違い
MQL5 では PositionGetInteger(POSITION_MAGIC) で取得します。CTrade では SetExpertMagicNumber() で発注時のマジックナンバーを設定します。












