小额资金管理-指标被新的MQL4毁掉了 - 页 3 12345 新评论 Alain Verleyen 2014.04.02 08:18 #21 mar: angevoyageur,我想你没有看到我发的这个帖子。 mar 2014.04.02 08:16# 你是对的...我无法回避它。 :-) "我的意思是,我能否等到更新完成后再继续进行SL-计算?问题是我不能给SL一个随机值,因为那样整个指标就没有用了。所以我想检查一下错误4066,如果发生了,我想等一下再检查一下,然后再继续。" 在这里你可以看到,描述了我不能遵循建议,因为我得出了这个解决方案,你也可以看到,我肯定检查了qjol建议我的东西。 不,你没有,qjol写道: 所以你必须检查其中一个变量是否等于0....,以避免零除的情况。 然后你就会报告一个零除法错误。但这是你希望的。 Keith Watford 2014.04.02 08:29 #22 mar: 另一个例子。 如果你打开MetaTrader,结果将是零!而且一直是零,直到你改变时间框架或货币对。而且一直是零,直到你改变时间框架或货币对。我认为这正是除以零错误的问题。你不也认为吗? 你是在周末试的吗,当时没有传入的点位?这是我能想到的评论不更新的唯一原因。 Syed Naufal Gaddafi 2014.04.02 08:32 #23 GumRai: 你是在周末试的吗,当时没有传入蜱虫?这是我能想到的评论不更新的唯一原因。 我也一样。没有虱子就没有更新。 mar 2014.04.02 09:13 #24 没有,我今天试了一下。有许多点进来了,但没有更新AccountBalance。我等了将近一分钟,但账户余额仍然是零。 问题是,这个问题在过去几年从未发生过。自从新的MetaTrader推出后,这个问题就存在。所以我不认为这与代码有什么关系。一定是平台本身的内部变化导致了这个代码的失败。而这个指标只有一条评论线,它却失败了。所以这一定是一个平台/数据问题。 Keith Watford 2014.04.02 09:23 #25 mar:没有,我今天试了一下。有许多点进来了,但没有更新AccountBalance。我等了将近一分钟,但账户余额仍然是零。问题是,这个问题在过去几年从未发生过。自从新的MetaTrader推出后,这个问题就存在。所以我不认为这与代码有什么关系。一定是平台本身的内部变化导致了这个代码的失败。而这个指标只有一条评论线,它却失败了。所以这一定是一个平台/数据问题。 你确定该指标与你发布的代码完全相同吗? 似乎你在检查 一个指标,它的一行代码在init而不是在start中。 qjol 2014.04.02 09:29 #26 我已经回答了你所有的问题(包括关于这个问题的未来问题),但也许你没有仔细阅读它们,那么让我再做一次。 qjol: 显然你不能避免更新;-)但你必须避免出现 "零除法 "的情况 所以你必须检查其中一个变量是否等于0....,以避免零除法的情况。 因为你不能停止一个指标,你必须想办法。 侯 先生。 我可以等到更新完成后再继续进行SL计算吗? 不,你不能(已经写在上面)。 qjol: 因为你不能停止 一个指标,所以你必须想办法。 mar: 问题是我不能给SL一个随机值,因为那样整个指标就没有用了。 我已经给了你一个解决方案 SL = MathFloor((iATR(NULL, PERIOD_D1, 7, 0)*MathPow(10,Digits-exp)+1)*0.1); if (SL == 0) // because error 4066 (for example) { SL = Someting; } lots=MoneyRisk/SL/(MarketInfo(Symbol(), MODE_TICKVALUE)*multi); 它是随机的,直到更新完成(不超过2-3秒)(我认为这比得到一个错误信息和指标完全不工作要好)。 如果你有其他解决方案,请自由使用,不需要我的许可;-) 我 的意思是说 切换到你喜欢的任何时间框架,除了D1。然后你把指标拖到你的图表上。结果会出现上面那样的错误。在我看来,日线图的ATR(5)是不正确的,因为缺少DAILY数据。在D1时间框架中打开一个 "新 "图表,完全没有问题。当你切换到另一个时间框架时,它也是好的,因为ATR(5)是正确的。我注意到,只要我停留在D1图表中,我可以切换到任何货币对。但是,只要MetaTrader没有收到每日数据,在D1以外的其他时间框架中切换到其他货币对就会出现问题。 因此,我现在的问题是,当我在非D1的时间框架中打开一个新的图表时,我怎样才能得到每日数据,使我的ATR计算正确? 因为你使用的是iATR......PERIOD_D1,而且......你必须等待日线对完成更新(2-3秒,除非你使用的是拨号连接)。 mar 2014.04.02 10:57 #27 qjol,我为这么多的误解感到抱歉!现在我明白了,你让我用一些随机的数据输入指标,只是因为除以零 的现象消失了。我也没有想到,在数据更新后,指标会使用正确的值。我为自己的愚蠢感到抱歉... :D 但尽管如此,问题还是没有解决:为什么以前会有这样的效果?新的MetaTrader有什么问题? qjol 2014.04.02 11:09 #28 mar: 但尽管如此,问题还是没有解决:为什么以前会有这样的效果?新的MetaTrader有什么问题? 这与新旧MT4无关,而是与指标的工作和执行方式有关。 因为指标"不能 等待",已经被立即执行了 但是,在这个时候,你没有iATR的数据 ...PERIOD_D1,所以它等于0。 这就是为什么你的除数为零 mar 2014.04.02 11:14 #29 这对我来说是绝对清楚的。但是我使用这个指标已经很长时间了,我从来没有出现过数据丢失之类的问题。所以我想知道为什么在我第一次使用MT4的build-625版本时发生了这种情况。 Keith Watford 2014.04.02 11:23 #30 mar:没有,我今天试了一下。有许多点进来了,但没有更新AccountBalance。我等了将近一分钟,但账户余额仍然是零。问题是,这个问题在过去几年从未发生过。自从新的MetaTrader推出后,这个问题就存在。所以我不认为这与代码有什么关系。一定是平台本身的内部变化导致了这个代码的失败。而这个指标只有一条评论线,它却失败了。所以这一定是一个平台/数据问题。你确定该指标与你发布的代码完全相同吗? 似乎你在检查 一个指标,它的一行代码在init而不是在start中。 12345 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
angevoyageur,我想你没有看到我发的这个帖子。
mar 2014.04.02 08:16#
你是对的...我无法回避它。 :-)
"我的意思是,我能否等到更新完成后再继续进行SL-计算?问题是我不能给SL一个随机值,因为那样整个指标就没有用了。所以我想检查一下错误4066,如果发生了,我想等一下再检查一下,然后再继续。"
在这里你可以看到,描述了我不能遵循建议,因为我得出了这个解决方案,你也可以看到,我肯定检查了qjol建议我的东西。
不,你没有,qjol写道:
所以你必须检查其中一个变量是否等于0....,以避免零除的情况。
然后你就会报告一个零除法错误。但这是你希望的。
另一个例子。
如果你打开MetaTrader,结果将是零!而且一直是零,直到你改变时间框架或货币对。而且一直是零,直到你改变时间框架或货币对。我认为这正是除以零错误的问题。你不也认为吗?你是在周末试的吗,当时没有传入的点位?这是我能想到的评论不更新的唯一原因。
你是在周末试的吗,当时没有传入蜱虫?这是我能想到的评论不更新的唯一原因。
我也一样。没有虱子就没有更新。
没有,我今天试了一下。有许多点进来了,但没有更新AccountBalance。我等了将近一分钟,但账户余额仍然是零。
问题是,这个问题在过去几年从未发生过。自从新的MetaTrader推出后,这个问题就存在。所以我不认为这与代码有什么关系。一定是平台本身的内部变化导致了这个代码的失败。而这个指标只有一条评论线,它却失败了。所以这一定是一个平台/数据问题。
没有,我今天试了一下。有许多点进来了,但没有更新AccountBalance。我等了将近一分钟,但账户余额仍然是零。
问题是,这个问题在过去几年从未发生过。自从新的MetaTrader推出后,这个问题就存在。所以我不认为这与代码有什么关系。一定是平台本身的内部变化导致了这个代码的失败。而这个指标只有一条评论线,它却失败了。所以这一定是一个平台/数据问题。
你确定该指标与你发布的代码完全相同吗?
似乎你在检查 一个指标,它的一行代码在init而不是在start中。
我已经回答了你所有的问题(包括关于这个问题的未来问题),但也许你没有仔细阅读它们,那么让我再做一次。
显然你不能避免更新;-)但你必须避免出现 "零除法 "的情况
所以你必须检查其中一个变量是否等于0....,以避免零除法的情况。
因为你不能停止一个指标,你必须想办法。
我可以等到更新完成后再继续进行SL计算吗?
不,你不能(已经写在上面)。
因为你不能停止 一个指标,所以你必须想办法。
问题是我不能给SL一个随机值,因为那样整个指标就没有用了。
我已经给了你一个解决方案
它是随机的,直到更新完成(不超过2-3秒)(我认为这比得到一个错误信息和指标完全不工作要好)。
如果你有其他解决方案,请自由使用,不需要我的许可;-)
切换到你喜欢的任何时间框架,除了D1。然后你把指标拖到你的图表上。结果会出现上面那样的错误。在我看来,日线图的ATR(5)是不正确的,因为缺少DAILY数据。在D1时间框架中打开一个 "新 "图表,完全没有问题。当你切换到另一个时间框架时,它也是好的,因为ATR(5)是正确的。我注意到,只要我停留在D1图表中,我可以切换到任何货币对。但是,只要MetaTrader没有收到每日数据,在D1以外的其他时间框架中切换到其他货币对就会出现问题。 因此,我现在的问题是,当我在非D1的时间框架中打开一个新的图表时,我怎样才能得到每日数据,使我的ATR计算正确?因为你使用的是iATR......PERIOD_D1,而且......你必须等待日线对完成更新(2-3秒,除非你使用的是拨号连接)。
qjol,我为这么多的误解感到抱歉!现在我明白了,你让我用一些随机的数据输入指标,只是因为除以零 的现象消失了。我也没有想到,在数据更新后,指标会使用正确的值。我为自己的愚蠢感到抱歉... :D
但尽管如此,问题还是没有解决:为什么以前会有这样的效果?新的MetaTrader有什么问题?
但尽管如此,问题还是没有解决:为什么以前会有这样的效果?新的MetaTrader有什么问题?
这与新旧MT4无关,而是与指标的工作和执行方式有关。
因为指标"不能 等待",已经被立即执行了
但是,在这个时候,你没有iATR的数据 ...PERIOD_D1,所以它等于0。
这就是为什么你的除数为零
没有,我今天试了一下。有许多点进来了,但没有更新AccountBalance。我等了将近一分钟,但账户余额仍然是零。
问题是,这个问题在过去几年从未发生过。自从新的MetaTrader推出后,这个问题就存在。所以我不认为这与代码有什么关系。一定是平台本身的内部变化导致了这个代码的失败。而这个指标只有一条评论线,它却失败了。所以这一定是一个平台/数据问题。
你确定该指标与你发布的代码完全相同吗?
似乎你在检查 一个指标,它的一行代码在init而不是在start中。