オーダーを削除する OrderDelete 関数

関数

取引関数

OrderDelete 関数

 注文番号で選択したオーダーを削除します。つまり、注文中のものをキャンセルすることになります。既にポジション化されているものは削除(キャンセル)が出来ません。

データ型と構成・戻り値

bool OrderDelete(①,②)

 戻り値は、選択したオーダーの削除が出来た時は true、出来なかった時は falseが取得されます。
 発生するエラーについては、GetLastError関数で取得することが出来ます。

引数 [2]

 OrderDelete関数は 2個の引数で構成されます。


引数名データ型単位初期値説明
ticketint削除する注文番号
arrow_colorcolorclrNONE削除したオーダーの位置の矢印の色。設定しない場合は「clrNONE」を入力すると矢印が表示されません。
Webカラーの種類はこちら。
※初期値があるものは省略可能です。省略した場合、初期値が設定されます。

使用例

OrderDelete関数によるオーダーの削除

 最初に OrderSend関数を使って USDJPYを 10円で 0.01ロット買い指値注文します。そしてそれを OrderDelete関数を使ってオーダーを削除(キャンセル)します。

コード

// OrderDelete 関数による決済
#property strict
void OnInit() {

   int ticket; // 注文番号
   bool tf;    // true or false の判定
   
   ticket = OrderSend(Symbol(), OP_BUYLIMIT, 0.01, 10, 30, 0, 0); // ①0.01ロット買い指値注文
   
   tf = OrderDelete(ticket); // ①を削除(キャンセル)
   if (tf == true) {
      Print("注文番号",ticket," : オーダーのキャンセル完了");
   } else {
      Print("注文番号",ticket,"オーダーのキャンセルが出来ません");
   }
}

このコードをコンパイルして実行するのに、自動売買を許可しておく必要があります。
自動売買を許可する方法はこちら、コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

ターミナルの口座履歴タブに注文をキャンセルした結果が表示されます。
ターミナルのエキスパートタブ
タイトルとURLをコピーしました