ポジションを決済してくれるOrderClose()関数(MQL4)

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( "注文完了" );
}

関数OrderSend(),関数OrderSelect()

シェアする

  • このエントリーをはてなブックマークに追加

フォローする