関数OrderDelete()
待機注文(新規指値注文、新規逆指値注文)を削除、取り消します。
書式
bool OrderDelete( int ticket, // 待機注文のチケットを指定 color arrow_color // 矢印カラー );
引数
int Ticket; bool res = OrderDelete( Ticket, // 買、又は売の待機注文のチケットを指定する clrNONE // 矢印コード ); if(!res){ Print(GetLastError()); }
戻り値
if(!res){ Print(GetLastError()); }else{ Print("待機注文の削除成功"); }
サンプル
下記はサンプルの実行結果の画像
画像下から
待機注文(逆指値買注文)の発注
待機注文(逆指値買注文)の取り消し
//グローバル変数
extern int MagicNumber = 12345;
int buyPendingTicket = 0;
int flag = 0;
int slippage = 30; //30pointを指定:1point=0.1pips換算_Point
void OnTick(){
//買逆指値注文(待機注文)
if(flag == 0){
buyPendingTicket = OrderSend(
Symbol(),OP_BUYSTOP,MarketInfo(Symbol(),MODE_MINLOT),
Ask+(1000*_Point),slippage,Ask+(1000*_Point)-(500*_Point),Ask+(1000*_Point)+(500*_Point),
NULL,MagicNumber,0,clrNONE
);
flag =1;
}
if(flag == 1){
//待機注文削除 OP_BUYSTOP
if( OrderSelect(buyPendingTicket,SELECT_BY_TICKET,MODE_TRADES)
&& OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber){
bool resDelete = OrderDelete(buyPendingTicket,clrNONE);
if( resDelete == false ){
Print("オーダーデリートエラー:エラーコード=",GetLastError());
}
}else{
Print("オーダーセレクトエラー:エラーコード=",GetLastError());
}
flag=2;
}
}
関数OrderSelect(),関数OrderSend(),関数OrderMagicNumber(),関数OrderSymbol()