初学者的问题 MQL5 MT5 MetaTrader 5 - 页 548 1...541542543544545546547548549550551552553554555...1503 新评论 Vitalii Ananev 2016.04.01 10:52 #5471 edutak:我不愿意展示代码,因为第一个版本被证明是很有生存能力的。它在没有优化的情况下存活了10年。现在我想让它变得更加复杂和有利可图。代码非常简单。不过,由于逻辑上的错误,订单可能会在每个tick上打开。 在开仓前 检查一下,看是否已经开仓。 [删除] 2016.04.01 11:00 #5472 Vitalii Ananev: 在你开仓前 要检查一下是否已经开仓。 对吗?for(int pos=0; pos<OrdersTotal(); pos++) { OrderSelect(pos,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magik) kolpos++; } [删除] 2016.04.01 11:03 #5473 闭幕前是这样的。 if(OrdersTotal()!=0) if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)) if(OrderType()==OP_BUY) Vitalii Ananev 2016.04.01 11:12 #5474 edutak: 对吗? for(int pos=OrdersTotal()-1; pos>=0; pos--) { if(!OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)) continue; if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magik) kolpos++; }情况是这样的。最好把它变成一个函数。int CountOrder(string Smb,int Magik) { int Total = OrdersTotal(); if (Total==0) return(0); int kolpos = 0; for(int pos=Total-1; pos>=0; pos--) { if(!OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)) continue; if(OrderSymbol()==Smb && OrderMagicNumber()==Magik) kolpos++; } return(kolpos); } Vitalii Ananev 2016.04.01 11:19 #5475 edutak:闭幕前是这样的。 你在关闭前没有检查魔力和符号。可以关闭另一个EA的交易或手动开启的交易。 [删除] 2016.04.01 11:28 #5476 Vitalii Ananev: 情况是这样的。不,问题还没有解决。它不在这个单位。能否请你解释一下我的方案与你的方案之间的区别? Vitalii Ananev 2016.04.01 11:35 #5477 edutak:不,问题还没有解决。它不在这个单位。能否请你解释一下我的方案与你的方案之间的区别?那么你就做错了,解决你的代码问题。我的更好 :)...这样,你就不会错过任何订单。在你的版本中,如果在那一刻一些头寸被关闭或一个订单被删除,你可以跳过剩余的一些。 [删除] 2016.04.01 11:45 #5478 Vitalii Ananev:所以你做错了,处理好你的代码。我的更好 :)...这样,你就不会错过任何订单。如果你的版本显示,如果在那一刻一些头寸被关闭或一个订单被删除,那么你可以跳过剩下的一些。我把它声明为一个全局变量,但它给了我一个错误。int CountOrder; Vitalii Ananev 2016.04.01 11:49 #5479 edutak:我把它声明为一个全局变量,但它给出了一个错误。我写给你的是一个函数。下面是一个如何使用它的例子。int Count = CountOrder(Symbol(),12345); if (Count==0) { //можно открывать } [删除] 2016.04.01 11:59 #5480 Vitalii Ananev:我写给你的是一个函数。下面是一个如何使用它的例子。 困惑 1...541542543544545546547548549550551552553554555...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我不愿意展示代码,因为第一个版本被证明是很有生存能力的。它在没有优化的情况下存活了10年。现在我想让它变得更加复杂和有利可图。
代码非常简单。
不过,由于逻辑上的错误,订单可能会在每个tick上打开。
在你开仓前 要检查一下是否已经开仓。
闭幕前是这样的。
对吗?
情况是这样的。
最好把它变成一个函数。
闭幕前是这样的。
情况是这样的。
不,问题还没有解决。它不在这个单位。
能否请你解释一下我的方案与你的方案之间的区别?
不,问题还没有解决。它不在这个单位。
能否请你解释一下我的方案与你的方案之间的区别?
那么你就做错了,解决你的代码问题。
我的更好 :)
...
这样,你就不会错过任何订单。在你的版本中,如果在那一刻一些头寸被关闭或一个订单被删除,你可以跳过剩余的一些。
所以你做错了,处理好你的代码。
我的更好 :)
...
这样,你就不会错过任何订单。如果你的版本显示,如果在那一刻一些头寸被关闭或一个订单被删除,那么你可以跳过剩下的一些。
我把它声明为一个全局变量,但它给了我一个错误。
int CountOrder;
我把它声明为一个全局变量,但它给出了一个错误。
我写给你的是一个函数。
下面是一个如何使用它的例子。
我写给你的是一个函数。
下面是一个如何使用它的例子。