错误、漏洞、问题 - 页 2490 1...248324842485248624872488248924902491249224932494249524962497...3184 新评论 Alexey Viktorov 2019.06.30 07:14 #24891 Slava: 你仔细阅读了我在下面帖子中的引文吗? 自从引入 "每个图表 的最大条数 " 设置后,即从MT4开始,这种行为就一直存在。在这15年中,我们已经多次解释过,为什么我们不是每次都按照这个设定来削减酒吧的数量。而现在我们并不是每次都削减。 没有人读过文件。但这是一个悖论。他们仍然要求我们在他们不看的文件中写些别的东西。 斯拉瓦, 我没有抱怨。我仔细阅读了,不仅是你的引文,还有这一段 关于交易、自动交易系统和交易策略测试的论坛 虫子,虫子,问题 斯拉瓦, 2019.06.29 18:25 rates_total总是显示当前图表上可用的 条数。 我不明白你这句话的意思 而这 关于交易、自动交易系统和策略测试的论坛 虫子,虫子,问题 斯拉瓦, 2019.06.29 18:42 我现在手头没有客户终端,无法引用帮助。从移动设备上点击两下https://www.metatrader5.com/ru/terminal/help/startworking/settings#max_bars 特别强调的段落。 为了更经济的计算,指标可以有比 "窗口最大条数 "参数中指定的更多条数。 随着新条形图的到来,旧条形图不会立即从数据缓存中删除。这允许指标不在每个新条形上完全重新计算,而只是为新条形额外计算其数值。 我已经不止一次地阅读过文件。但我已经在最近开始的终端上做了图片。窗口中只有5000条,新的还没有来得及加载。 当然,我有不明白的地方,这就是为什么我再次询问并试图了解。我想不会有任何变化。请不要把我的陈述当作是一种抱怨。 Alexey Viktorov 2019.06.30 07:25 #24892 Igor Makanu: 该参考资料不正确,有误导性,我写道:https://www.mql5.com/ru/forum/304239/page57#comment_11519307 在MQL5中,缓冲区一般像平常的数组一样工作,在MT4中,终端处理缓冲区 - 它将它们重置为EMPTY_VALUE,然后 ...我不记得我在哪里写过关于MT5和MT4指标的区别了 你需要清除缓冲区--你把它们当作一个普通的数组来清除,终端只设置数组-缓冲区本身的大小。 伊戈尔,你能不能用简单的俄语解释一下:如果指标缓冲区的每个洞都将被填充一些数值,这些数值将取代那里的垃圾,在用正确的数值填充这些洞之前,强迫这些洞的目的是什么?对于执行速度的损失? Igor Makanu 2019.06.30 07:42 #24893 Alexey Viktorov: 伊戈尔,你能不能用简单的俄语解释一下:如果指标缓冲区的每个洞都将被填充一些数值,以取代其中的垃圾,那么在填充所需的数值之前强行清除这些洞的目的是什么?对于执行速度的损失? 填补 "洞 "只在有 "箭头 "的指标中至关重要,在MT4的指标初始化过程中,这些 "洞 "将由EMPTY_VALUE值自动填补。 在MT5中,它必须由程序员来完成。 或者在MT5中,程序员应该通过if()else结构填充指标缓冲区。 也就是说,这将在MT4中发挥作用。 if(...) Buf[i] = high[i]; 在MT5中,你必须写。 if(...) Buf[i] = high[i]; else Buf[i] = EMPTY_VALUE; 或者在MT5中,你需要清除指标缓冲区,否则当你切换TF时,指标将从数组中抽取 "垃圾",这是由指标缓冲区....。如何写,考虑什么,是一个品味的问题 SZY: 速度? 好吧,测量一下速度,在99%的情况下,内置函数更快,但在循环中填充每一个条状物EMPTY_VALUE和用ArrayInitialize(Buf,EMPTY_VALUE)进行一次初始化之间,性能上没有区别。 Alexey Viktorov 2019.06.30 07:57 #24894 Igor Makanu: 填补 "洞 "只在有 "箭头 "的指标中至关重要,在MT4的指标初始化过程中,这些 "洞 "将由EMPTY_VALUE值自动填补。 在MT5中,它必须由程序员来完成。 或者在MT5中,程序员应该通过if()else结构填充指标缓冲区。 也就是说,这将在MT4中发挥作用。 在MT5中,你必须要写。 或者在MT5中,你需要清除指标缓冲区,否则当你切换TF时,指标将从数组中抽取 "垃圾",这是由指标缓冲区....。如何写,考虑什么,是一个品味的问题 好吧,衡量一下速度,在99%的情况下,内置函数运行得更快,但在EMPTY_VALUE循环中填充每个条,和用ArrayInitialize(Buf,EMPTY_VALUE)初始化一次,性能上没有区别。 这一切都只是一种唠叨。以前就是这样,我也想这样,很难改变我的习惯和其他原因。 if else结构可以很容易地被替换成 Buf[i] = условие ? high[i] : EMPTY_VALUE; Igor Makanu 2019.06.30 08:22 #24895 Alexey Viktorov: 这一切都只是唠叨。这就是过去的方式,这就是我想要的方式,很难改变我的习惯和其他原因。 if else结构很容易被替换成 如果我很挑剔的话,在C++或C#中提高性能的技巧建议不要使用 "条件运算符? :" 我想我曾经读过一篇关于Habra的文章(我没有测试过,我尽可能地写得方便)。 ;) Artyom Trishkin 2019.06.30 08:29 #24896 Igor Makanu: 如果我很挑剔的话,关于如何在C++或C#中提高性能的建议是,不要使用 "条件运算符? :" 我想我曾经读过一篇关于Habra的文章(我没有测试过,我自己写的东西尽可能的方便)。 ;) 编译器不是白痴,优化效果比Habra上的大师还要好。 Igor Makanu 2019.06.30 08:42 #24897 Artyom Trishkin: 这里的编译器不是白痴,而且比Hubr上的 "大师 "们优化得更好。 在这样的场合,我总是重复:"太阳在早晨升起,在晚上落下......"- 你看到这里有什么逻辑吗?- 是的,这符合逻辑,但我的句子里有信息吗?- 它不在那里。 我不会测试它?:, 编译机....Hubr,好... Igor Makanu 2019.06.30 09:47 #24898 Igor Makanu: 我不会测试它?: 测试了MT5。 2019.06.30 13:37:04.230 tst (EURUSD,H1) Testing if() cycles=999999999999 time=10859 ms 2019.06.30 13:37:15.116 tst (EURUSD,H1) 测试 ?: cycles=999999999999 time=10891 ms 2019.06.30 13:38:05.348 tst (EURUSD,H1) Testing if() cycles=999999999999 time=10843 ms 2019.06.30 13:38:16.190 tst (EURUSD,H1) 测试 ?: cycles=999999999999 time=10844 ms 2019.06.30 13:38:32.111 tst (EURUSD,H1) Testing if() cycles=999999999999 time=10860 ms 2019.06.30 13:38:42.955 tst (EURUSD,H1) 测试 ?: cycles=999999999999 time=10843 ms 测试了MT4。 2019.06.30 13:46:09.087 tst EURUSD,H1: 测试 ?: cycles=999999999999 time=33234 ms 2019.06.30 13:45:35.854 tst EURUSD,H1: Testing if() cycles=999999999999 time=32953 ms 2019.06.30 13:44:43.421 tst EURUSD,H1: 测试 ?: cycles=999999999999 time=333298 ms 2019.06.30 13:44:10.094 tst EURUSD,H1: Testing if() cycles=999999999999 time=33016 ms 2019.06.30 13:42:56.925 tst EURUSD,H1: 测试 ?: cycles=999999999999 time=33344 ms 2019.06.30 13:42:23.584 tst EURUSD,H1: Testing if() cycles=999999999999 time=32953 ms MT的开发者们,一如既往地站在游戏的顶端! Errors, bugs, questions Better NN EA development PREDICT time period Alexey Navoykov 2019.06.30 11:58 #24899 我注意到很久了,在一个大项目 中高亮显示自定义宏名称并不总是有效。 许多在其他文件中定义的宏由于某种原因没有被高亮显示。 我还搞不清楚其中的规律。 我所看到的是,在某个文件中定义的所有宏在某一行之后在其他文件中停止高亮显示。 有没有人自己看到这种情况? Alexey Viktorov 2019.06.30 12:04 #24900 Alexey Navoykov: 我注意到很久了,在一个大项目中,用户定义的宏名称的高亮显示并不总是有效。 许多在其他文件中定义的宏由于某种原因没有被高亮显示。 我还找不到模式。 我所看到的是,所有在某个文件中定义的宏在某一行之后在其他文件中停止高亮显示。 有没有人看到自己发生这种情况? 我注意到,如果你作为任何函数的参数来写,它就不会亮起来。我认为这不是一个完整的匹配类型。或者说,如何更准确地称呼它,我不知道。 1...248324842485248624872488248924902491249224932494249524962497...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你仔细阅读了我在下面帖子中的引文吗?
自从引入 "每个图表 的最大条数 " 设置后,即从MT4开始,这种行为就一直存在。在这15年中,我们已经多次解释过,为什么我们不是每次都按照这个设定来削减酒吧的数量。而现在我们并不是每次都削减。
没有人读过文件。但这是一个悖论。他们仍然要求我们在他们不看的文件中写些别的东西。
斯拉瓦, 我没有抱怨。我仔细阅读了,不仅是你的引文,还有这一段
关于交易、自动交易系统和交易策略测试的论坛
虫子,虫子,问题
斯拉瓦, 2019.06.29 18:25
rates_total总是显示当前图表上可用的 条数。
我不明白你这句话的意思
而这
关于交易、自动交易系统和策略测试的论坛
虫子,虫子,问题
斯拉瓦, 2019.06.29 18:42
我现在手头没有客户终端,无法引用帮助。从移动设备上点击两下https://www.metatrader5.com/ru/terminal/help/startworking/settings#max_bars
特别强调的段落。
为了更经济的计算,指标可以有比 "窗口最大条数 "参数中指定的更多条数。 随着新条形图的到来,旧条形图不会立即从数据缓存中删除。这允许指标不在每个新条形上完全重新计算,而只是为新条形额外计算其数值。
当然,我有不明白的地方,这就是为什么我再次询问并试图了解。我想不会有任何变化。请不要把我的陈述当作是一种抱怨。
该参考资料不正确,有误导性,我写道:https://www.mql5.com/ru/forum/304239/page57#comment_11519307
在MQL5中,缓冲区一般像平常的数组一样工作,在MT4中,终端处理缓冲区 - 它将它们重置为EMPTY_VALUE,然后 ...我不记得我在哪里写过关于MT5和MT4指标的区别了
你需要清除缓冲区--你把它们当作一个普通的数组来清除,终端只设置数组-缓冲区本身的大小。
伊戈尔,你能不能用简单的俄语解释一下:如果指标缓冲区的每个洞都将被填充一些数值,这些数值将取代那里的垃圾,在用正确的数值填充这些洞之前,强迫这些洞的目的是什么?对于执行速度的损失?
伊戈尔,你能不能用简单的俄语解释一下:如果指标缓冲区的每个洞都将被填充一些数值,以取代其中的垃圾,那么在填充所需的数值之前强行清除这些洞的目的是什么?对于执行速度的损失?
填补 "洞 "只在有 "箭头 "的指标中至关重要,在MT4的指标初始化过程中,这些 "洞 "将由EMPTY_VALUE值自动填补。
在MT5中,它必须由程序员来完成。
或者在MT5中,程序员应该通过if()else结构填充指标缓冲区。
也就是说,这将在MT4中发挥作用。
if(...) Buf[i] = high[i];
在MT5中,你必须写。
或者在MT5中,你需要清除指标缓冲区,否则当你切换TF时,指标将从数组中抽取 "垃圾",这是由指标缓冲区....。如何写,考虑什么,是一个品味的问题
SZY: 速度? 好吧,测量一下速度,在99%的情况下,内置函数更快,但在循环中填充每一个条状物EMPTY_VALUE和用ArrayInitialize(Buf,EMPTY_VALUE)进行一次初始化之间,性能上没有区别。
填补 "洞 "只在有 "箭头 "的指标中至关重要,在MT4的指标初始化过程中,这些 "洞 "将由EMPTY_VALUE值自动填补。
在MT5中,它必须由程序员来完成。
或者在MT5中,程序员应该通过if()else结构填充指标缓冲区。
也就是说,这将在MT4中发挥作用。
在MT5中,你必须要写。
或者在MT5中,你需要清除指标缓冲区,否则当你切换TF时,指标将从数组中抽取 "垃圾",这是由指标缓冲区....。如何写,考虑什么,是一个品味的问题
好吧,衡量一下速度,在99%的情况下,内置函数运行得更快,但在EMPTY_VALUE循环中填充每个条,和用ArrayInitialize(Buf,EMPTY_VALUE)初始化一次,性能上没有区别。
这一切都只是一种唠叨。以前就是这样,我也想这样,很难改变我的习惯和其他原因。
if else结构可以很容易地被替换成
Buf[i] = условие ? high[i] : EMPTY_VALUE;
这一切都只是唠叨。这就是过去的方式,这就是我想要的方式,很难改变我的习惯和其他原因。
if else结构很容易被替换成
如果我很挑剔的话,在C++或C#中提高性能的技巧建议不要使用 "条件运算符? :" 我想我曾经读过一篇关于Habra的文章(我没有测试过,我尽可能地写得方便)。
;)
如果我很挑剔的话,关于如何在C++或C#中提高性能的建议是,不要使用 "条件运算符? :" 我想我曾经读过一篇关于Habra的文章(我没有测试过,我自己写的东西尽可能的方便)。
;)
这里的编译器不是白痴,而且比Hubr上的 "大师 "们优化得更好。
在这样的场合,我总是重复:"太阳在早晨升起,在晚上落下......"- 你看到这里有什么逻辑吗?- 是的,这符合逻辑,但我的句子里有信息吗?- 它不在那里。
我不会测试它?:, 编译机....Hubr,好...
我不会测试它?:
测试了MT5。
2019.06.30 13:37:04.230 tst (EURUSD,H1) Testing if() cycles=999999999999 time=10859 ms
2019.06.30 13:37:15.116 tst (EURUSD,H1) 测试 ?: cycles=999999999999 time=10891 ms
2019.06.30 13:38:05.348 tst (EURUSD,H1) Testing if() cycles=999999999999 time=10843 ms
2019.06.30 13:38:16.190 tst (EURUSD,H1) 测试 ?: cycles=999999999999 time=10844 ms
2019.06.30 13:38:32.111 tst (EURUSD,H1) Testing if() cycles=999999999999 time=10860 ms
2019.06.30 13:38:42.955 tst (EURUSD,H1) 测试 ?: cycles=999999999999 time=10843 ms
2019.06.30 13:46:09.087 tst EURUSD,H1: 测试 ?: cycles=999999999999 time=33234 ms
2019.06.30 13:45:35.854 tst EURUSD,H1: Testing if() cycles=999999999999 time=32953 ms
2019.06.30 13:44:43.421 tst EURUSD,H1: 测试 ?: cycles=999999999999 time=333298 ms
2019.06.30 13:44:10.094 tst EURUSD,H1: Testing if() cycles=999999999999 time=33016 ms
2019.06.30 13:42:56.925 tst EURUSD,H1: 测试 ?: cycles=999999999999 time=33344 ms
2019.06.30 13:42:23.584 tst EURUSD,H1: Testing if() cycles=999999999999 time=32953 ms
我注意到很久了,在一个大项目中,用户定义的宏名称的高亮显示并不总是有效。 许多在其他文件中定义的宏由于某种原因没有被高亮显示。 我还找不到模式。 我所看到的是,所有在某个文件中定义的宏在某一行之后在其他文件中停止高亮显示。 有没有人看到自己发生这种情况?
我注意到,如果你作为任何函数的参数来写,它就不会亮起来。我认为这不是一个完整的匹配类型。或者说,如何更准确地称呼它,我不知道。