mql5语言的特点、微妙之处以及技巧 - 页 131 1...124125126127128129130131132133134135136137138...247 新评论 Alexey Navoykov 2019.03.28 14:07 #1301 fxsaber:内存释放 是唯一的原因。如果是多余的,那么reserve_size=-1 就足够了,前面已经说过了。 只是那里的人显然在速度测量上出了问题(我猜是测试条件不正确)。 Nikolai Semko 2019.03.30 06:05 #1302 我注意到一种有趣的可能性,我将其称为指标递归。 当你能从自身计算出一个指标。 handle=iMA(_Symbol,_Period,per1,0,MaMethod,PriceBase); for(int i=0;i<N;i++) handle=iMA(_Symbol,_Period,per2,0,MaMethod,handle); 它可能对指标爱好者有用... 如果这个话题已经涉及,重复是学习之母。 为了演示这一功能,我专门在QB中写 了一个指标。 Alexey Viktorov 2019.03.30 06:14 #1303 Nikolai Semko:我注意到一种有趣的可能性,我将其称为指标递归。 当你能从自身计算出一个指标时。 它可能对指标爱好者有用... 如果这个话题已经涉及,重复是学习之母。 为了演示这一功能,我专门在QB中写 了一个指标。是的...我不认为这是一个特殊的功能。一旦我需要它,我就这样写,只是为手柄做了不同的变量名。以为每个人在需要的时候都会使用它...... Nikolai Semko 2019.03.30 06:32 #1304 Alexey Viktorov:是的...我不认为这是一个特点。一旦我需要它,我就像这样写,但用不同的变量名来处理。以为每个人在需要的时候都会使用它......我现在才想到要把它放在一个循环中。你可以将指标复制100次,但只有一个手柄。 Alexey Navoykov 2019.03.30 06:47 #1305 Nikolai Semko:我刚刚才想到要把它放到一个循环中。你至少可以复制该指标100次,但只有一个手柄。这不是一个单一的手柄,你有一个变量。你已经失去了以前的手柄的价值。那你如何关闭它们呢? Nikolai Semko 2019.03.30 07:04 #1306 Alexey Navoykov:这不是一个单一的手柄,你有一个变量。你已经失去了以前的手柄的价值。那你如何关闭它们呢?嗯... 它消耗了大量的内存。真的,只有通过改变TF,你才能释放不再需要的内部指标缓冲区。)) 没有办法在ArrayFree中拧动。 Igor Makanu 2019.03.30 07:12 #1307 Nikolai Semko: 真的,只有通过改变TF,你才能释放不需要的内部指标缓冲区。))没有办法附加ArrayFree。改变TF会创建一个新的指标副本,并销毁旧的指标。 Nikolai Semko 2019.03.30 07:20 #1308 Igor Makanu:改变TF会创建一个新的指标副本并销毁旧的。嗯,这是可以理解的。 我只是看了一下在我的指标的最大设置下加载时的内存使用情况(滑块向右到边缘)。内存从50MB增加到400MB左右。但当我把指标调回最小值时(滑块向左),内存仍然挂在400Mb。 这意味着所有的100个计算指标都挂在内存中,尽管它们没有被使用。 改变TF可以清除它。 Igor Makanu 2019.03.30 07:36 #1309 Nikolai Semko:嗯,这是可以理解的。 只是我根据我的指示器的最大设置(滑块向右到边缘)看了一下启动时的内存使用情况。从50MB的内存增加到400MB左右。但当我把指标调回最小值时(滑块向左),内存仍然挂在400Mb。 因此,所有100个计算过的指标都挂在内存中,尽管它们不再被使用。 改变TF可以清除它。将其包裹在类计算指标中--将缓冲区与类字段绑定在一起 Nikolai Semko 2019.03.30 07:41 #1310 Igor Makanu:将指标计算包裹在一个类中 - 将缓冲区与类的字段绑定在一起 是的,我必须要试一试。谢谢你。 1...124125126127128129130131132133134135136137138...247 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
内存释放 是唯一的原因。
如果是多余的,那么reserve_size=-1 就足够了,前面已经说过了。 只是那里的人显然在速度测量上出了问题(我猜是测试条件不正确)。
我注意到一种有趣的可能性,我将其称为指标递归。
当你能从自身计算出一个指标。
它可能对指标爱好者有用...
如果这个话题已经涉及,重复是学习之母。
为了演示这一功能,我专门在QB中写 了一个指标。
我注意到一种有趣的可能性,我将其称为指标递归。
当你能从自身计算出一个指标时。
它可能对指标爱好者有用...
如果这个话题已经涉及,重复是学习之母。
为了演示这一功能,我专门在QB中写 了一个指标。
是的...我不认为这是一个特殊的功能。一旦我需要它,我就这样写,只是为手柄做了不同的变量名。以为每个人在需要的时候都会使用它......
是的...我不认为这是一个特点。一旦我需要它,我就像这样写,但用不同的变量名来处理。以为每个人在需要的时候都会使用它......
我现在才想到要把它放在一个循环中。你可以将指标复制100次,但只有一个手柄。
我刚刚才想到要把它放到一个循环中。你至少可以复制该指标100次,但只有一个手柄。
这不是一个单一的手柄,你有一个变量。你已经失去了以前的手柄的价值。那你如何关闭它们呢?
这不是一个单一的手柄,你有一个变量。你已经失去了以前的手柄的价值。那你如何关闭它们呢?
嗯...
它消耗了大量的内存。真的,只有通过改变TF,你才能释放不再需要的内部指标缓冲区。))
没有办法在ArrayFree中拧动。
没有办法附加ArrayFree。
改变TF会创建一个新的指标副本,并销毁旧的指标。
改变TF会创建一个新的指标副本并销毁旧的。
嗯,这是可以理解的。
我只是看了一下在我的指标的最大设置下加载时的内存使用情况(滑块向右到边缘)。内存从50MB增加到400MB左右。但当我把指标调回最小值时(滑块向左),内存仍然挂在400Mb。
这意味着所有的100个计算指标都挂在内存中,尽管它们没有被使用。
改变TF可以清除它。
嗯,这是可以理解的。
只是我根据我的指示器的最大设置(滑块向右到边缘)看了一下启动时的内存使用情况。从50MB的内存增加到400MB左右。但当我把指标调回最小值时(滑块向左),内存仍然挂在400Mb。
因此,所有100个计算过的指标都挂在内存中,尽管它们不再被使用。
改变TF可以清除它。
将其包裹在类计算指标中--将缓冲区与类字段绑定在一起
将指标计算包裹在一个类中 - 将缓冲区与类的字段绑定在一起