这段代码不能按照指令开仓,请高手指点,谢谢
//检查并开空仓
void CheckForOpenSell()
{
int res;
res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Blue);
if(res>0)
{
if(OrderSelect(res,SELECT_BY_TICKET,MODE_TRADES)) Print("Sell order opened : ",OrderOpenPrice());
}
else Print("Error opening SELL order : ",GetLastError());
return;
}
//检查并开多仓
void CheckForOpenBuy()
{
int res;
res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Red);
if(res > 0)
{
if(OrderSelect(res,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return;
}
//检查并平仓
void CheckForClose()
{
int cnt,total;
total=OrdersTotal();
for(cnt=0;cnt<total;cnt++){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && ma.Sell.Open(0)){
OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
}
if(OrderType()==OP_SELL && ma.Buy.Open(0))
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,White);
}
}
return;
}