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

 
fxsaber:

那么,你们的代理人(有 21 秒的测试)会被禁用吗?

如果我回答 "是",你会不会开始询问禁止的标准?我们就此打住,好吗?

 
fxsaber:

一般来说,用户无法确定能否加快这一过程。显然,计算散列函数需要花费大量时间。

这种指示器哈希函数的一个一般形式的变体发布在这里


缺点:

  • 您的变体依赖于参考图表进行握手,对吗?您试过在测试器中运行 EA 吗?能运行吗?速度会慢多少?
  • 代码中显示的函数也会在每一个刻度上强奸终端--请求已创建指标的句柄并不比 "需要该指标--查找其句柄并创建一个新实例(如果还没有)"这样的调用更好。
 
Rashid Umarov:

缺点:

  • 您的变体对图表有吸引力,对吗?您试过在测试器中运行 EA 吗?能运行吗?速度会慢多少?
  • 代码中显示的函数也会在每一个跳动点强奸终端--请求一个已创建指标的句柄并不比 "需要该指标--查找其句柄,如果还不存在,则创建一个新实例 "这样的调用更好。

您没有阅读

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

关于文章 "交易者的生活窍门:用指标烹饪快餐 "的讨论

fxsaber, 2018.01.26 09:22 pm.

是的,这是一种正面方法,它完全证明了自己的正确性,因为它要求的是准确性,根本不需要任何性能。任务是关闭 MT5 的干扰性小聪明。

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

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

讨论文章 "交易员的生活窍门:用指标烹饪快餐"

fxsaber, 2018.01.26 09:02 pm.

他们并不关心性能,但很明显,必须将 MqlParam 值数组输入任何哈希函数的输入端。考虑到有一个慢速字符串字段,这无法快速工作。

因此,编写一个比 MT5 内置的哈希函数快得多的通用快速指标是一项艰巨的任务。但我坚决反对从其他地方调用指标。所以我根本不想研究这个问题。


我几乎同意瓦西里的假设。

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

讨论文章 "LifeHack for trader: cooking fast food from indicators"。

Vasiliy Sokolov, 2018.01.26 09:14

在 OOP 包装器中制作哈希函数没有共鸣,因为该函数已经在 MT5 的幕后实现,并且运行速度很快。

这表明,在用户层面已经很难赶上系统的哈希函数,要想有意义地超越它几乎是不可能的。


在这种情况下,我认为发明一些东西是毫无意义的。

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

讨论文章 "交易员的生活窍门:用指标烹饪快餐"

fxsaber, 2018.01.26 09:27 pm.

我带来的是屏幕上图画形式的柱状图和指标。但在 EA 中,这几乎是荒谬的。

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

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


现在,指标的唯一用途是测试仪中的间谍模式。但是,一旦有了

void OnTick( const string &Symb );
专家顾问的指标就会失去任何意义。
Анализ результатов тестов и оптимизации в тестере стратегий MetaTrader 5
Анализ результатов тестов и оптимизации в тестере стратегий MetaTrader 5
  • 2018.01.27
  • www.mql5.com
Рассмотрим результаты тестов на одном и нескольких символах. Тесты будем проводить в режиме Все тики...
 

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

MetaTrader 5 策略测试器中的测试和优化结果分析

fxsaber, 2018.01.28 12:25 pm.

  1. 在单一符号模式下,"spy "的工作速度比纯 OnTick 慢 2.5 倍。也就是说,空指标(建立在 PERIOD_W1 上,将条形图历史记录保持在最低水平)在测试器中有巨大的开销!
指标是邪恶的!
 
fxsaber:
指标是邪恶的!
fxsaber:

你没看


我几乎同意瓦西里的假设


在这种情况下,我不认为有任何发明意义


现在,指标的唯一用处是测试仪中的间谍模式。但是,只要有了

那么专家顾问的指标就会失去任何意义。

我读了这篇文章,但还是决定明确指出您的方法存在的问题。因为是您开始指责弗拉基米尔缺乏缓存等。

对弗拉基米尔的指责恰恰是关于所介绍方法的 "低效"。你的变体并没有解决这个问题。

 
Rashid Umarov:

我读了,但还是决定明确指出你的方法存在的问题。因为是你开始指责弗拉基米尔缺乏缓存等。

对弗拉基米尔的指责恰恰是关于所介绍方法的 "低效"。你的变体并没有解决这个问题。

标准指标(文章中只讨论了这些指标)是以基本方式缓存的!因为所有输入参数都是已知的。

编写一个通用的哈希函数是很困难的。但本文并不要求这样做。本文讨论的是最简单的情况。即使是最简单的情况,也没有哈希函数。

 
我从文章中得出的结果

3.3 比较基于 MACD 的智能交易系统的执行速度

比较涉及

  • "MACD Sample.mq5" - 标准交付的智能交易系统,可正确访问指标
  • "MACD Sample One value at a time.mq5"--与 "MACD Sample.mq5 "类似,每次从指标中获取一个值。
  • "MACD Sample 4 to 5 MQL4 style.mq5" - MQL4 Expert Advisor 重写为 MQL5,修改极少,可访问 MQL4 风格的指标。

从 2017.02.01 到 2018.01.16 在 MetaQuotes 演示服务器上对 USDJPY,M30 进行了测试。每次测试后(无论是更改智能交易系统还是更改刻度线生成模式),都会重新启动终端。计算机配置:

我添加了 "利润"一栏 为了以防万一,测试时间在第二次测试时被删除。黄色高亮部分(格式)与文章中的一样,因为我复制了表格,只是不想制作新表格。


顾问 基于真实刻度的每个 刻度 所有点差 OHLC


利润,美元测试时间 交易 交易 利润
测试时间 交易 利润
交易 测试时间 交易 交易次数
1 MACD 样本.mq5 -467.74
0:00:29.937 122 244 -476.690:00:22.110 122 -754.10
244 0:00:01.015 119 238
2 MACD 样本 每次一个值.mq5 -467.740:00:30.110 122 244 -476.69
0:00:23.797 122 -754.10244 0:00:01.141 119 238
3 MACD 样本 4 至 5 MQL4 style.mq5 -428.04
0:00:57.156 122 244 -449.90
0:00:42.078 122 -740.48
244 0:00:02.062 119 238

确认第三个 EA 的利润不同。我还没有找到原因。



 

我找到了净利润不匹配的可能原因--智能交易系统 "MACD 样本 4 至 5 MQL4 style.mq5 "在停止修改时出现错误

由于代码来自 MQL4 版本,这可能是一个遗留错误。

 
Rashid Umarov:

我找到了净利润不匹配的可能原因--智能交易系统 "MACD 样本 4 至 5 MQL4 style.mq5 "在止损修改 时出现错误

由于代码来自 MQL4 版本,这可能是一个遗留错误。

这不是问题所在 - 当新的 StopLoss 水平与当前水平没有差异时,就会出现该错误。

 
Rashid Umarov:
我根据文章 得出的结果

证实第三个 EA 的利润不同。我没有找到原因。

Andrey F. Zelinsky 发现 MQL4 和 MQL5 版本的 MACD 样本逻辑不同。不同之处在于 TP 和 SL 水平的计算。