按指定平仓数平仓,为什么总是比平仓数少平一个单? 新评论 [删除] 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; } 编码帮助 问吧! 编码帮助......我如何让指标过滤而不是警报? [删除] 2012.05.20 11:18 #1 看不出什么问题。 但if(OrderType()==OP_SELL && j<平仓数)这句暗示你有代码check买单,看是否j有联系 Jun Hu 2012.05.22 03:41 #2 if(OrderType()==OP_SELL && j<=平仓数)试试 [删除] 2012.05.23 03:32 #3 我是测试的时候总少平一个单,实际交易时现在还没有结果."j<=平仓数"我也试过,还是少平一个单 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
按指定平仓数平仓,为什么总是比平仓数少平一个单?请高手看看代码有什么毛病?
//---- 平空仓
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;
}