错误、漏洞、问题 - 页 951 1...944945946947948949950951952953954955956957958...3184 新评论 w1sp 2013.03.30 17:08 #9501 是否可以在MQL5中编写一个参数数量可变的函数?例如,像StringConcatenate(...)或Print(...)? Snaf 2013.03.30 19:02 #9502 skteks:我在策略测试器中 测试了标准的ExpertMACD专家顾问,它与MT5一起交付,它产生了错误。2013.03.30 19:18:09 核心2的遗传密码(0, 15)在46毫秒内被测试出错误 "OnInit failed"2013.03.30 19:18:08 核心 1 遗传通 (0, 13) 测试,错误 "OnInit failed",时间为32 ms2013.03.30 19:18:07 核心2的遗传密码(0, 5)在0毫秒内被测试出错误 "OnInit failed"。我通过搜索发现,错误在模块中。"SignalMACD "在优化快速和慢速MACD周期时(在策略测试器参数中打勾)。有没有人遇到过这样的问题,如何处理?(当只有一个刻度线时,它不知何故能工作,但只要你检查两个刻度线,就会出现错误。)设置不同的变化范围 慢和快。该错误将消失。你可以不理会它。 Dmitriy Parfenovich 2013.03.30 19:04 #9503 w1sp: 是否可以在MQL5中编写一个参数数量可变的函数?例如,像在StringConcatenate(...)或Print(...)? 是的,你可以,这被称为函数重载。 Snaf 2013.03.30 19:07 #9504 w1sp: 是否可以在MQL5中编写一个具有可变参数数量的函数?例如,像StringConcatenate(...)或Print(...)?例如,你可以做一个数组,其大小将等于你的参数数量,作为参数。 w1sp 2013.03.30 19:33 #9505 我对StringConcatenate 中的可变参数数感兴趣。像这样:string Concatenate(string s, ...); 这可能吗? Snaf 2013.03.30 22:20 #9506 w1sp: 我对像StringConcatenate中的可变数量的参数感兴趣。像这样:string Concatenate(string s, ...); 这可能吗?类似的情况是可能的。一个函数最多可以传入64个参数。void OnStart() { string s1=Foo("5"); string s2=Foo("5","t"); // string s=Foo(,"5"); // Ошибка } //+------------------------------------------------------------------+ string Foo(string i0="", string i1="", string i2="") { string rez=i0+i1+i2; return rez; } w1sp 2013.03.30 22:52 #9507 Snaf:类似的情况是可能的。一个函数最多可以传入64个参数。而我们只有通过重载才能得到所有参数的任意类型?也就是说,不仅字符串,而且双数也可以传递给一个函数,例如:字符串s = Concatenate("abc",2.0, "def")。 Snaf 2013.03.30 23:26 #9508 w1sp:而所有参数的任意类型只有通过重载才能实现?也就是说,不仅字符串,而且双数也可以传给函数,例如:字符串s = Concatenate("abc",2.0, "def")。void OnStart() { //string s1=Foo("5"); // Это теперь ошибка. Компилятор не знаек какой функцией из двух пользоваться string s2=Foo("5",3.0); // string s=Foo(,"5"); // Ошибка } //+------------------------------------------------------------------+ string Foo(string i0="", string i1="", string i2="") { string rez=i0+i1+i2; return rez; } string Foo(string i0="", double i1=2.0, string i2="") { string rez; if (i1>2.0) {rez=i0+i2;} else rez=i0+"99"+i2; return rez; } w1sp 2013.03.31 08:44 #9509 Snaf: 谢谢你。明白了。做一个有64个字符串类型的 参数的函数,并为除第一个参数外的所有参数添加默认值就足够了。 Документация по MQL5: Основы языка / Типы данных / Тип string www.mql5.com Основы языка / Типы данных / Тип string - Документация по MQL5 aps 2013.03.31 20:49 #9510 你好。升级MT5构建后,该指标在测试器中不再正常显示,在终端本身则正常显示。该指标相当复杂,资源密集(ZUP),我把它从MT4翻译到MT5。在测试器中,Bild 756 ZigZag线显示正常,在测试器后Bild 770 - ZigZag价格值正确,但时间框架不正确(移位,不均匀)ZigZag - 输出缓冲器。同时,图形对象(三角形、直线等,顺便说一下,它们是基于输出缓冲区的数据(ZigZag也是如此))正常显示。请帮助我理解这一点。 1...944945946947948949950951952953954955956957958...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我在策略测试器中 测试了标准的ExpertMACD专家顾问,它与MT5一起交付,它产生了错误。
2013.03.30 19:18:09 核心2的遗传密码(0, 15)在46毫秒内被测试出错误 "OnInit failed"
2013.03.30 19:18:08 核心 1 遗传通 (0, 13) 测试,错误 "OnInit failed",时间为32 ms
2013.03.30 19:18:07 核心2的遗传密码(0, 5)在0毫秒内被测试出错误 "OnInit failed"。
我通过搜索发现,错误在模块中。"SignalMACD "在优化快速和慢速MACD周期时(在策略测试器参数中打勾)。
有没有人遇到过这样的问题,如何处理?(当只有一个刻度线时,它不知何故能工作,但只要你检查两个刻度线,就会出现错误。)
设置不同的变化范围 慢和快。该错误将消失。你可以不理会它。
是否可以在MQL5中编写一个参数数量可变的函数?例如,像在StringConcatenate(...)或Print(...)?
是否可以在MQL5中编写一个具有可变参数数量的函数?例如,像StringConcatenate(...)或Print(...)?
例如,你可以做一个数组,其大小将等于你的参数数量,作为参数。
我对像StringConcatenate中的可变数量的参数感兴趣。像这样:string Concatenate(string s, ...); 这可能吗?
类似的情况是可能的。一个函数最多可以传入64个参数。
类似的情况是可能的。一个函数最多可以传入64个参数。
而我们只有通过重载才能得到所有参数的任意类型?也就是说,不仅字符串,而且双数也可以传递给一个函数,例如:字符串s = Concatenate("abc",2.0, "def")。
而所有参数的任意类型只有通过重载才能实现?也就是说,不仅字符串,而且双数也可以传给函数,例如:字符串s = Concatenate("abc",2.0, "def")。