错误、漏洞、问题 - 页 440 1...433434435436437438439440441442443444445446447...3184 新评论 Yedelkin 2011.07.01 08:43 #4391 Renat: 请计算你的负值的结果,并将其与32位的int相关联,然后阅读关于算术溢出的知识,找到你的17天。 欢迎来到真正的编程世界。 我没有问 "17天是怎么来的?我再重复一遍:我在测试器中发现了一个我不理解的情况,告诉了我,得到的解释是:(1)Sleep()函数 对负值也有作用,它给出了一个非零的延迟,(2)Sleep()函数的工作在测试器中是模拟的。如果开发商认为可以接受,我可以退回什么?没有必要精确计算17天。 Документация по MQL5: Общие функции / Sleep www.mql5.com Общие функции / Sleep - Документация по MQL5 Yedelkin 2011.07.01 08:50 #4392 stringo: 你有什么建议?在紧急情况下终止方案? 如果不知道系统如何运作,就很难提出建议。我的目的是听出问题,然后由你来决定。这一次,事实证明,这个问题完全符合当前终端的意识形态。那么,我将知道更多。 Serge 2011.07.01 09:26 #4393 uncleVic:是的,我们没有看到大象。我对这句话有强烈的怀疑。而在这种情况下。在我看来,编译器不应该错过这个。你有什么吗?连一个警告都没有?如果没有,请向服务台提出请求。好吗?第154746号 申请我们如何获得s1.open数组中具有最大/最小值的元素的序列号? Rashid Umarov 2011.07.01 09:35 #4394 Yedelkin: 在这种情况下,我在 "睡眠功能 "部分有一条指令就足够了......(2)"睡眠()功能完全被测试者支持"。 我们在另一篇文章《MetaTrader 5的测试 基础》中强调了有关测试的基本问题。在这里,我们试图解释使用测试器中各种功能的大部分细微差别。我们还解释了函数Sleep()。测试器中的Sleep()函数 Sleep() 函数允许你在专家顾问或脚本中暂停mql5程序的执行一段时间,当在一个图表上工作时。当请求一些数据时,这可能是必要的,因为在请求时这些数据还没有准备好,你需要等到它们准备好。关于Sleep()函数使用的详细例子可以在数据访问组织 部分找到。 在测试器中,对Sleep()的调用不会延迟测试过程。 当调用Sleep()时,生成的ticks在指定的延迟内被 "播放",这可能会触发挂单、停止等。在Sleep()被调用后,测试器中模拟的时间被增加了Sleep函数参数中指定的时间间隔。 如果由于Sleep()的执行,测试器中的当前时间超过了测试期的结束,将收到一个 "Sleep中的无限循环 "的错误。如果发生这样的错误,测试结果不会被丢弃,所有的计算都会完成(交易数量、缩减等),结果会传给终端。 函数Sleep()在OnDeinit()中不会起作用,因为在它被调用后,测试时间保证会超过测试间隔。 图7.在MetaTrader 5终端测试器中使用Sleep()函数的方案。 Yedelkin 2011.07.01 09:56 #4395 Rosh: 我们在另一篇文章中具体介绍了测试的主要问题,即MetaTrader 5中的测试 基础知识。在这本书中,我们试图解释使用测试器中各种功能的大部分细微差别。我们还解释了Sleep()函数。 对不起,这确实是我的错,我已经9个月没有测试了,错过了这篇文章。 如果能在《参考指南》的相应章节中提到关键的文章就更好了(我去年已经提出过类似的建议,但今天是一个再次提出的好机会)。毕竟,我们首先都在使用F1。 Renat Fatkhullin 2011.07.01 10:31 #4396 也就是说,你没有按照我的要求去做。 这里有几个人试图指出你的算术溢出的简单错误。 Yedelkin 2011.07.01 12:00 #4397 Renat: 就是说,你没有按我的要求去做。 这里有几个人想指出你的简单算术溢出错误。 ============================================================== 你问。 雷纳特。 你能不能好心地计算一下你的负值的结果,将其与32位的int相关联,然后阅读一下关于算术溢出的知识,找到你的17天...... 我回答说:是的,我没有问 "17天到底是从哪里来的?":) 等。 回答你目前的问题。你所要求的--我没有做。因为这是我昨天做的(我的初始数据略有不同,但本质上是我理解的)。如果有人编译了那个脚本,我就会收到多达两个警告。溢出/断流--我昨天自己处理了这个问题。 问题是,为什么(1)函数在参数为负值的情况下运行,以及(2)对于这样的参数在测试器中给出一个延迟。然而,你又指出 "程序员的错误 "与int类型的溢出。- 也就是说,你拒绝我的测试样本只是因为在选择Sleep()函数参数时指定了 "溢出的值"。但重点不在 "溢出的价值"。这只是对测试样本的一个额外的触摸。看来参加讨论的人都明白。最后,你可以在测试的例子中插入 "不溢出的价值"--在所有其他条件相同的情况下,问题的本质将保持不变(问题本身已经处理过了)。 总之,谢谢你的提示。因为如果编译器没有警告你,你的建议可能会派上用场,让你三思而行。 Denis Timoshin 2011.07.01 12:27 #4398 对它的使用有什么限制? W =(long)ChartGetInteger(Chart_ID[i],CHART_WIDTH_IN_PIXELS,0)。 H =(long)ChartGetInteger(Chart_ID[i],CHART_HEIGHT_IN_PIXELS,0)。 W_B =(long)ChartGetInteger(Chart_ID[i],CHART_WIDTH_IN_BARS,0)。 从void OnInit()中调用函数,一切都正确,但从void OnTick()中,数据不正确,特别是CHART_WIDTH_IN_BARS给出了可见的条数,尽管我知道应该给出适合于图表的条数,而不是偏移。 Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков www.mql5.com Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков - Документация по MQL5 Yedelkin 2011.07.01 16:45 #4399 Virty: 对不起,我的问题太原始了。 交易查询没有运行。错误10014--请求中错误的体积。 我怎样才能从EA内部了解/计算出我目前可以买入的最大和最小 手数? OrderCheck函数不适合,因为它只检查,没有说可以买多少手。 请看ENUM_SYMBOL_INFO_DOUBLE枚举和 相应的函数。这就是你的意思吗? Гребенев Вячеслав 2011.07.01 17:44 #4400 Yedelkin: 参见ENUM_SYMBOL_INFO_DOUBLE枚举和 相应函数。你是这个意思吗? 是的,谢谢你。SYMBOL_VOLUME_MAX 是我自己发现的,你也帮了忙。 Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте www.mql5.com Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5 1...433434435436437438439440441442443444445446447...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
请计算你的负值的结果,并将其与32位的int相关联,然后阅读关于算术溢出的知识,找到你的17天。
欢迎来到真正的编程世界。
我没有问 "17天是怎么来的?我再重复一遍:我在测试器中发现了一个我不理解的情况,告诉了我,得到的解释是:(1)Sleep()函数 对负值也有作用,它给出了一个非零的延迟,(2)Sleep()函数的工作在测试器中是模拟的。如果开发商认为可以接受,我可以退回什么?没有必要精确计算17天。
你有什么建议?在紧急情况下终止方案?
是的,我们没有看到大象。
我对这句话有强烈的怀疑。
而在这种情况下。
在我看来,编译器不应该错过这个。你有什么吗?连一个警告都没有?如果没有,请向服务台提出请求。好吗?
第154746号 申请
我们如何获得s1.open数组中具有最大/最小值的元素的序列号?
在这种情况下,我在 "睡眠功能 "部分有一条指令就足够了......(2)"睡眠()功能完全被测试者支持"。
我们在另一篇文章《MetaTrader 5的测试 基础》中强调了有关测试的基本问题。在这里,我们试图解释使用测试器中各种功能的大部分细微差别。我们还解释了函数Sleep()。
测试器中的Sleep()函数
Sleep() 函数允许你在专家顾问或脚本中暂停mql5程序的执行一段时间,当在一个图表上工作时。当请求一些数据时,这可能是必要的,因为在请求时这些数据还没有准备好,你需要等到它们准备好。关于Sleep()函数使用的详细例子可以在数据访问组织 部分找到。
在测试器中,对Sleep()的调用不会延迟测试过程。 当调用Sleep()时,生成的ticks在指定的延迟内被 "播放",这可能会触发挂单、停止等。在Sleep()被调用后,测试器中模拟的时间被增加了Sleep函数参数中指定的时间间隔。
如果由于Sleep()的执行,测试器中的当前时间超过了测试期的结束,将收到一个 "Sleep中的无限循环 "的错误。如果发生这样的错误,测试结果不会被丢弃,所有的计算都会完成(交易数量、缩减等),结果会传给终端。
函数Sleep()在OnDeinit()中不会起作用,因为在它被调用后,测试时间保证会超过测试间隔。
图7.在MetaTrader 5终端测试器中使用Sleep()函数的方案。
我们在另一篇文章中具体介绍了测试的主要问题,即MetaTrader 5中的测试 基础知识。在这本书中,我们试图解释使用测试器中各种功能的大部分细微差别。我们还解释了Sleep()函数。
对不起,这确实是我的错,我已经9个月没有测试了,错过了这篇文章。
如果能在《参考指南》的相应章节中提到关键的文章就更好了(我去年已经提出过类似的建议,但今天是一个再次提出的好机会)。毕竟,我们首先都在使用F1。
这里有几个人试图指出你的算术溢出的简单错误。
就是说,你没有按我的要求去做。
这里有几个人想指出你的简单算术溢出错误。
==============================================================
你问。
你能不能好心地计算一下你的负值的结果,将其与32位的int相关联,然后阅读一下关于算术溢出的知识,找到你的17天......
我回答说:是的,我没有问 "17天到底是从哪里来的?":) 等。
回答你目前的问题。你所要求的--我没有做。因为这是我昨天做的(我的初始数据略有不同,但本质上是我理解的)。如果有人编译了那个脚本,我就会收到多达两个警告。溢出/断流--我昨天自己处理了这个问题。
问题是,为什么(1)函数在参数为负值的情况下运行,以及(2)对于这样的参数在测试器中给出一个延迟。然而,你又指出 "程序员的错误 "与int类型的溢出。- 也就是说,你拒绝我的测试样本只是因为在选择Sleep()函数参数时指定了 "溢出的值"。但重点不在 "溢出的价值"。这只是对测试样本的一个额外的触摸。看来参加讨论的人都明白。最后,你可以在测试的例子中插入 "不溢出的价值"--在所有其他条件相同的情况下,问题的本质将保持不变(问题本身已经处理过了)。
总之,谢谢你的提示。因为如果编译器没有警告你,你的建议可能会派上用场,让你三思而行。
对它的使用有什么限制? W =(long)ChartGetInteger(Chart_ID[i],CHART_WIDTH_IN_PIXELS,0)。
H =(long)ChartGetInteger(Chart_ID[i],CHART_HEIGHT_IN_PIXELS,0)。
W_B =(long)ChartGetInteger(Chart_ID[i],CHART_WIDTH_IN_BARS,0)。
从void OnInit()中调用函数,一切都正确,但从void OnTick()中,数据不正确,特别是CHART_WIDTH_IN_BARS给出了可见的条数,尽管我知道应该给出适合于图表的条数,而不是偏移。
对不起,我的问题太原始了。
交易查询没有运行。错误10014--请求中错误的体积。
我怎样才能从EA内部了解/计算出我目前可以买入的最大和最小 手数?
OrderCheck函数不适合,因为它只检查,没有说可以买多少手。
参见ENUM_SYMBOL_INFO_DOUBLE枚举和 相应函数。你是这个意思吗?