文章 "MetaTrader 5 中进行测试的原理" - 页 4

 
olowsam:


我在阅读这篇精彩文章时,发现有一处错别字。

已更正,谢谢!
 

文章摘录:

Обработка событий в тестере

Наличие обработчика OnTick() в эксперте не является обязательным для того, чтобы его можно было подвергнуть проверке на исторических данных в тестере терминала MetaTrader 5. Достаточно того, чтобы в советнике была хотя бы одна функция-обработчик из перечисленных:

    OnTick() - обработчик события прихода нового тика;
    OnTrade() - обработчик торгового события;
    OnTimer() - обработчик события прихода сигнала от таймера;
    OnChartEvent() - обработчик пользовательских событий...


亲爱的开发人员,请评论一下OnTradeTransaction() 函数?

是否有计划在测试器中解决其正常运行问题?

 

您好。

几天来,我在策略测试器中 测试 HiLo 指标时一直遇到问题。

我收到以下错误信息:

2014.06.05 16:50:18.010 程序文件 Indicators\hilo__1_teste.ex5 读取错误
2014.06.05 16:50:18.010 程序文件 Indicators\hilo__1_teste.ex5 读取错误
2014.06.05 16:50:17.126 程序文件 Indicators\hilo__1_teste.ex5 读取错误
2014.06.05 16:50:17.126 加载 hilo__1_teste EURUSD,H1 失败
2014.06.05 16:50:17.126 程序文件 Indicators\hilo__1_teste.ex5 读取错误
2014.06.05 16:50:17.126 加载 hilo__1_teste EURUSD,H1 失败
2014.16:50:17.126 程序文件 Indicators\hilo__1_teste.ex5 读取错误
2014.06.05 16:50:17.126 2011.06.06 00:00:32 无法加载自定义指标 'hilo__1_teste' [4802]
2014.06.05 16:50:17.126 载入 hilo__1_teste EURUSD,Daily 失败
2014.06.05 16:50:17.126 程序文件 Indicators\hilo__1_teste.ex5 读取错误
2014.06.05 16:50:17.126 程序文件 Indicators\hilo__1_teste.ex5 读取错误
...

2014.06.05 16:50:27.007 2011.06.06 00:11:59 Error: Indicator not handled. (handle=-1 | error code=4802)
2014.06.05 16:50:27.007 2011.06.06 00:11:59 无法加载自定义指标 'hilo__1_teste' [4802]
2014.06.05 16:50:27.007 加载 hilo__1_teste EURUSD,H1 失败
2014.06.05 16:50:27.007 程序文件 Indicators\hilo__1_teste.ex5 读取错误

这是怎么回事?有人遇到过这个问题吗?

 

关于"在 "仅打开价格 "模式下测试时的柱状图同步 " 部分

如果 "智能交易系统 "请求最后一根蜡烛图的价格数据,那么同步功能就是必要的。毕竟,不同条形图的开盘价可能大不相同。

如果 Expert Advisor 使用来自 SymbolInfoDouble(simbol,SYMBOL_BID) 和 SymbolInfoDouble(simbol,SYMBOL_ASK) 的数据,则可以避免使 Expert Advisor 的代码和资源强度复杂化。

在这种工作方式中,如果没有出现另一个符号的新条形图,SymbolInfoDouble(simbol,SYMBOL_BID) 将返回最后一个已知价格,即前一个条形图的收盘价。前一交易栏的收盘价与新交易栏的开盘价相差 1 个刻度线(前一交易栏的最后一个刻度线与新交易栏的第一个刻度线之间)。也就是说,这个差值可以忽略。

在同步周期前后插入一行

Print(_Symbol," = ",SymbolInfoDouble(_Symbol,SYMBOL_BID),"  ",other_symbol," = ",SymbolInfoDouble(other_symbol,SYMBOL_BID));


以下是日志示例:

