来自一个 "傻瓜 "的问题 - 页 52 1...454647484950515253545556575859...277 新评论 Olegs Kucerenko 2011.08.20 15:47 #511 它必须要去什么地方吗?我不知道...我的意思是,它在EMA上飞行,但它在iCustom上需要10倍的时间...... Renat Fatkhullin 2011.08.20 15:52 #512 你永远不应该这样做。void OnTick() { //--- безусловно создаем индикатор ma_handle = iMA(_Symbol,0, MA,0, MODE_EMA, PRICE_CLOSE); }不要被骗说"获得 指标手柄",实际上你是在 "创建 一个新指标"。此外,还存在着手柄的泄漏。 Yedelkin 2011.08.20 15:55 #513 Karlson: 它必须要去什么地方吗?我不知道... 我的意思是,它在EMA上飞行,但运行iCustom需要10倍的时间... 我们应该把一堆 过时的手柄指示器放在哪里?我不知道。我没有这样工作过。 每一次打勾都会有越来越多的人。 如果我必须实施这样的策略,我会拒绝 通过iCustom() 调用一个准备好的自定义指标 ,而是将指标主体放在专家顾问的OnTick() 中。 而数据的计算将由专家顾问本身进行。 ...如果指标是.ex5格式,而且没有代码,问题就会出现。 Yedelkin 2011.08.20 16:21 #514 我记得:"IndicatorRelease() 函数用于从计算机内存中释放一个未使用的指标,该指标的句柄被传递给它"(我在专家顾问去初始化期间使用它)。 但是,所有这些都是一样的:每次打钩 都有一个新的手柄是很麻烦的。 Olegs Kucerenko 2011.08.20 16:24 #515 关于手柄的积累,我会研究的。这就是我打算做的,把火鸡放在EA里。 [删除] 2011.08.20 16:34 #516 Karlson:关于手柄的积累,我会研究的。这就是我打算做的,把火鸡放在EA里。 你可以让指标保持原样,并在定时器中或通过事件创建它的副本。 Yedelkin 2011.08.20 17:37 #517 Interesting: 你可以让指标保持原样,并在定时器中或通过事件创建它的副本。在哪里创建指标的副本有什么区别:在OnTick()、OnTimer()还是在OnChartEvent()?在任何情况下,每一个特殊的激活都会产生一个 "指标的副本",使已经巨大的堆积物更加恶化。或者说,我不明白你的逻辑。 [删除] 2011.08.20 17:58 #518 Yedelkin:在哪里创建指标的副本有什么区别:在OnTick()、OnTimer()还是在OnChartEvent()?在任何情况下,每一个特殊的激活都会产生一个 "指标的副本",使已经巨大的堆积物更加恶化。或者说,我不明白你的逻辑。诀窍是这样的--如果你不需要改变指标参数(不需要创建一个新的指标副本),那么在初始化块中创建 一次指标 是比较合理的。但是,如果在操作过程中,指标参数应该自动改变,我们将不得不尽可能有效地做到这一点。最有效的方法是在定时器中创建一个新的指标副本(不一定在每一个刻度上)。最有效的方法是,当某些事件(几个事件)发生时,创建一个新的指示副本。PS有必要考虑到用于计算指标的时间,并确保摆脱 "不必要的 "副本。 Olegs Kucerenko 2011.08.21 01:04 #519 这样的想法值得考虑......重新计算一个新的袋子,对我来说可以一天或一周做一次......设置一个定时器。bool EventSetTimer( int seconds // количество секунд ); 真的被一天或一周内的秒数搞糊涂了......)))你也可以在新的每日一栏中进行...在OnTimer()函数 中,我首先用IndicatorRelease() 删除前一个指标,然后用新的周期创建一个新 的指标。void OnTimer() { IndicatorRelease( ma_handle ); ma_handle=iMA(Symbol(),0,newMA,0,MA_EMA,PRICE_CLOSE); } 这只是一个大致的想法... Mykola Demko 2011.08.21 13:01 #520 Renat:你永远不应该这样做。不要被骗说"获得 指标手柄",实际上你是在 "创建 一个新指标"。此外,还有手柄的泄漏。在MQL5的早期,人们讨论了很多问题,你削减了自动交易的重要发展部分,结果,人们用空的空间扼杀了你的超级优化的OnCalculate(),把计算放在事件中。这有点慢,但仍比为每个动态参数创建自己的句柄快。 1...454647484950515253545556575859...277 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
它必须要去什么地方吗?我不知道...
我的意思是,它在EMA上飞行,但它在iCustom上需要10倍的时间......
你永远不应该这样做。
不要被骗说"获得 指标手柄",实际上你是在 "创建 一个新指标"。
此外,还存在着手柄的泄漏。
它必须要去什么地方吗?我不知道...
我的意思是,它在EMA上飞行,但运行iCustom需要10倍的时间...
我们应该把一堆 过时的手柄指示器放在哪里?我不知道。我没有这样工作过。 每一次打勾都会有越来越多的人。
如果我必须实施这样的策略,我会拒绝 通过iCustom() 调用一个准备好的自定义指标 ,而是将指标主体放在专家顾问的OnTick() 中。 而数据的计算将由专家顾问本身进行。
...如果指标是.ex5格式,而且没有代码,问题就会出现。
我记得:"IndicatorRelease() 函数用于从计算机内存中释放一个未使用的指标,该指标的句柄被传递给它"(我在专家顾问去初始化期间使用它)。
但是,所有这些都是一样的:每次打钩 都有一个新的手柄是很麻烦的。
关于手柄的积累,我会研究的。
这就是我打算做的,把火鸡放在EA里。
关于手柄的积累,我会研究的。
这就是我打算做的,把火鸡放在EA里。
你可以让指标保持原样,并在定时器中或通过事件创建它的副本。
在哪里创建指标的副本有什么区别:在OnTick()、OnTimer()还是在OnChartEvent()?在任何情况下,每一个特殊的激活都会产生一个 "指标的副本",使已经巨大的堆积物更加恶化。
或者说,我不明白你的逻辑。
在哪里创建指标的副本有什么区别:在OnTick()、OnTimer()还是在OnChartEvent()?在任何情况下,每一个特殊的激活都会产生一个 "指标的副本",使已经巨大的堆积物更加恶化。
或者说,我不明白你的逻辑。
诀窍是这样的--如果你不需要改变指标参数(不需要创建一个新的指标副本),那么在初始化块中创建 一次指标 是比较合理的。
但是,如果在操作过程中,指标参数应该自动改变,我们将不得不尽可能有效地做到这一点。
最有效的方法是在定时器中创建一个新的指标副本(不一定在每一个刻度上)。
最有效的方法是,当某些事件(几个事件)发生时,创建一个新的指示副本。
PS
有必要考虑到用于计算指标的时间,并确保摆脱 "不必要的 "副本。
这样的想法值得考虑......重新计算一个新的袋子,对我来说可以一天或一周做一次......设置一个定时器。
真的被一天或一周内的秒数搞糊涂了......)))你也可以在新的每日一栏中进行...
在OnTimer()函数 中,我首先用IndicatorRelease() 删除前一个指标,然后用新的周期创建一个新 的指标。
这只是一个大致的想法...
你永远不应该这样做。
不要被骗说"获得 指标手柄",实际上你是在 "创建 一个新指标"。
此外,还有手柄的泄漏。
在MQL5的早期,人们讨论了很多问题,你削减了自动交易的重要发展部分,结果,人们用空的空间扼杀了你的超级优化的OnCalculate(),把计算放在事件中。这有点慢,但仍比为每个动态参数创建自己的句柄快。