FX-EA System Projectはこちら公式ラインに登録して
プレゼントをもらう

【MQL】OrderSelect関数で活用できる関数についてわかりやすく説明してみた

MQL言語 OrderSelect関数MT4EA作成

OrderSelect関数

OrderSelect関数はMQLのEA開発において頻繁に使用される関数であると共に、一番奥が深い関数です。

OrderSelect関数を理解しているとそうでないのでは雲泥の差です。

適切でないOrderSelect関数はバグの原因に繋がりますし、ロジック通りにエントリーできないです。

OrderSelect関数で活用できる関数

OrderSelect関数で活用できる関数について紹介します。

OrderOpenPrice関数

指定したポジションの約定価格(オープン価格)を返します。

OrderOpenTime関数

OrderTicket関数

選択されたチケット番号を返します。

OrderLots関数

注文したポジションのロット数を返します。

OrderSymbol関数

注文したポジションの通貨ペアを取得します。

現在選択中の注文の通貨ペア名を返します。事前にOrderSelect()で対象とする注文を選択する必要があります。

OrderMagicNumber関数

注文したポジションのマジックナンバー(EA識別番号)を取得します。

こちらも事前にOrderSelect()で対象とする注文を選択する必要があります。

OrderType関数

OrderSelect関数の使い方

OrderSelect関数は一体どんな時に使うかなのですが、

  • インデックス番号を指定して、トレーディングプールからオーダーを選択する場合
  • インデックス番号を指定して、ヒストリープールからオーダーを選択する場合
  • チケット番号を指定してオーダーを選択する場合

の3つになります。

インデックス番号を使用してオーダーを選択する場合は第2引数は『SELECT_BY_POS』を指定します。

チケット番号を使用してオーダーを選択する場合は『SELECT_BY_TICKET』を指定します。

トレーディングプールからオーダーを選択する場合には、第3引数にMODE_TRADESを指定します。

ヒストリープールから選択する場合には、第三引数にMODE_HISTORYを指定します。

トレーディングプール

トレーディングプールとは

  • 未決済の保有ポジション
  • 未約定の待機注文

が集まって管理されている場所になります。

ヒストリープール

ヒストリープールとは

  • 決済済みのオーダー
  • キャンセルされた待機注文

が集まって管理されている場所になります。

オーダープールの考え方

新しいオープンポジション、もしくは待機注文が作られたタイミングで

トレーディングプールにオーダーが追加されます。

決済または待機注文のキャンセルがされると、トレーディングプールのオーダーが減り、

ヒストリープールに新たなインデックスのオーダーが追加されます。

これ以外に、入出金をおこなった場合などにも、ヒストリープールにオーダーが追加されます。

オーダーを決済すると、トレーディングプールのインデックスに欠番が発生することがあります。

その場合にインデックスは、0からの連番となるように再計算がおこなわれます。

まとめ

コメント

タイトルとURLをコピーしました