下载MetaTrader 5
要添加评论,请登录注册
您习惯使用智能手机进行交易吗?MetaTrader 5移动版最适合您!
yhy
9
yhy 2012.05.14 08:23 

按指定平仓数平仓,为什么总是比平仓数少平一个单?请高手看看代码有什么毛病?

//---- 平空仓
void CheckshortForClose(string symbol,int 平仓数)
{
int j=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue;
//---- check order type
if(OrderType()==OP_SELL && j<平仓数)
{OrderClose(OrderTicket(),OrderLots(),Ask,3,White);j++;}
}
return;
}

Haipeng
3
Haipeng 2012.05.20 11:18  

看不出什么问题。

但if(OrderType()==OP_SELL && j<平仓数)这句暗示你有代码check买单,看是否j有联系

JUN HU
209
JUN HU 2012.05.22 03:41  

if(OrderType()==OP_SELL && j<=平仓数)试试

yhy
9
yhy 2012.05.23 03:32  

我是测试的时候总少平一个单,实际交易时现在还没有结果."j<=平仓数"我也试过,还是少平一个单

/
要添加评论,请登录注册