MT5优化不能成功完成!!! - 页 2

 

上面有关H4时间的划分,个人觉得:

       当前以及未来较长的一段时间内,主宰金融交易市场的依然是华尔街的机构大鳄们,关键是他们的K线时间是如何划分的,或者说他们的图表曲线是以什么时间分隔计算而绘制而成的,

这个比较关键。毕竟绝大多数交易者,必须要分辨大鳄们“绘制”出的走势。  否则, 错位的量化,会导致亏损无商量。

       就好比国内的股票,60分钟的K线划分是9:30---10:30为当日第一根,下午1点开盘,下午则是1:00---2:00为下午的第一根60分钟K线,若做国内股票,用与此主流划分不吻合的客户端,

势必量化分析的结果是不可取了。

       至于华尔街大鳄们用的主流交易客户端,其图表时间怎么划分,俺不知晓... ...

       日线图表也很重要,但是俺觉得,只有特大资金的机构才敢以日线图表作为下单点。作为散户个人趋势交易者,针对T+0的双向交易品种,H4和H1是必须的趋势参考图表和下单位置。

 
Kang Feng #:


回测速度问题:

1, 结合7楼的意见, 做回测一定要保证MT5的策略测试器tester的所有agent都是在内存中完全展开历史数据, 回测过程中不涉及硬盘操作, 尤其是不能涉及到Windows系统的虚拟内存SWAP反复读写, 否则不仅速度回测极慢而且长期必然毁伤硬盘. 所以需要观察Windows系统资源占用并调整测试器的设置, 物理内存不够就关掉几个tester agent.

2, 回测速度越来越慢的另外一个可能原因就是EA的代码质量, 和一般的软件开发有些不同, 量化系统有时深埋的BUG可能在程序运行了几千万上亿次OnTick()才会复现, 可能是程序中的某段代码中无效的垃圾运算任务越积越多, 程序每算一个tick都要翻过越垒越高的"屎山"才能进入有意义的分支, 这都需要程序开发者自身的经验去发现问题. 而外部的EA使用者不知EA代码质量如何, 只是直观上觉得测试速度越来越慢, 可能很容易就怪罪到MT5头上.

至于H4划分, 应该还是更多和金融市场的惯例有关, 本身可能不是多严谨科学的东西. 就像美股市场, 美东时间16:00收盘, 往前推8个小时, 从8:00开始画第一根H4柱, 而不是从9:30实际开盘开始划分H4, 如果交易商提供盘后交易, 那么就可以提供一根完整的H4盘后行情, 看起来就更规整一些.

那回测时要读写数据库该怎么处理啊?大神
 
JackpotTycoon #:
那回测时要读写数据库该怎么处理啊?大神


我不是大神, 只是说下自己的经验, 不具普适性.

现在的MT5在实盘交易, 历史数据的存储压缩/回测解压缩,以及回测过程等各方面的速度, 已经能够满足我自己的要求. 

我也不会频繁用到数据库的增/删/改/查这些典型操作, 而更关心的是怎么在尽量短的时间内跑完几千万上亿个tick完成一个pass的回测.

实际上Metaquotes官方自己做过评测, MQL5程序的运行速度已经非常接近纯C/C++语言程序, 我想MQL5语言程序自身处理海量数据时的内存使用效率已经足够优秀.

如果确实需要使用数据库,建议先完整阅读MQL5官方文档的相关部分:

https://www.mql5.com/zh/docs/database

MQL5文档: 使用数据库
MQL5文档: 使用数据库
  • www.mql5.com
使用数据库 - MQL5参考 - 参考MetaTrader 5的算法/自动交易语言