[解决]当从不同工作时间段的指标中调用/创建指标时,指标不能正确实例化。 - 页 4 1234 新评论 Alain Verleyen 2017.02.01 14:19 #31 nicholishen:...我想特别感谢你的帮助......如果不是你的居高临下,我不知道我在哪里能找到继续努力的动力!/s我在这里看到过几十个像你这样的人。他们知道所有的东西都比别人好,他们不听,他们把自己的错误推给别人(其他用户,版主,经纪人,平台,Metaquotes,操作系统,或其他...)。看来你在这里没有学到任何东西。这不是一个错误,这是开发人员对其平台的构想。我理解你为什么说这是一个bug,我几年前就发现了MT5和它的工作原理。如果你考虑到这一点并接受它,你会更快地看到问题所在:你的方法和你的理解。但不是,你仍然继续说这是一个 "错误 "或 "重大缺陷",这实在是太可笑了。MT5架构使用异步函数 行为,使这个平台比MT4快得多,当然,处理起来并不容易。Metaquotes在这方面的主要错误是不完整的、不可理解的或缺乏的文件。当你不明白的时候,你应该听其他的(比如Stanislav和我),当然不能侮辱那些试图帮助你的人。 nicholish en 2017.02.01 14:27 #32 Alain Verleyen:我在这里看到过几十个像你这样的人。他们知道所有的东西都比别人好,他们不听,他们把自己的错误推给其他人(其他用户,版主,经纪人,平台,Metaquotes,操作系统,或其他...)。看来你在这里没有学到任何东西。这不是一个错误,这是开发人员对其平台的构想。我理解你为什么说这是一个bug,我几年前就发现了MT5和它的工作原理。如果你考虑到这一点并接受它,你会更快地看到问题所在:你的方法和你的理解。但不是,你仍然继续说这是一个 "错误 "或 "重大缺陷",这实在是太可笑了。MT5架构使用异步函数 行为,使这个平台比MT4快得多,当然,处理起来并不容易。Metaquotes在这方面的主要错误是不完整的、不可理解的或缺乏的文件。当你不明白的时候,你应该听其他的(比如Stanislav和我),当然不能侮辱那些试图帮助你的人。 在一个单线程上运行所有的指标,除了设置一个定时器之外,没有一个递归调用下一个迭代的方法,这是一个缺陷。你想说说速度吗?我没有把处理放回队列中,而是花了一个额外的毫秒来解决这个问题。也许这不是世界末日,但还是需要一个解决方法。我非常感谢那些帮助我理解这个变通方法的人,以及为什么在平台的限制下有必要这样做。然而,我仍在努力理解,除了居高临下的态度,你还为讨论带来了什么。 Alain Verleyen 2017.02.01 16:13 #33 nicholishen: 在一个单线程上运行所有的指标,除了设置定时器外,没有递归调用下一个迭代的方法,这是一个缺陷。你想说说速度吗?我没有把处理放回队列中,而是花了一个额外的ms来解决这个问题。也许这不是世界末日,但还是需要一个解决方法。我非常感谢那些帮助我理解这个变通方法的人,以及为什么在平台的限制下有必要这样做。然而,我仍在努力理解,除了居高临下的态度,你还为讨论带来了什么。我发现你非常激进。从一开始,我只是想向你解释发生了什么,从我多年使用MT5的经验来看。我不是居高临下,我有技术,也做过实验,我应该得到尊重(和每个人一样)。这只是从第14号帖子中,我看到你想让它在没有新刻度线的情况下工作,但在同一帖子中,我感到被你的 "狂热 "一词所攻击,所以我放弃了。无论如何,这个话题已经结束了,感谢你促使我学习新的东西。 Robert Gerald Wood 2021.06.29 12:06 #34 我为这个问题抓耳挠腮了好久。 对于其他遇到这个问题的人来说,似乎有一个简单的解决方法。 添加一个模块级变量(RunOnce)来确定我们何时第一次运行OnCalculate。在第一次运行时,返回0并设置变量为真,以防止进一步的中断。 bool RunOnce = false; int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { if (rates_total == prev_calculated) return (rates_total); if (!RunOnce) { RunOnce = true; return (0); } REST OF YOUR CODE HERE. 这对我来说非常有效,我希望它也能帮助你。 [SOLVED]Indicators are not properly instantiated when called/created from an Indicator of different working time-frame. 2017.01.30www.mql5.com UPDATE: See the workaround below CopyBuffer() throws an error of 4806 (Indicator data not accessible) when calling an indicator with a different Ti... Robson Souza 2021.06.30 16:27 #35 谢谢你提供的解决方案 1234 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
...
我想特别感谢你的帮助......如果不是你的居高临下,我不知道我在哪里能找到继续努力的动力!/s
我在这里看到过几十个像你这样的人。他们知道所有的东西都比别人好,他们不听,他们把自己的错误推给别人(其他用户,版主,经纪人,平台,Metaquotes,操作系统,或其他...)。
看来你在这里没有学到任何东西。这不是一个错误,这是开发人员对其平台的构想。我理解你为什么说这是一个bug,我几年前就发现了MT5和它的工作原理。如果你考虑到这一点并接受它,你会更快地看到问题所在:你的方法和你的理解。
但不是,你仍然继续说这是一个 "错误 "或 "重大缺陷",这实在是太可笑了。MT5架构使用异步函数 行为,使这个平台比MT4快得多,当然,处理起来并不容易。Metaquotes在这方面的主要错误是不完整的、不可理解的或缺乏的文件。
当你不明白的时候,你应该听其他的(比如Stanislav和我),当然不能侮辱那些试图帮助你的人。
我在这里看到过几十个像你这样的人。他们知道所有的东西都比别人好,他们不听,他们把自己的错误推给其他人(其他用户,版主,经纪人,平台,Metaquotes,操作系统,或其他...)。
看来你在这里没有学到任何东西。这不是一个错误,这是开发人员对其平台的构想。我理解你为什么说这是一个bug,我几年前就发现了MT5和它的工作原理。如果你考虑到这一点并接受它,你会更快地看到问题所在:你的方法和你的理解。
但不是,你仍然继续说这是一个 "错误 "或 "重大缺陷",这实在是太可笑了。MT5架构使用异步函数 行为,使这个平台比MT4快得多,当然,处理起来并不容易。Metaquotes在这方面的主要错误是不完整的、不可理解的或缺乏的文件。
当你不明白的时候,你应该听其他的(比如Stanislav和我),当然不能侮辱那些试图帮助你的人。
在一个单线程上运行所有的指标,除了设置定时器外,没有递归调用下一个迭代的方法,这是一个缺陷。你想说说速度吗?我没有把处理放回队列中,而是花了一个额外的ms来解决这个问题。也许这不是世界末日,但还是需要一个解决方法。我非常感谢那些帮助我理解这个变通方法的人,以及为什么在平台的限制下有必要这样做。然而,我仍在努力理解,除了居高临下的态度,你还为讨论带来了什么。
我发现你非常激进。从一开始,我只是想向你解释发生了什么,从我多年使用MT5的经验来看。我不是居高临下,我有技术,也做过实验,我应该得到尊重(和每个人一样)。这只是从第14号帖子中,我看到你想让它在没有新刻度线的情况下工作,但在同一帖子中,我感到被你的 "狂热 "一词所攻击,所以我放弃了。
无论如何,这个话题已经结束了,感谢你促使我学习新的东西。
我为这个问题抓耳挠腮了好久。
对于其他遇到这个问题的人来说,似乎有一个简单的解决方法。
添加一个模块级变量(RunOnce)来确定我们何时第一次运行OnCalculate。在第一次运行时,返回0并设置变量为真,以防止进一步的中断。
这对我来说非常有效,我希望它也能帮助你。