策略测试器这东西,说实话,我一开始是有点抵触的。总觉得实盘才是检验真理的唯一标准,回测数据再漂亮,到了真金白银的盘面上,照样给你拉稀。直到有次我手动跑一个马丁格尔的EA,在欧美上连续止损了七单,账户回撤直接干到30%,我才意识到,有些坑,真得靠测试器提前踩一遍。
我用的就是MT5自带的那个策略测试器,没花钱买第三方插件,断断续续用了半年。先说优点吧,最直观的就是速度快。我那个EA逻辑不算复杂,但涉及到多周期判断,以前用MT4测,跑一年数据要等个三五分钟,换到MT5的实时报价模式,基本几十秒就完事了。而且它那个可视化模式挺好用,你可以看着K线一根根走,EA在哪个价位开仓、止损怎么被扫的,一目了然。对于调试入场逻辑,特别是那种靠突破进场或者均线交叉的,这种回放功能比看一堆枯燥的净值曲线图直观太多了。
但缺点也明显,最大的问题就是“过度优化”。我一开始测黄金,参数调得那叫一个顺滑,回测曲线几乎45度角向上,最大回撤控制在5%以内,我当时都觉得自己要财务自由了。结果一上模拟盘,连续两周的震荡行情直接把我打回原形,亏损速度比回测里的最差情况还夸张。后来我才琢磨明白,我是把参数拟合到历史行情里了,换了个时间段或者加点滑点,立马失效。所以现在我用测试器,基本只看两点,一个是最大回撤能不能扛住,另一个是连续亏损次数,至于那个总盈利,我反而没那么在意了。
适用场景我觉得主要是两块。一是新EA的逻辑验证,比如你写了个双均线加ATR止损的,先丢进去跑半年欧美日线数据,看看有没有明显的漏洞,比如频繁止损或者单笔亏损过大。二是给现有EA做压力测试,比如把黄金的波动率调高,模拟那种非农行情下的极端走势,看看你的仓位管理能不能扛住。注意别用它来预测未来收益,那纯属自欺欺人,测试器只能告诉你“过去这样走会怎样”,永远没法告诉你“未来会怎样”。
对了,还有个细节,用MT5测试器的时候,记得把“延迟”和“滑点”设置成非零值,哪怕设个1-2点,结果都会比默认的真实很多。我见过有人回测跑出来胜率80%,实盘一开,点差一加,直接变55%。另外,测完最好看一眼“订单”列表,有些EA在回测里会偷偷用未来函数,比如用了K线收盘价却当成实时价开仓,这种在列表里能看出来。
最后想问问,你们用测试器的时候,是直接默认参数跑一遍完事,还是会去手动调整滑点和手续费?我总感觉这块对结果影响挺大的,但论坛里好像很少人聊这个细节。
对了,补充一句,测试器跑出来的滑点和点差都是理想值,挂上真实账户后你得留出至少两三个点的余量,不然照样容易踩坑。
我用的就是MT5自带的那个策略测试器,没花钱买第三方插件,断断续续用了半年。先说优点吧,最直观的就是速度快。我那个EA逻辑不算复杂,但涉及到多周期判断,以前用MT4测,跑一年数据要等个三五分钟,换到MT5的实时报价模式,基本几十秒就完事了。而且它那个可视化模式挺好用,你可以看着K线一根根走,EA在哪个价位开仓、止损怎么被扫的,一目了然。对于调试入场逻辑,特别是那种靠突破进场或者均线交叉的,这种回放功能比看一堆枯燥的净值曲线图直观太多了。
但缺点也明显,最大的问题就是“过度优化”。我一开始测黄金,参数调得那叫一个顺滑,回测曲线几乎45度角向上,最大回撤控制在5%以内,我当时都觉得自己要财务自由了。结果一上模拟盘,连续两周的震荡行情直接把我打回原形,亏损速度比回测里的最差情况还夸张。后来我才琢磨明白,我是把参数拟合到历史行情里了,换了个时间段或者加点滑点,立马失效。所以现在我用测试器,基本只看两点,一个是最大回撤能不能扛住,另一个是连续亏损次数,至于那个总盈利,我反而没那么在意了。
- 优点:数据加载快,多品种切换方便,可视化模式调试逻辑很直观
- 优点:能自定义点差和滑点,虽然默认值偏理想,但至少能模拟个大概
- 缺点:默认的“每个tick”模式太理想化,实盘中的跳空和流动性不足模拟不出来
- 缺点:容易陷入参数优化陷阱,特别是用遗传算法跑出来那种极端参数,实盘基本必爆
适用场景我觉得主要是两块。一是新EA的逻辑验证,比如你写了个双均线加ATR止损的,先丢进去跑半年欧美日线数据,看看有没有明显的漏洞,比如频繁止损或者单笔亏损过大。二是给现有EA做压力测试,比如把黄金的波动率调高,模拟那种非农行情下的极端走势,看看你的仓位管理能不能扛住。注意别用它来预测未来收益,那纯属自欺欺人,测试器只能告诉你“过去这样走会怎样”,永远没法告诉你“未来会怎样”。
对了,还有个细节,用MT5测试器的时候,记得把“延迟”和“滑点”设置成非零值,哪怕设个1-2点,结果都会比默认的真实很多。我见过有人回测跑出来胜率80%,实盘一开,点差一加,直接变55%。另外,测完最好看一眼“订单”列表,有些EA在回测里会偷偷用未来函数,比如用了K线收盘价却当成实时价开仓,这种在列表里能看出来。
最后想问问,你们用测试器的时候,是直接默认参数跑一遍完事,还是会去手动调整滑点和手续费?我总感觉这块对结果影响挺大的,但论坛里好像很少人聊这个细节。
对了,补充一句,测试器跑出来的滑点和点差都是理想值,挂上真实账户后你得留出至少两三个点的余量,不然照样容易踩坑。
