同时运行一个以上的EA - 页 4 1234 新评论 William Roeder 2014.04.28 13:06 #31 Sneck55: 如果它关闭了一个订单,它需要递减,以配合池子里发生的事情,但如果它没有关闭一个订单,就不需要递减。如果它在没有关闭订单的情况下进行递减,就会进入一个无尽的循环。 你可以把马牵到水里...... Ian Venner 2014.04.28 15:23 #32 Sneck55: 如果它关闭了一个订单,它需要递减,以配合池子里发生的事情,但如果它不关闭订单,就不需要递减。如果它在没有关闭订单的情况下进行递减,就会进入一个无尽的循环。 如果你没有一直调用OrdersTotal(),你就不会有这个问题。调用一次总数。把它放在一个int中。在for循环中使用这个int。 说了这么多,你到底有没有读过我之前的回答?整个循环完全是在浪费时间。看看你的代码。你认为SellTicket的值是多少? if(SellTicket!=0) { if(SmallMA>MediumMA) { for(Counter=0;Counter<=OrdersTotal()-1;Counter++) { SelectedOrder = OrderSelect(Counter,SELECT_BY_POS); if(OrderMagicNumber()==MagicNumber&&OrderSymbol()==Symbol()&&OrderType()==OP_SELL) { // while(IsTradeContextBusy()) Sleep(10); Closed=OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(),MODE_ASK),Slippage,Red); if(Closed) SellTicket=0; else Alert("Symbol: ",Symbol()," Ticket: ",SellTicket," unable to close sell order(s): sell ma convergence close routine"); } Counter--; } } } Syed Naufal Gaddafi 2014.04.28 23:51 #33 而且随着时间的推移,它将消耗cpu的功率。 Ian Venner 2014.04.29 00:18 #34 是的,如果在EA中已经有了必要的值,然后忘记它们并在订单池中翻找它们,这是不符合逻辑的。这类事情只需要作为重启恢复的一部分来做。 1234 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如果它关闭了一个订单,它需要递减,以配合池子里发生的事情,但如果它不关闭订单,就不需要递减。如果它在没有关闭订单的情况下进行递减,就会进入一个无尽的循环。
如果你没有一直调用OrdersTotal(),你就不会有这个问题。调用一次总数。把它放在一个int中。在for循环中使用这个int。
说了这么多,你到底有没有读过我之前的回答?整个循环完全是在浪费时间。看看你的代码。你认为SellTicket的值是多少?
是的,如果在EA中已经有了必要的值,然后忘记它们并在订单池中翻找它们,这是不符合逻辑的。这类事情只需要作为重启恢复的一部分来做。