2016.09.01 12:31:00   На символе EURUSD открылся новый бар в 2016.09.01 12:31
2016.09.01 12:31:00   EURUSD = 1.11389  USDJPY = 103.534
2016.09.01 12:31:00   Подождем 5 секунд..
2016.09.01 12:31:05   Время открытия последнего бара на своем символе EURUSD: 2016.09.01 12:31
2016.09.01 12:31:05   Время открытия последнего бара на символе USDJPY: 2016.09.01 12:31
2016.09.01 12:31:05   Бары синхронизировались в 2016.09.01 12:31:05
2016.09.01 12:31:05   EURUSD = 1.11389  USDJPY = 103.532

美元兑日元的差值 = 2 点。其中103.534 对应于前一栏的美元兑日元收盘价 在同步周期之后,我们得到 103.532,等于新条形图的开盘价。
 

手动交易 很累。我希望能尽快找到一个机器人,它能给我带来的收益能超过我的成本。

 
Thiago Ferreira:

您好。

几天来,我在策略测试器中测试 HiLo 指标时一直遇到问题。

我收到以下错误信息:

2014.06.05 16:50:18.010 程序文件 Indicators\hilo__1_teste.ex5 读取错误
2014.06.05 16:50:18.010 程序文件 Indicators\hilo__1_teste.ex5 读取错误
2014.06.05 16:50:17.126 程序文件 Indicators\hilo__1_teste.ex5 读取错误
2014.06.05 16:50:17.126 加载 hilo__1_teste EURUSD,H1 失败
2014.06.05 16:50:17.126 程序文件 Indicators\hilo__1_teste.ex5 读取错误
2014.06.05 16:50:17.126 加载 hilo__1_teste EURUSD,H1 失败
2014.16:50:17.126 程序文件 Indicators\hilo__1_teste.ex5 读取错误
2014.06.05 16:50:17.126 2011.06.06 00:00:32 无法加载自定义指标 'hilo__1_teste' [4802]
2014.06.05 16:50:17.126 载入 hilo__1_teste EURUSD,Daily 失败
2014.06.05 16:50:17.126 程序文件 Indicators\hiloo__1_teste.ex5 读取错误
2014.06.05 16:50:17.126 程序文件 Indicators\hiloo__1_teste.ex5 读取错误
...

2014.06.05 16:50:27.007 2011.06.06 00:11:59 Error: Indicator not handled. (handle=-1 | error code=4802)
2014.06.05 16:50:27.007 2011.06.06 00:11:59 无法加载自定义指标 'hilo__1_teste' [4802]
2014.06.05 16:50:27.007 加载 hilo__1_teste EURUSD,H1 失败
2014.06.05 16:50:27.007 程序文件 Indicators\hilo__1_teste.ex5 读取错误

这是怎么回事?有人遇到过这个问题吗?

 

文章不完整。

这篇文章缺少最重要的一点--进行测试的计算机的最佳参数。

例如,我的机器人在 5 台不同的电脑上进行了测试。

在其中一台电脑上,测试花了几个小时,而在另一台电脑上,测试花了一天多。其中一台电脑的 CPU 负载较高,另一台电脑的磁盘负载较高。我搜索了很多地方,但都没有找到最佳的熨斗设置。

本以为 METAQUOTES 可以澄清这个问题,但.....。文章不完整。

 
lasleon:

这篇文章并不完整。

这篇文章缺少最重要的东西--进行测试的计算机的最佳参数。

例如,我的机器人在 5 台不同的电脑上进行了测试。

其中一台只用了几个小时就完成了测试,而另一台则用了一天多。其中一台电脑的 CPU 负载较高,另一台电脑的磁盘负载较高。我找遍了所有电脑,都没有找到最佳硬件设置。

本以为 METAQUOTES 可以澄清这个问题,但.....。这篇文章并不完整。

很简单:
- 增加处理器内核,但不要在优化程序中加载所有内核,至少保留几个内核
- 更高的 CPU 频率
- 最大内存以容纳终端和测试仪的系统缓存
- 必须使用固态硬盘,最好是 NVMe


 
Renat Fatkhullin:
***
- 必须使用固态硬盘,最好是 NVMe

是否必须将整个操作系统放在固态硬盘上,或者是否可以只将代理放在固态硬盘上?

 
Vladimir Karputov:

是否有必要在固态硬盘上安装整个操作系统,或者是否有办法只在固态硬盘上安装代理?

都放在固态硬盘上,现在固态硬盘很便宜。