【超入門】MQL5 EA講座 第67回「待機注文の削除」【EAの作り方】

MQL5でEA作ろう講座

前回は 待機注文の注文修正 について解説しました。

改めて前回の内容をおさらいをしておくと、

ということをお伝えしました。

今回は 待機注文の削除する記述 についてお話ししたいと思います。

スポンサーリンク
スポンサーリンク

待機注文を削除するには TRADE_ACTION_REMOVE を使う

 待機注文を削除するには メンバ変数 .actionに設定する定数値をTRADE_ACTION_REMOVE にします。

待機注文の削除は非常に簡単で、.actionへの設定をTRADE_ACTION_REMOVEにしてしまえば、他に埋めるべきメンバ変数は、オーダー番号を格納する.orderだけです。

※くどいようですが、ポジションを識別するポジション番号との違いには注意しましょう。

MqlTradeResult構造メンバ変数 である.deal に格納されている 約定番号については→コチラをご覧ください。

今回は公式リファレンスにあるTRADE_ACTION_REMOVEのサンプルコードを特に加工せずに挙動を試します。公式リファレンスにあるTRADE_ACTION_REMOVEのサンプルコードは以下のようになっています。↓

#define EXPERT_MAGIC 123456 // エキスパートアドバイザのMagicNumber 
//+------------------------------------------------------------------+
//| 未決注文の削除                                                      |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- リクエストと結果の宣言と初期化
  MqlTradeRequest request={};
   MqlTradeResult  result={};
   int total=OrdersTotal(); // 保有未決注文数
//--- 全ての保有未決注文を取捨
  for(int i=total-1; i>=0; i--)
     {
     ulong  order_ticket=OrderGetTicket(i);                   // 注文チケット
    ulong  magic=OrderGetInteger(ORDER_MAGIC);               // 注文のMagicNumber
     //--- MagicNumberが一致している場合
    if(magic==EXPERT_MAGIC)
        {
         //--- リクエストと結果の値のゼロ化
        ZeroMemory(request);
         ZeroMemory(result);
         //--- 操作パラメータの設定     
         request.action=TRADE_ACTION_REMOVE;                   // 取引操作タイプ
        request.order = order_ticket;                         // 注文チケット
        //--- リクエストの送信
        if(!OrderSend(request,result))
           PrintFormat("OrderSend error %d",GetLastError()); // リクエストの送信に失敗した場合、エラーコードを出力する
        //--- 操作情報   
         PrintFormat("retcode=%u  deal=%I64u  order=%I64u",result.retcode,result.deal,result.order);
        }
     }
  }

<サンプルコード内の各記述要素復習用リンク↓>

↓の動画は公式リファレンスにある上記のTRADE_ACTION_REMOVE用サンプルコードを待機注文がある状態のデモ口座に適用した様子です。

まとめ

今回は 待機注文の削除する記述 について解説しました。

今回の記事では以下のことを学びました。

今回は以上になります。

なお、待機注文に関しては、今後の講座でもオリジナル関数クラスを作ったり、実際に待機注文用のEA(自動売買プログラム)を作ったりする記事を用意しておりますので、楽しみにMQL5の勉強を進めていただければと思います。待機注文に関する今後の講座記事は以下のようなものになります。↓

最後までお読みいただきありがとうございました<m(__)m>

【超入門】MQL5 EA講座 第66回「待機注文の注文修正」【EAの作り方】

   →【超入門】MQL5 EA講座 第68回「簡単な仕組みのEAを作るーその1ー」【EAの作り方】

待機注文を使ったコード記述については、講座記事とは別に以下のような記事もありますので、参考にしてください↓

コメント

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