文章 "交易员生存技巧: 由指标制作的快餐" - 页 4

 
fxsaber:

一般来说,用户无法确定能否加快这一过程。很明显,计算哈希函数的开销很大。

没错。因此,在 OOP 封装程序中使用哈希函数不会引起共鸣,因为 MT5 已经在幕后实现了该函数,而且运行速度很快。

fxsaber:

我并不关心性能,但很明显,任何哈希函数的输入都应是 MqlParam 值的数组。考虑到有一个慢速字符串字段,这就无法快速运行。

这就意味着,在用户层面已经很难赶上系统的哈希函数,要想大幅超越几乎是不可能的。

但最重要的是,经典 MT5 与 MT4 风格相比并无明显差异。MT4 风格,即优化不会产生任何作用。

 
Vasiliy Sokolov:

我删除了之前的帖子,因为我注意到MACD MQL4 风格 EA 还访问了图形子系统

也就是说,所做的测试是错误的。在注释了注释函数 后,性能几乎相等。

如果这篇文章的作者至少运行过一次剖析(这是测量性能时必须要做的--自我控制),那么结论中就不会出现如此不幸的错误。

我自己相信了结果,但我不应该相信。是我的错。

 
fxsaber:

如果这篇文章的作者至少开始过一次剖析(这是测量绩效--自控力时必须做的),那么结论中就不会出现如此不幸的错误。

我自己相信了结果,但我不应该相信。我的错误

+

 
fxsaber:

不过话又说回来,指标和条形图都是邪恶的。

我没明白你的意思。

 
Rashid Umarov:

你想在一篇文章中向读者灌输大量信息。

我想要的是客观的结论。

但是,关于你的方法--这是一个正面的解决方案,你试过其他方法吗?比较过性能吗?

是的,这是一种正面方法,它完全证明了自己的正确性,因为它要求精确,根本不需要任何性能。我们的任务是消除 MT5 的干扰。


当然,其他人没有尝试,因为

计算资源 和内存的。但在同一个 kodobase 中,我还没见过有哪个 EA 会这样钉住句柄。一切都归功于 "MQL5 的聪明",从而迫使作者一点也不聪明。

我认为在文章列表中列出这样一个主题是合乎逻辑的。
 
Vasiliy Sokolov:

删除我之前的帖子,因为我注意到MACD MQL4 风格 EA 还访问了图形子系统:

***


我输入 "评论 "仅供测试之用。如果您在可视模式下运行"MACD MQL4 风格 EA short.mq5",并将光标放在指数为 #1 的条形图上,您可以在测试器中检查工作情况:

"测试版中的 "MACD MQL4 风格 EA short.mh5

图 1."测试器中的 "MACD MQL4 style EA short.mh5

它没有参与测试仪中的 RATE 测试:

# 不适用EA基于真实刻度的每个 刻度所有刻度OHLC


测试时间交易交易测试时间交易时间交易测试时间测试时间测试时间
1MACD 样本.mq50:01:19.4851222440:00:53.7501222440:00:03.735119238
2MACD 样本 一次一个值.mq50:01:20.3441222440:00:56.2971222440:00:03.687119238
3MACD 样本 4 至 5 MQL4 style.mq50:02:37.4221222440:01:52.1711222440:00:06.312119238


 
Vasiliy Sokolov:

我没明白你的意思。

我欢迎在屏幕上以图画的形式显示条形图和指标。但在 EA 中,这几乎是荒谬的。

人们通过真实的刻度来测试 EA,但出于某种原因,他们关注的不是刻度,而是条形图。如果每种类型的价格(买入价、卖出价、翻转价)都有柱状图,那就更好了,但事实并非如此。

当人们在信息严重丢失的情况下自愿转而使用历史数据时,他们有某种受虐狂。在这个片段中,他们试图编造一些东西,包括使用机器学习方法。

 
fxsaber:

这里还有一个关于智能 MQL5 的想法。有很多智能交易系统,在每个条形图上都调用相同的指标,但输入参数不同。随着时间的推移,MQL5 会 "删除 "不必要的句柄。但这是一个通用的解决方案。在 Expert Advisor 中,作者可以自己承担这一责任,自己杀死句柄。很明显,在 100 个条形图中携带 100 个手柄的包袱是超级浪费计算资源 和内存的。但在同一个 kodobase 中,我还没见过有哪个 EA 会这样钉住句柄。一切都归功于 "MQL5 的聪明",从而迫使作者一点也不聪明。

即使是最聪明的处理方法也无济于事。只有一件事会有帮助:将指标改写为带有参数的智能交易系统内部函数。

在我看来,这一切都与实际应用相去甚远。释放句柄是有可能的:当然,我们可以想出一些学术性的例子,在这些例子中可以使用这一功能,而不是编写一个快速的内部函数并使用它(我认为)。

 
Vladimir Karputov:

我输入 "评论 "只是为了测试。如果您在可视模式下运行"MACD MQL4 风格 EA short.mq5",并将光标放在指数为 #1 的条形图上,就可以在测试器中检查工作情况:

图 1."测试器中的 "MACD MQL4 style EA short.mh5

它没有参与测试仪中的 RATE 测试:

# 不适用EA基于真实刻度的每个 刻度所有刻度OHLC


测试时间交易交易测试时间交易时间交易测试时间测试时间测试时间
1MACD 样本.mq50:01:19.4851222440:00:53.7501222440:00:03.735119238
2MACD 样本 一次一个值.mq50:01:20.3441222440:00:56.2971222440:00:03.687119238
3MACD 样本 4 至 5 MQL4 style.mq50:02:37.4221222440:01:52.1711222440:00:06.312119238


也就是说,仍然存在开销,而且开销还不小。弗拉基米尔的例子更可信,因为顾问在实际工作中使用了这个调用。

 
Vasiliy Sokolov:

即使是最聪明的处理方法也无济于事。只有一件事能帮上忙:将指标改写为带有参数的智能交易系统内部函数。

这也是支持 "指标是魔鬼 "的一个论据。

该网站使用cookies。了解有关我们Cookies政策的更多信息。