检查在市场上发布的EA中的最小止损。 - 页 12 1...56789101112131415161718 新评论 Lilita Bogachkova 2016.03.16 14:55 #111 Igor Volodin:你不能这样除以一个点,SymbolInfoDouble(symToWorkmodify,SYMBOL_POINT) 函数的值可能等于零。 这也适用于其他市场功能。例如,在计算中使用AccountInfoInteger(ACCOUNT_LEVERAGE) 导致一些Expert Advisors 在2010年的冠军赛中崩溃,出现零除法 错误,而这个函数在OnInit中返回0。 如果你看一下参考文献,SymbolInfoDouble()、SymbolInfoInteger() 必须始终检查错误。 Ihor Herasko 2016.03.16 15:12 #112 Vladimir Gribachev:如果有那么糟糕,那就这样吧请再次注意,该主题是关于停滞水平为0的情况。你引用了一个测试结果,其停顿程度大于零。如果真的那么糟糕,正如Andrey F. Zelinsky 正确地指出的那样 你可以为第130个错误添加一个检查,并在止损点上添加+1。但这根本没有意义。 检查错误130是一种正常的做法,就像程序中的任何其他错误一样。但在止损点上加1,首先,没有帮助,其次,是一个糟糕的解决方案。 Volodymyr Hrybachov 2016.03.16 15:16 #113 Ihor Herasko:请再一次注意,这个话题是关于水平线为0时的情况。你给出的测试结果的止水位大于零。告诉我MetaQuotes-Demo服务器上哪里有 stoplevel = 0即使止损水平=0,那么最小止损等于点差的价值。如果点差也=0,那么请告诉我这样的经纪人,我会去那里削减我的资金。检查错误130是正常的做法,就像程序中任何其他错误一样。至于在止损点上加1,首先它没有帮助,其次它是一个错误的决定。谁说这是好事。我贴出了检查代码,你放了猫头鹰来验证,我显示在版主检查的服务器上,这个检查是有效的。如果你需要嘲弄这个系统,而没有找到topikstarter想要的解决方案,你需要创建一个新的主题,名为 "让我们炸毁 大脑!"。ZS.主题管理员需要一个解决方案,以便在市场上得到检验。主持人在他们的服务器上测试,而不是在阿尔卑斯山或其他地方。 Alexander Bereznyak 2016.03.16 15:18 #114 Vladimir Gribachev:如果点差也是0,那就给我看看这样的经纪人,我就去那里剁手。 不,你不会的,会有佣金的。 Vladislav Andruschenko 2016.03.16 15:26 #115 :-)我读完后笑了。我没有问如果服务器返回0该怎么做,节制你的自我 - 我是专门针对一个人的,他将理解或不理解 - 但这并不重要。写这个帖子不是为了交流,而是为了了解程序员把产品放在市场上的具体例子,从一个从来没有卖过一个产品的人那里听到这个消息很奇怪--关于什么该做,什么不该做。该主题是关于市场上的核查。我们不是在讨论一个EA应该检查什么以及如何处理错误。- 我对这一点没有意见。 Ihor Herasko 2016.03.16 15:31 #116 Vladislav Andruschenko:我没有问如果服务器返回0该怎么做那么你应该在主题行中更清楚地说明。现在,90%的经纪商都有浮动点差和最小止损 ,回报率为0。 Vladislav Andruschenko 2016.03.16 15:39 #117 Ihor Herasko:那么你需要在主题中更清楚地说明。我问的是,如果服务器返回0,如何绕过市场错误 - 当在macret中检查时,主持人把止损=1,但EA不能改变为最小止损,因为它是0, - 它是浮动的。很明显,EA返回错误130,并说止损是错误的,进行修改,但在市场上,这个命令不起作用。我的帖子听起来是这样的。各位朋友,大家好市场有一个特点: 你必须检查所有的最小停止值。如果变量的值小于最小止损点,那么就指定一个最小止损点,这样就不会出现错误130。目前90%的经纪商有浮动点差和最小STOP,收益率为0。有一个代码结构,将所有的变量都分配给最小的停止。 int OnInitLevels(string symToWorkmodify) { if(lot<SymbolInfoDouble(symToWorkmodify,SYMBOL_VOLUME_MIN))lots=SymbolInfoDouble(symToWorkmodify,SYMBOL_VOLUME_MIN);else if(lot>SymbolInfoDouble(symToWorkmodify,SYMBOL_VOLUME_MAX))lots=SymbolInfoDouble(symToWorkmodify,SYMBOL_VOLUME_MAX);else lots=lot; if(StopLoss>0 && StopLoss<SymbolInfoInteger(symToWorkmodify,SYMBOL_TRADE_STOPS_LEVEL))StopLosss=(int)SymbolInfoInteger(symToWorkmodify,SYMBOL_TRADE_STOPS_LEVEL);else StopLosss=StopLoss; if(TakeProfit>0 && TakeProfit<SymbolInfoInteger(symToWorkmodify,SYMBOL_TRADE_STOPS_LEVEL))TakeProfits=(int)SymbolInfoInteger(symToWorkmodify,SYMBOL_TRADE_STOPS_LEVEL);else TakeProfits=TakeProfit; if(TrailingStop>0 && TrailingStop<SymbolInfoInteger(symToWorkmodify,SYMBOL_TRADE_STOPS_LEVEL))TrallingStops=(int)SymbolInfoInteger(symToWorkmodify,SYMBOL_TRADE_STOPS_LEVEL);else TrallingStops=TrailingStop; if(TakeProfitALL>0 && TakeProfitALL<SymbolInfoInteger(symToWorkmodify,SYMBOL_TRADE_STOPS_LEVEL))TakeProfitsAver=(int)SymbolInfoInteger(symToWorkmodify,SYMBOL_TRADE_STOPS_LEVEL);else TakeProfitsAver=(int)TakeProfitALL; if(TrailingStop>0 && TrailingStop<SymbolInfoInteger(symToWorkmodify,SYMBOL_TRADE_STOPS_LEVEL))TrallingStops=(int)SymbolInfoInteger(symToWorkmodify,SYMBOL_TRADE_STOPS_LEVEL);else TrallingStops=TrailingStop; return(0); }但这在市场上已经不起作用了,因为现在到处都是minstop=0。谁在处理这个问题? Ihor Herasko 2016.03.16 15:40 #118 Vladimir Gribachev: 告诉我MetaQuotes-Demo服务器上哪里有 stoplevel = 0不是在MetaQuotes服务器上,而是在市场上的检查(见该主题的第一个帖子)。但它在市场上不再通过,因为现在到处都是min stoplevel = 0 。弗拉基米尔-格里巴乔夫。即使最小止损=0,那么最小止损就等于点差。不是一个事实。可能有2或3个价差。也许你根本没有遇到过这种情况。但这并不意味着它们不存在。如果你不知道我在说什么,你可以试着避开它们。 Vladislav Andruschenko 2016.03.16 15:43 #119 Ihor Herasko:不是在MetaQuotes服务器上,而是在市场中检查时(见该主题的第一个帖子)。不是一个事实。可能有2或3个传播。也许你只是没有遇到过这种情况。但这并不意味着它们不存在。我提到的那个经纪人的情况也完全一样。i>这就是问题的关键,为1-2-3价差设置一个硬性的最小止损是一个借口。你需要一个真正的解决方案来解决浮动止损的问题。他们不知道他们有什么样的浮动停止,但他们不告诉你如何做。我很抱歉,或者他就是不告诉我。 Ihor Herasko 2016.03.16 15:45 #120 我想你应该清楚这个问题))。同时,你很困惑。я не спрашивал что делать если сервер возвращает 0并通过邮寄。我问的是,如果服务器返回0,如何绕过市场错误。 1...56789101112131415161718 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你不能这样除以一个点,SymbolInfoDouble(symToWorkmodify,SYMBOL_POINT) 函数的值可能等于零。
这也适用于其他市场功能。
例如,在计算中使用AccountInfoInteger(ACCOUNT_LEVERAGE) 导致一些Expert Advisors 在2010年的冠军赛中崩溃,出现零除法 错误,而这个函数在OnInit中返回0。
如果有那么糟糕,那就这样吧
请再次注意,该主题是关于停滞水平为0的情况。你引用了一个测试结果,其停顿程度大于零。
如果真的那么糟糕,正如Andrey F. Zelinsky 正确地指出的那样
你可以为第130个错误添加一个检查,并在止损点上添加+1。但这根本没有意义。请再一次注意,这个话题是关于水平线为0时的情况。你给出的测试结果的止水位大于零。
告诉我MetaQuotes-Demo服务器上哪里有 stoplevel = 0
即使止损水平=0,那么最小止损等于点差的价值。
如果点差也=0,那么请告诉我这样的经纪人,我会去那里削减我的资金。
检查错误130是正常的做法,就像程序中任何其他错误一样。至于在止损点上加1,首先它没有帮助,其次它是一个错误的决定。
谁说这是好事。
我贴出了检查代码,你放了猫头鹰来验证,我显示在版主检查的服务器上,这个检查是有效的。
如果你需要嘲弄这个系统,而没有找到topikstarter想要的解决方案,你需要创建一个新的主题,名为 "让我们炸毁 大脑!"。
ZS.主题管理员需要一个解决方案,以便在市场上得到检验。主持人在他们的服务器上测试,而不是在阿尔卑斯山或其他地方。
如果点差也是0,那就给我看看这样的经纪人,我就去那里剁手。
:-)我读完后笑了。
我没有问如果服务器返回0该怎么做,节制你的自我 - 我是专门针对一个人的,他将理解或不理解 - 但这并不重要。
写这个帖子不是为了交流,而是为了了解程序员把产品放在市场上的具体例子,从一个从来没有卖过一个产品的人那里听到这个消息很奇怪--关于什么该做,什么不该做。
该主题是关于市场上的核查。
我们不是在讨论一个EA应该检查什么以及如何处理错误。- 我对这一点没有意见。
我没有问如果服务器返回0该怎么做
那么你应该在主题行中更清楚地说明。
现在,90%的经纪商都有浮动点差和最小止损 ,回报率为0。
那么你需要在主题中更清楚地说明。
我问的是,如果服务器返回0,如何绕过市场错误 - 当在macret中检查时,主持人把止损=1,但EA不能改变为最小止损,因为它是0, - 它是浮动的。
很明显,EA返回错误130,并说止损是错误的,进行修改,但在市场上,这个命令不起作用。
我的帖子听起来是这样的。
各位朋友,大家好
市场有一个特点: 你必须检查所有的最小停止值。
如果变量的值小于最小止损点,那么就指定一个最小止损点,这样就不会出现错误130。
目前90%的经纪商有浮动点差和最小STOP,收益率为0。
有一个代码结构,将所有的变量都分配给最小的停止。
但这在市场上已经不起作用了,因为现在到处都是minstop=0。
谁在处理这个问题?
告诉我MetaQuotes-Demo服务器上哪里有 stoplevel = 0
不是在MetaQuotes服务器上,而是在市场上的检查(见该主题的第一个帖子)。
但它在市场上不再通过,因为现在到处都是min stoplevel = 0 。
即使最小止损=0,那么最小止损就等于点差。
不是一个事实。可能有2或3个价差。也许你根本没有遇到过这种情况。但这并不意味着它们不存在。如果你不知道我在说什么,你可以试着避开它们。
不是在MetaQuotes服务器上,而是在市场中检查时(见该主题的第一个帖子)。
不是一个事实。可能有2或3个传播。也许你只是没有遇到过这种情况。但这并不意味着它们不存在。我提到的那个经纪人的情况也完全一样。
i>这就是问题的关键,为1-2-3价差设置一个硬性的最小止损是一个借口。
你需要一个真正的解决方案来解决浮动止损的问题。
他们不知道他们有什么样的浮动停止,但他们不告诉你如何做。我很抱歉,或者他就是不告诉我。
我想你应该清楚这个问题))。同时,你很困惑。
я не спрашивал что делать если сервер возвращает 0
并通过邮寄。
我问的是,如果服务器返回0,如何绕过市场错误。