OrderClose関数
書式
bool OrderClose( int ticket, // 決済するチケットを指定 double lots, // 決済するロットを指定 double price, // 決済する価格を指定 int slippage, // スリッページ color arrow_color // 決済した際のオブジェクトカラー );
引数
ロット数は注文時のロットを指定しても良いし、数字を記述して分割でも良い。
bool res = OrderClose( buyTicket, // 買チケット OrderLots(), // オーダー時のロット数を指定 Bid, // 決済価格:現在の売値を指定 30, // 30pointのスリッページ。詳しくは定義済み変数_Point clrNONE // 決済の印、オブジェクトカラーを指定 ); if( res == false ){ Print(GetLastError());//エラー内容を出力,Print() }
戻り値
決済が完了したらtrue
決済が失敗したらfalseが返ってきます。
if( res == false ){ Print(GetLastError());//エラー内容を出力 }else{ Print("決済成功"); }
サンプルコード
決済サンプル
下にこの決済サンプルに対応する注文サンプルもあります。
bool res = OrderClose( Ticket, // 買チケット OrderLots(), // オーダー時のロット数は業者の最小ロット*2を指定 Bid, // 現在の売値を指定 30, // 30pointのスリッページ詳しくは定義済み変数_Point clrNONE // 決済の印、オブジェクトカラーを指定 ); if( res == false ){ Print(GetLastError());//エラー内容を出力 }else{ Print("決済成功"); }
関数OrderSend(),関数OrderSelect(),関数MarketInfo(),関数OrderLots()
注文サンプル
int magic = 12345; int Ticket = OrderSend( Symbol(), //開いているチャート且つ選択している通貨ペアを取得 OP_BUY, //注文方法 成行買い,定数OP_BUY MarketInfo(Symbol(),MODE_MINLOT)*2, //業者の最小ロット*2,MarketInfo() Ask, //現在の買値で注文 30, //30pointの許容スリッページ詳しくは定義済み変数_Point 0, //損切り価格を指定しない 0, //利益確定価格を指定しない NULL, //コメントはなし magic, //EAの識別番号 0, //有効期限なし clrNONE //オブジェクトを表示しない。省略可能 ); //-1が返ってきたらエラー。注文失敗 if( Ticket == -1 ){ Print( GetLastError() ); //エラー内容を出力 }else{ Print( "注文完了" ); }