MQL関数リファレンス

MQL4MQL5 MQL4 の注文関数

OrderSelect()

できること
情報を読む注文を選択する
対応
MQL4・MQL5

OrderSelect() とは

注文を1つ選んで、OrderTicket()・OrderLots() などで情報を読めるようにする関数です。MQL4 では保有中のポジション・待機注文・履歴のどれでも、番号(位置)かチケット番号で選べます。MQL5 では待機注文をチケット番号で選ぶ関数で、ポジションには PositionSelectByTicket() を使います。

OrderSelect() の書式と引数

MQL4 の場合MT4

bool OrderSelect(int index, int select, int pool=MODE_TRADES)
引数型省略時説明
indexint必須select が SELECT_BY_POS なら 0 から始まる位置、SELECT_BY_TICKET ならチケット番号。
selectint必須選び方。SELECT_BY_POS(位置で選ぶ)または SELECT_BY_TICKET(チケット番号で選ぶ)。
poolintMODE_TRADES位置で選ぶときの対象。MODE_TRADES(保有中と待機注文)または MODE_HISTORY(決済済み・取消済み)。

戻り値(MQL4)

選べたら true、選べなかったら false を返します。

MQL5 の場合MT5

bool OrderSelect(ulong ticket)
引数型省略時説明
ticketulong必須選ぶ待機注文のチケット番号。

戻り値(MQL5)

選べたら true、選べなかったら false を返します。

OrderSelect() の使い方(コード例)

MQL4

// 保有中の買いポジションの数と合計ロットを数える
int count = 0;
double lots = 0;
for(int i = OrdersTotal() - 1; i >= 0; i--)
{
   if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
   if(OrderSymbol() != _Symbol || OrderType() != OP_BUY) continue;
   count++;
   lots += OrderLots();
}
Print("買いポジション ", count, " 件、合計 ", lots, " ロット");

MQL5

// 待機注文を順に選んで、価格を表示する
for(int i = OrdersTotal() - 1; i >= 0; i--)
{
   ulong ticket = OrderGetTicket(i);        // 位置からチケット番号を取得(この時点で選択される)
   if(ticket == 0) continue;
   if(!OrderSelect(ticket)) continue;       // チケット番号で選び直す例
   Print(ticket, " ", OrderGetString(ORDER_SYMBOL), " 価格=", OrderGetDouble(ORDER_PRICE_OPEN));
}

OnTick()・OnStart() などの関数の中に書いて使う例です。MetaEditor でコンパイルできることを確認済みです。

OrderSelect() の注意点

  • MQL4 では、OrderSelect() が false のまま OrderTicket() などを呼ぶとエラー4105 になります。必ず戻り値を確認します。
  • MQL4 のループで OrderClose()・OrderDelete() をするときは、位置がずれるので OrdersTotal() - 1 から 0 へ逆順に回します。
  • MQL4 の MODE_HISTORY で選べるのは、ターミナルの「口座履歴」タブに読み込まれている期間の履歴だけです。

MQL4 と MQL5 の違い

MQL4 の OrderSelect() はポジション・待機注文・履歴のすべてを扱います。MQL5 ではこれらが分かれていて、ポジションは PositionSelectByTicket() / PositionGetTicket()、待機注文は OrderSelect() / OrderGetTicket()、履歴は HistorySelect() と HistoryDealGetTicket() を使います。

OrderSelect() でよく出るエラー

関連する関数

MQL4 の注文関数の関数一覧

← MQL関数リファレンスで、ほかの関数を探す

サイバーシグナルインジケーターと8大特典プレゼント

MT4/MT5自動売買EAサイバーラッシュ無料プレゼント

MT4/MT5自動売買EAサイバードラゴン無料プレゼント

グルグルトレイン(グルトレ)EAを無料プレゼント

ライントレードEAサイバートレナビを無料プレゼント

ゴトー日の東京仲値が狙える自動売買EA

LINE友だち追加

注目記事ランキング

  1. 1

    【サクソバンクチャート】月曜日の早朝から動く為替レート

  2. 2

    【MT4/MT5対応】チャート上に手書きできる描画インジケーターの無料配布

  3. 3

    【サンデーダウ・サンデードル円】土日に動く中東レートの表示方法と見方を解説

  4. 4

    【先着50名】グルトレEAを無料プレゼントしています!

  5. 5

    保護中: 【勝率UP!】曜日や日・月別為替相場の動きでFXを見極める

  6. 6

    【MT4/MT5対応】「sign_alert」シグナルアラートやメール送信するインジケーターの無料配布

  7. 7

    無料メールマガジン「マナブ式FX」|毎朝6時、今日の為替相場予想が届く

  8. 8

    【原油・金】WTIとゴールドの商品レート一覧と見やすいチャート

  9. 9

    VQインジケーターとは?MT4/MT5版を無料配布【設定例つき】

  10. 10

    【バイナリーオプション攻略法】全勝!+497,363円の利益が出た手法とは?

TOP
CLOSE