Init()和DeInit()执行顺序 - 页 28 1...2122232425262728 新评论 [删除] 2017.04.17 06:50 #271 Alexey Viktorov: 窗口的数量是明确的,但不同参数的MA数量如何确定? 你需要查询和解析指标参数。 fxsaber 2017.04.17 07:03 #272 想通了int GetShortNames( string &ShortNames[], const long Chart_ID = 0, const int SubWindow = 0 ) { const int Total = ChartIndicatorsTotal(Chart_ID, SubWindow); ArrayResize(ShortNames, Total); for (int i = 0; i < Total; i++) ShortNames[i] = ChartIndicatorName(Chart_ID, SubWindow, i); return(Total); } // Возвращает свое "Короткое имя" - ShortName string GetMyShortName( void ) { string Res = ""; const int SubWindow = ChartWindowFind(); string ShortNames[]; GetShortNames(ShortNames, 0, SubWindow); const string TmpShortName = __FUNCSIG__ + (string)MathRand(); IndicatorSetString(INDICATOR_SHORTNAME, TmpShortName); string NewShortNames[]; const int Total = GetShortNames(NewShortNames, 0, SubWindow); for (int i = 0; i < Total; i++) if (NewShortNames[i] == TmpShortName) { Res = ShortNames[i]; IndicatorSetString(INDICATOR_SHORTNAME, Res); break; } return(Res); } // Возвращает свой хэндл int GetMyHandle( void ) { const string ShortName = GetMyShortName(); const string TmpShortName = __FUNCSIG__ + (string)MathRand(); IndicatorSetString(INDICATOR_SHORTNAME, TmpShortName); const int Res = ChartIndicatorGet(0, ChartWindowFind(), TmpShortName); IndicatorSetString(INDICATOR_SHORTNAME, ShortName); return(Res); }在OnDeinit之前对其手柄进行IndicatorRelease 是非常重要的。有趣的是,在每一次这样的指示器释放之后,指示器句柄都会递增一个。 Andrey Dik 2017.04.17 08:30 #273 fxsaber: 想通了在OnDeinit之前对其手柄进行IndicatorRelease是非常重要的。有趣的是,在每一次这样的指示器释放之后,指示器句柄都会递增一个。IndicatorRelease 已经在测试器中工作?以防万一--以前没有工作。 fxsaber 2017.04.17 08:38 #274 Andrey Dik: IndicatorRelease在测试器中工作了吗?以防万一--以前没有工作。 没有测试。 Andrey Dik 2017.04.17 09:20 #275 fxsaber: 我还没有测试过。 我的意思是,如果没有可能从测试器的内存中卸载一个指标,将导致系统暂停,例如,如果你通过自己的手段在飞行中优化指标。或者,例如,动态改变指标参数会导致内存溢出,因为每次都会创建一个新的句柄,而旧的句柄在测试器中不会被删除。 fxsaber 2017.04.17 09:47 #276 https://www.mql5.com/ru/code/18138 Init_Sync 2017.04.17fxsaberwww.mql5.com Библиотека делает синхронизированными Init/Deinit индикаторов Alexberrr 2017.04.17 11:53 #277 好话题 Vitaly Muzichenko 2017.04.17 12:04 #278 Alexberrr: 好话题目前,这是一个必要的和相关的问题。我自己找了很久的原因,以为是我的代码有问题,多亏了这个主题,问题才得以解决。谢谢大家! 1...2122232425262728 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
窗口的数量是明确的,但不同参数的MA数量如何确定?
在OnDeinit之前对其手柄进行IndicatorRelease 是非常重要的。
有趣的是,在每一次这样的指示器释放之后,指示器句柄都会递增一个。
想通了
在OnDeinit之前对其手柄进行IndicatorRelease是非常重要的。
有趣的是,在每一次这样的指示器释放之后,指示器句柄都会递增一个。
IndicatorRelease在测试器中工作了吗?以防万一--以前没有工作。
我还没有测试过。
好话题
目前,这是一个必要的和相关的问题。我自己找了很久的原因,以为是我的代码有问题,多亏了这个主题,问题才得以解决。
谢谢大家!