如何释放指标资源?从EA调用的指标
Results 1 to 7 of 7

Thread: 如何释放指标资源?从EA调用的指标

  1. #1

    http://docs.mql4.com/indiors/icustom我在说一个指标。
    它变得缓慢,但不是问题。

    在EA,有一个勾号,每次调用它并变得没有响应,无法完成测试(不是优化)
    我想知道我应该如何实现一些东西来释放指标中的资源?

    我的指标使用辅助缓冲区进行信号过滤,它有这样的:
    Inserted Code int OnInit(){//---- 4个额外的缓冲区用于计数。 IndiorBuffers(4 4);
    我怀疑至少有4个没有被删除。

    有帮助吗?

  2. #2
    从我个人的经验来看,iCustom的速度非常慢,传递参数的指标越多,输入参数越多,iCustom就越慢,最好的办法就是调用iCustom,不带任何参数,并使用默认设置指标

  3. #3
    嗨,一旦你通过iCustom()在EA(或其他指标)中包含/调用资源,我就没有遇到过从指标中释放资源的机制。我也没有与iwjw的经验相媲美的经验 - 但有趣!许多事情可能有助于解决您的问题:1。详细检查您的指标中发生的情况,然后检查您的EA,并检查计算的不同部分需要多长时间:您可以使用t0 = GetTickCount()... do循环/计算.... t1 = GetTickCount()然后打印出一些额外的信息以允许分析2.你真的需要计算每个滴答的指标吗?您的策略是否需要知道您的指标在每个滴答中计算的所有内容,或者您​​是否可以在新柱的开头从指标访问信息,然后在条件正确时允许在新柱开始时进行交易。如果后者是真的......你可以简单地在一个结构中保持对你的indi的访问:if(NEWBAR){....访问icustom(indi)....根据calcs做你的事情} 3.如果每次打勾都需要访问indi,如果你需要/想要改变这些参数,iwjw的解决方案也无济于事,你可以将指标中的逻辑和计算转移到EA。指标和EA代码之间的主要区别(对于您的问题)是在EA中您无法访问缓冲区。取决于指标中代码的结构,以及先前条形图/调用上的缓冲区信息如何影响当前条形图上缓冲区的值,您可以考虑实现没有缓冲区的指标。如果您可以调用NEWBAR上的指标,您可以在计算当前柱的值之前,将相关变量的先前值存储在一个短数组中,甚至存储在单个变量中。缺点是您需要自己对数据进行一些操作(并且需要弄清楚 - 并考虑意外后果),但好处是巨大的,因为它避免调用iCustom(指标)。希望其中一些有用。但是:如果你的终端由于调用iCustom(指标)而冻结,你的指标可能还有其他问题。除非你的指标做了大量的计算。我已经实现了各种EA,可以访问非常复杂的耗时指标。在这种情况下,终端已经放慢速度,在这种情况下终端打印出日志文件中的语句,这些语句是“重写指标,因为计算时间太长”。进入指标的肉类细节倾向于解决问题。切里奥,约翰

  4. #4
    有人给了我一个tipp,不是indi的错,而是EA,因为我正在检查我现有的订单等等。我已经从EA中移除了几乎所有东西,只需要2个电话。插入的代码double ExtBufUpValue = iCustom(Symbol(),PERIOD_CURRENT,myIndi​​,My12ParForIndi,0,1); if(ExtBufUpValue gt; 0){//长信号:从EA中删除所有代码以进行测试} else {double ExtBufDownValue = iCustom(Symbol(),PERIOD_CURRENT,myIndi​​,My12ParForIndi 1,1); if(ExtBufDownValue gt; 0){//短信号:从EA中删除所有代码以进行测试}}这部分代码是EXPONENTIALLY SLOWING DOWN。我想准确交易Indi所展示的内容。如果我从Indi到EA获取所有逻辑,那么它将不会呈指数级缓慢,只是缓慢,就像我在MT4上使用它一样。 BTW:那个indi有:插入代码iLowest插入代码iHighest和插入代码iMAOnArray代码调用来完成他的工作。 Whem在常规图表视图中我发现这对他来说是一个明显的问题,并且在timeframechnages(加载和卸载)下执行速度非常慢,并且不同的时间框架的cliching无济于事:它变得更慢,但它只能是6-7倍。

  5. #5
    有问题:
    https://www.histoforex.com/trading-s...t-trading.html插入的代码iMAOnArray有泄漏,MT4.0 Build 840,2015年6月12日 - 我的经纪人的最新消息

  6. #6
    1附件
    Metaquotes确认了这个错误并且他们回复1.您应该在MetaQuotes-Demo服务器上打开模拟账户并登录。账户打开账户点击添加新经纪人...输入demo.metaquotes.net点击扫描选择demo.metaquotes.net点击下一步。 2.重新启动终端。 3.等到LiveUpdate完成记录将出现在Journal选项卡中。 4.再次重新启动终端。 5.检查终端的构建。

  7. #7
    干杯......根本不是很好......但至少它已经解决了?切里奥,约翰

发布权限

  • 您不可发布新主题
  • 您不可回复
  • 您不可发布附件
  • 您不可编辑您的帖子
  •  
  • BB代码是打开的
  • 表情符号是打开的
  • [IMG]代码是打开的
  • [视频]代码是打开的
  • HTML代码是关闭的
histoforex网站使用cookie 文字跟踪
histoforex网站使用cookie 文字跟踪,某些设定已经固定。您可以点击此处阅读我们的Cookie使用说明。 请点击右键接受我们的cookies。如果您选择继续使用histoforex网站,我们将认为您接受我们的cookies。