文章 "自置缓存的指标速度比较"

 

新文章 自置缓存的指标速度比较已发布:

本文将经典的 MQL5 指标访问方法与 MQL4 风格的替代方法进行比较。 研究若干种 MQL4 风格的指标访问方法: 带有和未带有指标句柄缓存。 还会研究分析 MQL5 核心内部的指标句柄。

在比较结果时,请注意测试 EA 的任务相当复杂:

  • 从九个指标同时获得数据;
  • 在每次逐笔报价来临时访问指标;
  • M1 时间帧 — 生成 26 169 180 逐笔报价,以及 370 355 根柱线。

现在我们来进行测试: 仅调用一个指标 (对于两个 EA, MQL5 test.mq5Cache test.mq5, Use indicator... 参数为 "true", 而对于 Cache test.mq5, Use Timer 为 "0")

MQL5 对比 MQL4 1 指标

图例 5. 用于访问一个指标的时间

作者:Vladimir Karputov

 

Отсутствие контроля валидности хэндла

现在,我们应该谈谈使用句柄缓存的一个巨大危险:在用户缓存中无法控制句柄的存在。也就是说,当指标句柄被删除时,不会以任何方式进行处理。

这个问题并不存在,因为 MQL4-style 并不提供句柄的删除功能--那里没有这个概念。但在一般情况下,删除总是通过缓存包装器进行的。


结论

对不同指标访问方式的测试结果表明,MQL5-style 指标访问方式领先于任何 MQL4-style(不含句柄缓存和含句柄缓存)。

MQL5 风格假定用户事先知道他将使用哪些指标(及其输入参数)。这些是最原始的 TS!

一般来说,TS 调用经过计算的(非严格定义的)输入参数指标。在这里,您不能没有 MQL4-style+ 缓存。

我认为在 KB 中找到这种级别的 MT4-advisor 并不难。将其转换为文章中所谓的 MQL5 风格是不可能的。


因此,文章中的结论只适用于最原始的 TS,仅用于教育目的。


S

关于交易、自动交易系统和测试交易策略的论坛。

在 MQL5 中写作和赚钱

fxsaber, 2018.03.05 18:03

我不理解那些可以装进任何论坛主题的一个帖子而没有水分的文章。

如果考虑到将指标源嵌入智能交易系统的情况,这篇文章将发挥完全不同的色彩。
 
fxsaber: ZY
如果考虑将指标源嵌入智能交易系统的情况,文章的内容将大不相同。

这篇文章将

69 "如何将任何指标的计算部分转移到智能交易系统代码中"NEW
Dmitriy Gizlyk
 

То есть если два эксперта на одинаковых графиках (одинаковые символ и таймфрейм) создают индикаторы с одинаковыми входными параметрами — MQL5 в своём внутреннем учёте будет идентифицировать их как два разных хэндла.

句柄是相同的,id 也是相同的这一事实也证实了这一点。

第一个 "true "结果只表明句柄引用次数减少了。

 
Комбинатор:

这是一个完全错误的结论。手柄是一样的,而且 ID 也是一致的。

第一个真实结果只表明句柄引用次数减少了。

不同的解释是指

MQL5 在其内部核算中会 将它们识别为两个不同的句柄

 
fxsaber:

不同的解释是指

我说的就是这种解释。
 
Комбинатор:
这就是我所说的解释

"内部会计 "解释为计数器。坦率地说,我不明白为什么文章的第一部分是关于手柄的?似乎一切都已经被咀嚼过不止一次,并以更方便的方式呈现出来。在没有开放图表的终端中执行指标的原因。

 
Комбинатор:

这是一个完全错误的结论。手柄是一样的,而且 ID 也是一致的。

第一个真实结果只表明句柄引用数减少了。

是的,这是文章中的一个错误。


总的来说,你应该放弃 "MQL4 风格 " 的发明和写作 MQL5 更快、更正确。正是因为了解到 MQL4 的拐杖和局限性,我们才创建了一种新语言,并拒绝兼容,以免出现糟糕的数据访问方案。

 
Renat Fatkhullin:

一般来说,有必要发明和编写 "MQL4 风格"。MQL5 更快、更正确。正是因为了解到 MQL4 的弊端和局限性,我们才创建了一种新语言,并拒绝兼容,以免出现糟糕的数据访问方案。

转到

关于交易、自动交易系统和测试交易策略的论坛

讨论文章 "比较自缓存指标的速度"

fxsaber, 2018.03.07 08:17 pm.

一般来说,TS 调用的是经过计算的(而不是硬编码的)输入参数指标。而这里离不开 MQL4 风格+缓存。

我认为在 KB 中找到这种级别的 MT4-advisor 并不难。将其转换为文章中所谓的 MQL5 风格是不可能的。

 
fxsaber:

我们走吧

太夸张了

不争论
 
Renat Fatkhullin:

太夸张了。

没有争论。

继续倡导原始 TC。