错误、漏洞、问题 - 页 2044 1...203720382039204020412042204320442045204620472048204920502051...3184 新评论 fxsaber 2017.10.17 16:32 #20431 Alexey Navoykov:静态变量初始化 的问题。这在旧的构建中是不存在的。谁不介意把这个送到服务台。我再也不想和他们在那里交流了。这不是一个bug,从这里 已经讨论过了。摘自 关于交易、自动交易系统和策略测试的论坛 mql4语言的特殊性,技巧和窍门 Alexey Viktorov, 2017.04.30 08:54 初始化序列。(对于那些不了解的人来说)首先是全局变量,然后是静态 变量,根据函数的优先级排列,OnInit()、OnTick()或OnCalculate()。我对进一步不感兴趣,在我的时代,我对本地的不感兴趣。所以在这段代码中,事实证明,在静态变量被初始化 之前,函数就被调用了,因此出现了我们所说的错误。该函数在变量被初始化之前被调用 Alexey Navoykov 2017.10.17 16:54 #20432 fxsaber:这不是一个bug,从这里 已经讨论过了。摘自所以,如果它是在你和Alexey Viktorov之间讨论的,那你就有理由相信这不是一个错误?)而且这个人自己说,他的编程知识水平比你低得多。也就是说,他可以从名单上划掉。你是唯一剩下的人)。与自己讨论过,所以这不是一个错误)。这是一个错误。原则上不能这样,变量的初始化会被忽略,代码会跳过它而继续执行。这是无稽之谈。而初始化的顺序在这里并不重要。该变量要么被初始化,要么编译器在此产生错误。没有第三条路。否则它就不是一种编程语言,而是其他东西。 Alexey Navoykov 2017.10.17 17:00 #20433 新版本中的另一个错误。template<typename T> int F1(const T& array[]) { return ArrayMaximum(array); } template<typename T> int F2(const T& array[]) { return F1(array); } void OnStart() { int arr[4]= { 1, 2, 3 }; Print(F2(arr)); // Выдаёт -1 !!! }诶,这太粗俗了。我想我应该升级到新的构建,因为旧的构建不接受市场中的产品。这里有一个虫子上的虫子! Alexey Viktorov 2017.10.17 17:05 #20434 Alexey Navoykov:所以,如果这是你和Alexey Viktorov之间讨论过的,那你就有理由相信这不是一个错误?)而且这个人自己说,他的编程知识水平比你低得多。也就是说,他可以从名单上划掉。你是唯一剩下的人)。与自己讨论过,所以这不是一个错误)。这是一个错误。原则上不能这样,变量的初始化会被忽略,代码会跳过它而继续执行。这是无稽之谈。而初始化的顺序在这里并不重要。该变量要么被初始化,要么编译器在此产生错误。没有第三条路。否则它就不是一种编程语言,而是其他东西。你可以划掉它,我从来没有摊开手指 "我是什么样的程序员"... 而你的母亲没有告诉你要阅读文件吗?我特别为这种人插入了文档中的一段话。 有一个关于交易、自动交易系统和交易策略测试的论坛 mql4的特殊性,技巧和窍门 Alexey Viktorov, 2017.04.29 12:50 帮助中说静态变量......可以吗?自行阅读静态变量可以用一个常数或 与其类型相对应的常数表达式 进行初始化,而 不像简单的局部变量可以用任何表达式进行初始化。但不是一个函数。这就是它的工作方式#property strict #property indicator_chart_window int TestBrokenStatic() { static int stInt = 101; stInt++; return stInt; } int OnInit() { static int result = 0; result = TestBrokenStatic(); Print("TestStatic Expected result 102 - Actual result=", result); result = TestBrokenStatic(); Print("TestStatic Expected result 103 - Actual result=", result); return INIT_SUCCEEDED; } 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[]) { return rates_total; } 2017.04.29 13:49:51.546 !Test USDCHF,M15: TestStatic Expected result 103 - Actual result=103 2017.04.29 13:49:48.457 !Test USDCHF,M15: TestStatic Expected result 102 - Actual result=102 2017.04.29 13:49:40.089 Custom indicator Test\!Test USDCHF,M15: loaded successfully fxsaber 2017.10.17 17:30 #20435 Alexey Navoykov:新版本中的另一个错误。诶,这里太简陋了。我想我应该升级到新的构建,因为旧的构建不接受市场中的产品。然后有一个虫子上的虫子!而且我还说对了! Alexey Navoykov 2017.10.17 17:32 #20436 Alexey Viktorov:你可以划掉它,我从来没有摊开手指 "我是什么样的程序员"... 而你的母亲没有告诉你要阅读文件吗?特别是对于这些人,我插入了文档中的一段话 我明白了,那么我道歉,我没有马上注意到它。当然,令人惊讶的是,他们如何设法在没有人注意的情况下改变它。我不明白的是,为什么编译器对正在执行的无效操作没有反应。也就是说,在任何情况下都有一个错误。 Alexey Navoykov 2017.10.17 17:33 #20437 fxsaber:我猜对了!嗯,你是什么构造?我的是1653年。 fxsaber 2017.10.17 17:37 #20438 Alexey Navoykov:所以,如果这是你和Alexey Viktorov之间讨论过的,那你就有理由相信这不是一个错误?)而且这个人自己说,他的编程知识水平比你低得多。也就是说,他可以从名单上划掉。你是唯一剩下的人)。与自己讨论过,所以这不是一个错误)。这是一个错误。原则上不能这样,变量的初始化会被忽略,代码会跳过它而继续执行。这是无稽之谈。而初始化的顺序在这里并不重要。该变量要么被初始化,要么编译器在此产生错误。没有第三条路。否则它就不是一种编程语言,而是其他东西。如果我找到了对结果的合理(一致)解释,我就不认为这是一个错误。我认为,如果结果与C++不一致,就不能接受证明一个错误。是C++中有人这样想,也这样做。但他们可能没有这样想,因此没有这样做。这就是为什么最好不要参考外面的东西,而是依靠你自己内在的概念,即必须是什么。而这个 "自己的 "应该是真正属于自己的,这才是可取的。而不是在你获得编程经验的过程中不可察觉地强加给你 "应该是这样 "的定型观念的结果。我并不介意做错事。我在自己的耙子上慢慢学习。 fxsaber 2017.10.17 17:37 #20439 Alexey Navoykov: 嗯,你是什么构造?我有1653个。1653x64. Alexey Navoykov 2017.10.17 17:42 #20440 fxsaber:1653x64.奇怪的是,怎么会有这样的差异呢?让别人和自己一起检查。 1...203720382039204020412042204320442045204620472048204920502051...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
静态变量初始化 的问题。这在旧的构建中是不存在的。
谁不介意把这个送到服务台。我再也不想和他们在那里交流了。
这不是一个bug,从这里 已经讨论过了。摘自
关于交易、自动交易系统和策略测试的论坛
mql4语言的特殊性,技巧和窍门
Alexey Viktorov, 2017.04.30 08:54
初始化序列。(对于那些不了解的人来说)
首先是全局变量,然后是静态 变量,根据函数的优先级排列,OnInit()、OnTick()或OnCalculate()。我对进一步不感兴趣,在我的时代,我对本地的不感兴趣。所以在这段代码中,事实证明,在静态变量被初始化 之前,函数就被调用了,因此出现了我们所说的错误。该函数在变量被初始化之前被调用
这不是一个bug,从这里 已经讨论过了。摘自
所以,如果它是在你和Alexey Viktorov之间讨论的,那你就有理由相信这不是一个错误?)而且这个人自己说,他的编程知识水平比你低得多。也就是说,他可以从名单上划掉。你是唯一剩下的人)。与自己讨论过,所以这不是一个错误)。
这是一个错误。原则上不能这样,变量的初始化会被忽略,代码会跳过它而继续执行。这是无稽之谈。而初始化的顺序在这里并不重要。该变量要么被初始化,要么编译器在此产生错误。没有第三条路。否则它就不是一种编程语言,而是其他东西。
新版本中的另一个错误。
诶,这太粗俗了。我想我应该升级到新的构建,因为旧的构建不接受市场中的产品。这里有一个虫子上的虫子!
所以,如果这是你和Alexey Viktorov之间讨论过的,那你就有理由相信这不是一个错误?)而且这个人自己说,他的编程知识水平比你低得多。也就是说,他可以从名单上划掉。你是唯一剩下的人)。与自己讨论过,所以这不是一个错误)。
这是一个错误。原则上不能这样,变量的初始化会被忽略,代码会跳过它而继续执行。这是无稽之谈。而初始化的顺序在这里并不重要。该变量要么被初始化,要么编译器在此产生错误。没有第三条路。否则它就不是一种编程语言,而是其他东西。
你可以划掉它,我从来没有摊开手指 "我是什么样的程序员"...
而你的母亲没有告诉你要阅读文件吗?我特别为这种人插入了文档中的一段话。
有一个关于交易、自动交易系统和交易策略测试的论坛
mql4的特殊性,技巧和窍门
Alexey Viktorov, 2017.04.29 12:50
帮助中说静态变量......可以吗?自行阅读
但不是一个函数。
这就是它的工作方式
新版本中的另一个错误。
诶,这里太简陋了。我想我应该升级到新的构建,因为旧的构建不接受市场中的产品。然后有一个虫子上的虫子!
而且我还说对了!
你可以划掉它,我从来没有摊开手指 "我是什么样的程序员"...
而你的母亲没有告诉你要阅读文件吗?特别是对于这些人,我插入了文档中的一段话
我猜对了!
嗯,你是什么构造?我的是1653年。
所以,如果这是你和Alexey Viktorov之间讨论过的,那你就有理由相信这不是一个错误?)而且这个人自己说,他的编程知识水平比你低得多。也就是说,他可以从名单上划掉。你是唯一剩下的人)。与自己讨论过,所以这不是一个错误)。
这是一个错误。原则上不能这样,变量的初始化会被忽略,代码会跳过它而继续执行。这是无稽之谈。而初始化的顺序在这里并不重要。该变量要么被初始化,要么编译器在此产生错误。没有第三条路。否则它就不是一种编程语言,而是其他东西。
如果我找到了对结果的合理(一致)解释,我就不认为这是一个错误。我认为,如果结果与C++不一致,就不能接受证明一个错误。是C++中有人这样想,也这样做。但他们可能没有这样想,因此没有这样做。这就是为什么最好不要参考外面的东西,而是依靠你自己内在的概念,即必须是什么。而这个 "自己的 "应该是真正属于自己的,这才是可取的。而不是在你获得编程经验的过程中不可察觉地强加给你 "应该是这样 "的定型观念的结果。
我并不介意做错事。我在自己的耙子上慢慢学习。
嗯,你是什么构造?我有1653个。
1653x64.
1653x64.
奇怪的是,怎么会有这样的差异呢?
让别人和自己一起检查。