MT5优化不能成功完成!!! - 页 2 12 新评论 waihui1001 2022.06.15 10:41 #11 上面有关H4时间的划分,个人觉得: 当前以及未来较长的一段时间内,主宰金融交易市场的依然是华尔街的机构大鳄们,关键是他们的K线时间是如何划分的,或者说他们的图表曲线是以什么时间分隔计算而绘制而成的, 这个比较关键。毕竟绝大多数交易者,必须要分辨大鳄们“绘制”出的走势。 否则, 错位的量化,会导致亏损无商量。 就好比国内的股票,60分钟的K线划分是9:30---10:30为当日第一根,下午1点开盘,下午则是1:00---2:00为下午的第一根60分钟K线,若做国内股票,用与此主流划分不吻合的客户端, 势必量化分析的结果是不可取了。 至于华尔街大鳄们用的主流交易客户端,其图表时间怎么划分,俺不知晓... ... 日线图表也很重要,但是俺觉得,只有特大资金的机构才敢以日线图表作为下单点。作为散户个人趋势交易者,针对T+0的双向交易品种,H4和H1是必须的趋势参考图表和下单位置。 JackpotTycoon 2022.06.15 23:17 #12 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盘后行情, 看起来就更规整一些. 那回测时要读写数据库该怎么处理啊?大神 Kang Feng 2022.06.17 09:36 #13 JackpotTycoon #: 那回测时要读写数据库该怎么处理啊?大神 我不是大神, 只是说下自己的经验, 不具普适性. 现在的MT5在实盘交易, 历史数据的存储压缩/回测解压缩,以及回测过程等各方面的速度, 已经能够满足我自己的要求. 我也不会频繁用到数据库的增/删/改/查这些典型操作, 而更关心的是怎么在尽量短的时间内跑完几千万上亿个tick完成一个pass的回测. 实际上Metaquotes官方自己做过评测, MQL5程序的运行速度已经非常接近纯C/C++语言程序, 我想MQL5语言程序自身处理海量数据时的内存使用效率已经足够优秀. 如果确实需要使用数据库,建议先完整阅读MQL5官方文档的相关部分: https://www.mql5.com/zh/docs/database MQL5文档: 使用数据库 www.mql5.com 使用数据库 - MQL5参考 - 参考MetaTrader 5的算法/自动交易语言 12 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
上面有关H4时间的划分,个人觉得:
当前以及未来较长的一段时间内,主宰金融交易市场的依然是华尔街的机构大鳄们,关键是他们的K线时间是如何划分的,或者说他们的图表曲线是以什么时间分隔计算而绘制而成的,
这个比较关键。毕竟绝大多数交易者,必须要分辨大鳄们“绘制”出的走势。 否则, 错位的量化,会导致亏损无商量。
就好比国内的股票,60分钟的K线划分是9:30---10:30为当日第一根,下午1点开盘,下午则是1:00---2:00为下午的第一根60分钟K线,若做国内股票,用与此主流划分不吻合的客户端,
势必量化分析的结果是不可取了。
至于华尔街大鳄们用的主流交易客户端,其图表时间怎么划分,俺不知晓... ...
日线图表也很重要,但是俺觉得,只有特大资金的机构才敢以日线图表作为下单点。作为散户个人趋势交易者,针对T+0的双向交易品种,H4和H1是必须的趋势参考图表和下单位置。
回测速度问题:
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盘后行情, 看起来就更规整一些.
那回测时要读写数据库该怎么处理啊?大神
我不是大神, 只是说下自己的经验, 不具普适性.
现在的MT5在实盘交易, 历史数据的存储压缩/回测解压缩,以及回测过程等各方面的速度, 已经能够满足我自己的要求.
我也不会频繁用到数据库的增/删/改/查这些典型操作, 而更关心的是怎么在尽量短的时间内跑完几千万上亿个tick完成一个pass的回测.
实际上Metaquotes官方自己做过评测, MQL5程序的运行速度已经非常接近纯C/C++语言程序, 我想MQL5语言程序自身处理海量数据时的内存使用效率已经足够优秀.
如果确实需要使用数据库,建议先完整阅读MQL5官方文档的相关部分:
https://www.mql5.com/zh/docs/database