選択した注文のロット数を返すOrderLots()関数(MQL4)

関数OrderLots()

書式

double  OrderLots();

戻り値

画像下から
買エントリー
エントリーロット参照

//グローバル変数
extern int MagicNumber = 12345;
int sellTicket = 0;
int buyTicket = 0;
bool flag = true;
int slippage = 30;  //30pointを指定:1point=0.1pips換算_Point

void OnTick(){
	
	if( flag ){
		buyTicket = OrderSend(Symbol(),OP_BUY,MarketInfo(Symbol(),MODE_MINLOT),MarketInfo(Symbol(),MODE_ASK)
			,slippage,0,0,"OP_BUY",MagicNumber,0,clrNONE);
		if(OrderSelect(buyTicket,SELECT_BY_TICKET,MODE_TRADES)){
			Print("エントリーロット:"+OrderLots());
		}
	
		flag = false;
	}
}

関数OrderSend(),関数MarketInfo(),関数OrderSelect(),関数OrderClose()

サンプル

画像下から
買エントリー
売エントリー
買エントリーロット参照
売エントリーロット参照
買決済
売決済
買ポジションヒストリーロット参照
売ポジションヒストリーロット参照

//グローバル変数
extern int MagicNumber = 12345;
int sellTicket = 0;
int buyTicket = 0;
bool flag = true;
int slippage = 30;  //30pointを指定:1point=0.1pips換算_Point

void OnTick(){
	
	if( flag ){
		//エントリー
		buyTicket = OrderSend(Symbol(),OP_BUY,MarketInfo(Symbol(),MODE_MINLOT),MarketInfo(Symbol(),MODE_ASK)
			,slippage,0,0,"OP_BUY",MagicNumber,0,clrNONE);
		
		sellTicket = OrderSend(Symbol(),OP_SELL,MarketInfo(Symbol(),MODE_MINLOT)*2,MarketInfo(Symbol(),MODE_BID)
			,slippage,0,0,"OP_SELL",MagicNumber,0,clrNONE);
			
		if(buyTicket == -1 || sellTicket == -1){
			Print(GetLastError());
		}
		
		//ロット参照
		for(int counter=0;counter< OrdersTotal();counter++){
			if(OrderSelect(counter,SELECT_BY_POS,MODE_TRADES)){
				Print("エントリーロット:"+OrderLots()+"チケット番号:#"+OrderTicket());
			}else{
				Print(GetLastError()); 
			}
		}
		
		//決済
		if(OrderSelect(buyTicket,SELECT_BY_TICKET,MODE_TRADES)){
			bool res = OrderClose(buyTicket,OrderLots(),OrderOpenPrice(),slippage,clrNONE);
			if(!res){
				Print(GetLastError()); 
			}
		}else{
			Print(GetLastError()); 
		}
		
		if(OrderSelect(sellTicket,SELECT_BY_TICKET,MODE_TRADES)){
			bool res = OrderClose(sellTicket,OrderLots(),OrderOpenPrice(),slippage,clrNONE);
			if(!res){
				Print(GetLastError()); 
			}
		}else{
			Print(GetLastError()); 
		}
		
                //ヒストリーロット参照
		bool buyres = OrderSelect(buyTicket,SELECT_BY_TICKET,MODE_HISTORY);
				Print("buyTicketのヒストリーロット:"+OrderLots());
				
		bool sellres = OrderSelect(sellTicket,SELECT_BY_TICKET,MODE_HISTORY);
				Print("sellTicketのヒストリーロット:"+OrderLots());
				
		if( !buyres || !sellres ){
				Print(GetLastError()); 
		}
		
		flag = false;
	}
}

関数OrderSend(),関数MarketInfo(),関数OrderSelect(),関数OrderClose()

シェアする

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

フォローする