下载MetaTrader 5

按指定平仓数平仓,为什么总是比平仓数少平一个单?

要添加评论,请登录注册
yhy
9
yhy  

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

//---- 平空仓
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  

看不出什么问题。

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

Jun Hu
394
Jun Hu  

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

yhy
9
yhy  

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

要添加评论,请登录注册