错误、漏洞、问题 - 页 1702 1...169516961697169816991700170117021703170417051706170717081709...3184 新评论 Dmytro Zelenskyy 2016.09.23 16:04 #17011 我明白了。谢谢你。 Sergei Vladimirov 2016.09.23 16:12 #17012 Dmytro Zelenskyy:好的,如何正确地将双倍数转换为int,并保留符号(数字并不重要,如果超出限制,则限制为int)。 转换为长。 Anton 2016.09.23 17:00 #17013 fxsaber: 回复,然后立即关闭。我需要能够删除自己(指标),以防有一个副本在运行,尽管输入参数不同。要做到这一点,我需要找出自己的把柄。不幸的是,当时我不知道在MQL中100%的情况下这是不可能的。因此,我决定尝试一个不太聪明的技巧。我翻阅了所有的手柄。如果它与我在检查前在指标中写的随机性相吻合,就自动意味着这个手柄属于我,如果有必要,我可以自己删除。正是从这些考虑出发,写出了这样无害的代码,引起了开发者如此模棱两可,但显然是负面的反应。你看,你不能这样做。你做了什么?好吧,我通过CopyBuffer读取我的缓冲区的值。这是否违法?开发商的回应中没有 "你不能这样做 "这样的说法。没有任何地方说它是 "非法的"。如果你认为你绝对需要这种 "无害的代码"--使用它。只要在读取缓冲区后将IndicatorRelease(handle))加入OnCalculate()即可。你不需要在每次打勾时都检查它是否是 "你的 "指标,对吗? 这就是指标如何解决你的问题,不再是 "看不见的"。#property indicator_separate_window #property indicator_buffers 1 #property indicator_plots 1 double Buffer[]; int handle=INVALID_HANDLE; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnInit() { ::SetIndexBuffer(0,Buffer,INDICATOR_DATA); handle=ChartIndicatorGet(0,1,ChartIndicatorName(0,1,0)); } #define TOSTRING(A) #A + " = " + (string)A + "\n" //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ 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(handle!=INVALID_HANDLE) { Buffer[rates_total-1]=MathRand(); double BufferCopy[]; if(CopyBuffer(handle,0,0,1,BufferCopy)>0) Print(TOSTRING(BufferCopy[0])+TOSTRING(Buffer[rates_total-1])); if(IndicatorRelease(handle)) handle=INVALID_HANDLE; } return(rates_total); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnDeinit(const int Reason) { if(handle!=INVALID_HANDLE) IndicatorRelease(handle); return; }让社区意识到,以这种方式创建一个后台不受控制地执行任何代码,甚至在没有图表的终端上也是可能的。这里有一个小提示。是否认为这是一个错误,可能是一个术语问题。我的理解是,开发商不能够在这里改变任何建筑上的东西。这就是为什么会有这样的愤怒。我无法以任何其他方式解释这种反应。仆人式的反应 中没有 "愤怒"。人们对你经常夸大你所遇到的问题的动机有误解。开发商能够改变事情。但他们通常对 "剥夺和禁止 "甚至无证行为的建议非常谨慎,如果它不是明确的有害行为。这个 "黑客 "相当特别,但也许有人正在使用它。也许在终端仍然会有关于它的编辑,但这肯定不是一个巨大的问题,这个问题的优先级也是最小的。反正没人愿意说出来。这 样的耙子会在帮助中得到很好的反映。事实证明,你很清楚,终端的这个 "严重错误 "只对你有兴趣。在这一点上,让我们结束这个问题。技术上的细节都已经讨论过了,而情感上的问题在这个问题上是没有必要的。 fxsaber 2016.09.23 17:32 #17014 Anton:开发商的答复中没有 "不允许 "这样的字眼。没有任何地方说它是 "非法 "的。如果你认为这个 "无害的代码 "对你来说是绝对必要的--就使用它。只要在读取缓冲区后将IndicatorRelease(handle))加入OnCalculate()即可。你不需要在每次打钩时都检查它是否是 "你的 "指标,是吗?不,当然,没有这种需要。这就是指标如何解决你的问题,不再是 "看不见的"。关于这个话题,我最近收到了你的同事的回复 关于交易、自动交易系统和策略测试的论坛 错误、漏洞、问题 Slawa, 2016.09.07 17:17 fxsaber:iCustom后的IndicatorRelease应该怎么做?为了什么?不要。在指标创建后也不要做 我还没有得到答案。 关于交易、自动交易系统和交易策略测试的论坛 虫子、虫子、问题 fxsaber, 2016.09.07 17:27 之后并不意味着立即。但是,如果你不必这样做,你什么时候应该 这样做?仆人式的反应 中没有 "愤怒"。对你经常夸大你所面临的问题的动机有误解。其动机纯粹是自私的。我希望所有的事情都能按照文档的要求,可预测地工作。虫子很烦人,这就是结果。开发商有能力改变。但他们通常对 "带走和禁止 "甚至无证行为的建议非常谨慎,除非它明显有害。这个 "黑客 "相当特别,但也许有人正在使用它。也许在这个问题上还会对终端进行编辑,但这肯定不是一个巨大的问题,这个问题的优先级也是最小的。我同意关于优先权的说法。事实证明,你很清楚,终端的这个 "严重错误 "只对你感兴趣。让我们在这个时候完成这个问题。所有的技术细节都要讨论,但在这个问题上,情绪是不必要的。 不,他们不发表评论还有一个原因。不管这个错误有多严重。我的 "严肃性 "是指你已经可以制作并放在同一个市场中的虫子。然后面临着VPS没有足够的计算资源的事实。总之,你明白这个意思。 Alexey Navoykov 2016.09.23 20:43 #17015 Vladimir Pastushak:我不需要这样,我想做很多工作,使我今后的生活更轻松。我是这样解决我的问题的,在父类中,所有的proteced和继承都在proteced之下,然后是override。 如果父类都是受保护的,那么就不需要做保护继承了(你可以留下公有的)。 但是现在不清楚你最初想要的是什么。 如果你需要把父类方法隐藏在类里面(而不是像我想的那样在外面),那么保护和它有什么关系呢? 你需要一个原始的。 Sergei Vladimirov 2016.09.23 21:08 #17016 Alexey Navoykov: 只是现在已经不清楚你原来想要什么了。 看起来只是摆脱了弹出列表中不可用的方法。 Alexey Navoykov 2016.09.23 21:28 #17017 Sergei Vladimirov: 似乎只是摆脱了弹出列表中不可用的方法。 那么,无法进入的就不会出现,是吗? Vladimir Pastushak 2016.09.23 21:31 #17018 Sergei Vladimirov: 看起来只是摆脱了弹出列表中的不可用方法。不仅如此,我还为自己重写了图形对象的类,从一个描述对象所有属性的类中,我现在很容易理解地(至少对我来说)做出了Button类型的后代。此外,从这些简单的元素中,我可以以最小的错误概率、最大的速度和简单性(至少,对我来说)建立更复杂的元素。也许你会友好地踢我一脚,说标准库拥有一切,但我现在要告诉你,这不是全部,而且都是不可理解的。我习惯于用我完全理解的东西来工作,要理解这一切是如何进行的,你需要亲自尝试这一切......。 Sergei Vladimirov 2016.09.23 21:33 #17019 Alexey Navoykov: 那么,无法进入的就不会出现,是吗?不,他们这样做。顺便说一下,在工作室里也是一样的。 Alexey Navoykov 2016.09.23 22:24 #17020 Sergei Vladimirov:不,他们这样做。 那么Metakvots应该注意这一点。 为什么要显示不可访问的方法呢? 毕竟,在受保护的部分,所有的东西都是隐藏的,因为它应该是这样的。 所以这里也应该是这样的。 1...169516961697169816991700170117021703170417051706170717081709...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
好的,如何正确地将双倍数转换为int,并保留符号(数字并不重要,如果超出限制,则限制为int)。
回复,然后立即关闭。
我需要能够删除自己(指标),以防有一个副本在运行,尽管输入参数不同。要做到这一点,我需要找出自己的把柄。不幸的是,当时我不知道在MQL中100%的情况下这是不可能的。因此,我决定尝试一个不太聪明的技巧。
我翻阅了所有的手柄。如果它与我在检查前在指标中写的随机性相吻合,就自动意味着这个手柄属于我,如果有必要,我可以自己删除。
正是从这些考虑出发,写出了这样无害的代码,引起了开发者如此模棱两可,但显然是负面的反应。你看,你不能这样做。你做了什么?好吧,我通过CopyBuffer读取我的缓冲区的值。这是否违法?
开发商的回应中没有 "你不能这样做 "这样的说法。没有任何地方说它是 "非法的"。
如果你认为你绝对需要这种 "无害的代码"--使用它。只要在读取缓冲区后将IndicatorRelease(handle))加入OnCalculate()即可。你不需要在每次打勾时都检查它是否是 "你的 "指标,对吗?
这就是指标如何解决你的问题,不再是 "看不见的"。
让社区意识到,以这种方式创建一个后台不受控制地执行任何代码,甚至在没有图表的终端上也是可能的。这里有一个小提示。是否认为这是一个错误,可能是一个术语问题。我的理解是,开发商不能够在这里改变任何建筑上的东西。这就是为什么会有这样的愤怒。我无法以任何其他方式解释这种反应。
仆人式的反应 中没有 "愤怒"。人们对你经常夸大你所遇到的问题的动机有误解。
开发商能够改变事情。但他们通常对 "剥夺和禁止 "甚至无证行为的建议非常谨慎,如果它不是明确的有害行为。这个 "黑客 "相当特别,但也许有人正在使用它。
也许在终端仍然会有关于它的编辑,但这肯定不是一个巨大的问题,这个问题的优先级也是最小的。
反正没人愿意说出来。这 样的耙子会在帮助中得到很好的反映。
事实证明,你很清楚,终端的这个 "严重错误 "只对你有兴趣。
在这一点上,让我们结束这个问题。技术上的细节都已经讨论过了,而情感上的问题在这个问题上是没有必要的。
开发商的答复中没有 "不允许 "这样的字眼。没有任何地方说它是 "非法 "的。
如果你认为这个 "无害的代码 "对你来说是绝对必要的--就使用它。只要在读取缓冲区后将IndicatorRelease(handle))加入OnCalculate()即可。你不需要在每次打钩时都检查它是否是 "你的 "指标,是吗?
不,当然,没有这种需要。
这就是指标如何解决你的问题,不再是 "看不见的"。
关于这个话题,我最近收到了你的同事的回复
关于交易、自动交易系统和策略测试的论坛
错误、漏洞、问题
Slawa, 2016.09.07 17:17
fxsaber:
iCustom后的IndicatorRelease应该怎么做?
为了什么?
不要。在指标创建后也不要做
关于交易、自动交易系统和交易策略测试的论坛
虫子、虫子、问题
fxsaber, 2016.09.07 17:27
之后并不意味着立即。但是,如果你不必这样做,你什么时候应该 这样做?仆人式的反应 中没有 "愤怒"。对你经常夸大你所面临的问题的动机有误解。
其动机纯粹是自私的。我希望所有的事情都能按照文档的要求,可预测地工作。虫子很烦人,这就是结果。
开发商有能力改变。但他们通常对 "带走和禁止 "甚至无证行为的建议非常谨慎,除非它明显有害。这个 "黑客 "相当特别,但也许有人正在使用它。
也许在这个问题上还会对终端进行编辑,但这肯定不是一个巨大的问题,这个问题的优先级也是最小的。
我同意关于优先权的说法。
事实证明,你很清楚,终端的这个 "严重错误 "只对你感兴趣。
让我们在这个时候完成这个问题。所有的技术细节都要讨论,但在这个问题上,情绪是不必要的。
我不需要这样,我想做很多工作,使我今后的生活更轻松。
我是这样解决我的问题的,在父类中,所有的proteced和继承都在proteced之下,然后是override。
只是现在已经不清楚你原来想要什么了。
似乎只是摆脱了弹出列表中不可用的方法。
看起来只是摆脱了弹出列表中的不可用方法。
不仅如此,我还为自己重写了图形对象的类,从一个描述对象所有属性的类中,我现在很容易理解地(至少对我来说)做出了Button类型的后代。
此外,从这些简单的元素中,我可以以最小的错误概率、最大的速度和简单性(至少,对我来说)建立更复杂的元素。
也许你会友好地踢我一脚,说标准库拥有一切,但我现在要告诉你,这不是全部,而且都是不可理解的。我习惯于用我完全理解的东西来工作,要理解这一切是如何进行的,你需要亲自尝试这一切......。
那么,无法进入的就不会出现,是吗?
不,他们这样做。
顺便说一下,在工作室里也是一样的。
不,他们这样做。