错误、漏洞、问题 - 页 2570 1...256325642565256625672568256925702571257225732574257525762577...3184 新评论 Vladimir Simakov 2019.09.20 06:27 #25691 Nikolai Semko: 字符串是空的,就像它不存在一样,也就是说,甚至没有分配内存。 这一点在其他类型中也能观察到。如果你声明了一个变量,这意味着内存已经被分配。 但事实上,字符串不是一个原始类型,而是一个引用类型。 怎么可能不是呢?字符串对象的内存是在堆中分配的,文本开始的内存地址是0x00。 Vladimir Karputov 2019.09.20 06:37 #25692 Igor Makanu: 不知道如何检查PrintFormat 注意事项 PrintFormat()在优化模式下的 策略测试器中 不被执行。 有什么想法吗? StringFormat 和产生的字符串到一个文件中如何?(对于每一次通过在共享文件夹中创建自己的文件--这样测试者就不会覆盖它们)。 Nikolai Semko 2019.09.20 06:41 #25693 Vladimir Simakov: 怎么可能不是呢?字符串对象的内存是在堆中分配的,而文本开始的内存地址是0x00 内存只为名称和引用分配,但不为对象本身分配,因为它还不存在。原始类型则不然,在变量被创建的那一刻,内存就被分配到那里了,即使没有初始化。 我不想为这些术语而烦恼。反正大家都能理解对方。 这一切都很明显。 Igor Makanu 2019.09.20 06:56 #25694 Vladimir Karputov: StringFormat 和产生的字符串到一个文件中如何?(在共享文件夹中为每一次通过创建不同的文件--这样测试人员就不会覆盖它们)。 好的选择,将测试 ZS:再次重写了代码,以便在优化器中更快地工作(结果是5小时,现在是1.5小时!!)。 现在我在帮助中看到了printf(),并决定检查我所有的打印,在我需要替换....,我替换了它,优化变成了22h .... 我找到了我搞砸的地方,但当然我马上想到这都是printf()的问题!! ))) 我试图在优化器中检查printf()。 int xx=10; void OnTick() { printf("1/x = %f",1/(xx--)); .... 到目前为止,我马上就得到了我所期望的。 2019.09.20 11:29:16.611 Core 1 genetic pass (0, 607) tested with error "critical runtime error 503 in OnTick function (zero divide, module experts\) " at 0:00:00.048 我在想,如果它说"PrintFormat()没有被执行。",那么它应该得到这个。 Errors, bugs, questions MT5的策略回测问题非常多 初学者的问题 MQL5 MT5 MetaTrader Aliaksandr Hryshyn 2019.09.20 08:59 #25695 我曾有过这样的经历:代码优化 使执行速度提高了450倍:)。 Slava 2019.09.20 09:55 #25696 Igor Makanu: 好的选择,将测试 SZY:再次重写了代码,以便在优化器中更快地工作(结果是5小时,现在是1.5小时!!)。 现在我在帮助中碰到了printf(),并决定检查我所有的打印,在需要替换的地方....,我替换了它,优化变得22小时....,我找到了我搞砸的地方,当然,马上想到了所有的原因在printf()!!! ))) 我试图在优化器中检查printf()。 到目前为止,我马上就得到了我所期望的。 2019.09.20 11:29:16.611 Core 1 genetic pass (0, 607) tested with error "critical runtime error 503 in OnTick function (zero divide, module experts\) " at 0:00:00.048 我在想,如果它说"PrintFormat()没有被执行。",那么它应该得到它。 啊哈,在单一测试和优化中得到不同的变量xx的值。 只有printf函数调用 没有被执行。 Igor Makanu 2019.09.20 10:23 #25697 Slava: 啊哈,在单一测试和优化中得到不同的变量xx的值。 只有对printf函数 的调用没有被执行。 是的,很明显,用户也可以这样做 但如何检查printf()? HH:虽然,如果开发商说没有印刷,那么我们就不必检查。 Slava 2019.09.20 10:53 #25698 Igor Makanu: 但你如何检查printf()? 比较优化后的单次通过时间和单次通过的时间 [删除] 2019.09.20 12:04 #25699 Slava: 我将复制它。 关于交易、自动交易系统和交易策略测试的论坛 虫子、虫子、问题 Alexey Kozitsyn, 2019.09.18 09:34 关于该平台的几个问题。 1.通过MOEX为VP增加一个允许的交易范围(如EURRUB_TOM)?现在不可能确定是否会放出限价,因为无法获得范围(最大和最小的可能价格)。请添加。 2.是否可以在终端和元编辑中加入每隔N分钟自动保存的状态?非常缺乏,因为突然断开连接,你又回到了程序开始时的状态,失去了所有的变化!这是不可能的。非常有压力! 关于第一点:要明白,如果你不知道局限性,就不可能正常交易!这一点是很重要的。为什么有些乐器可以得到这些限制,而其他乐器却不能? Igor Makanu 2019.09.20 14:10 #25700 帮助又错了,我读的是:https://www.mql5.com/ru/docs/math/mathmax Функция возвращает максимальное из двух числовых значений. double MathMax( double value1, // первое число double value2 // второе число ); 我看到没有任何选项,函数类型fmax() double ,寻找我可能丢失分数值的地方,在寻找任何东西和所有东西之后,我运行测试。 void OnStart() { long slvl = SymbolInfoInteger(_Symbol, SYMBOL_TRADE_STOPS_LEVEL); int sl = 300; Print(typename(fmax(slvl,sl))); } 2019.09.20 18:06:34.194 tst (EURUSD,H1) long ZS:我马上回答,我把帮助读到最后,看到这句话:"返回值类型与高级类型相对应"。...我认为,这并不严重,在99%的情况下,在帮助中寻找函数的描述就足够了,而不是在行间寻找隐藏的意义--它写的是结果类型fmin() --> double --所以没有变体,如果 1...256325642565256625672568256925702571257225732574257525762577...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
字符串是空的,就像它不存在一样,也就是说,甚至没有分配内存。
这一点在其他类型中也能观察到。如果你声明了一个变量,这意味着内存已经被分配。
但事实上,字符串不是一个原始类型,而是一个引用类型。
不知道如何检查PrintFormat
注意事项
PrintFormat()在优化模式下的 策略测试器中 不被执行。
有什么想法吗?
StringFormat 和产生的字符串到一个文件中如何?(对于每一次通过在共享文件夹中创建自己的文件--这样测试者就不会覆盖它们)。
怎么可能不是呢?字符串对象的内存是在堆中分配的,而文本开始的内存地址是0x00
内存只为名称和引用分配,但不为对象本身分配,因为它还不存在。原始类型则不然,在变量被创建的那一刻,内存就被分配到那里了,即使没有初始化。
我不想为这些术语而烦恼。反正大家都能理解对方。
这一切都很明显。
StringFormat 和产生的字符串到一个文件中如何?(在共享文件夹中为每一次通过创建不同的文件--这样测试人员就不会覆盖它们)。
好的选择,将测试
ZS:再次重写了代码,以便在优化器中更快地工作(结果是5小时,现在是1.5小时!!)。
现在我在帮助中看到了printf(),并决定检查我所有的打印,在我需要替换....,我替换了它,优化变成了22h .... 我找到了我搞砸的地方,但当然我马上想到这都是printf()的问题!!
)))
我试图在优化器中检查printf()。
到目前为止,我马上就得到了我所期望的。
2019.09.20 11:29:16.611 Core 1 genetic pass (0, 607) tested with error "critical runtime error 503 in OnTick function (zero divide, module experts\) " at 0:00:00.048
我在想,如果它说"PrintFormat()没有被执行。",那么它应该得到这个。
好的选择,将测试
SZY:再次重写了代码,以便在优化器中更快地工作(结果是5小时,现在是1.5小时!!)。
现在我在帮助中碰到了printf(),并决定检查我所有的打印,在需要替换的地方....,我替换了它,优化变得22小时....,我找到了我搞砸的地方,当然,马上想到了所有的原因在printf()!!!
)))
我试图在优化器中检查printf()。
到目前为止,我马上就得到了我所期望的。
2019.09.20 11:29:16.611 Core 1 genetic pass (0, 607) tested with error "critical runtime error 503 in OnTick function (zero divide, module experts\) " at 0:00:00.048
我在想,如果它说"PrintFormat()没有被执行。",那么它应该得到它。
啊哈,在单一测试和优化中得到不同的变量xx的值。
只有printf函数调用 没有被执行。
啊哈,在单一测试和优化中得到不同的变量xx的值。
只有对printf函数 的调用没有被执行。
是的,很明显,用户也可以这样做
但如何检查printf()?
HH:虽然,如果开发商说没有印刷,那么我们就不必检查。
但你如何检查printf()?
比较优化后的单次通过时间和单次通过的时间
我将复制它。
关于交易、自动交易系统和交易策略测试的论坛
虫子、虫子、问题
Alexey Kozitsyn, 2019.09.18 09:34
关于该平台的几个问题。
1.通过MOEX为VP增加一个允许的交易范围(如EURRUB_TOM)?现在不可能确定是否会放出限价,因为无法获得范围(最大和最小的可能价格)。请添加。
2.是否可以在终端和元编辑中加入每隔N分钟自动保存的状态?非常缺乏,因为突然断开连接,你又回到了程序开始时的状态,失去了所有的变化!这是不可能的。非常有压力!
帮助又错了,我读的是:https://www.mql5.com/ru/docs/math/mathmax
Функция возвращает максимальное из двух числовых значений.
我看到没有任何选项,函数类型fmax() double ,寻找我可能丢失分数值的地方,在寻找任何东西和所有东西之后,我运行测试。
2019.09.20 18:06:34.194 tst (EURUSD,H1) long