凌晨两点四十,屏幕右下角MT5的策略测试器进度条终于爬到了100%,我盯着那十年黄金的复盘报告发呆,优化了三个通宵的参数组合,盈利曲线还是那副半死不活的样子。说实话这已经不是第一次了,但今晚特别想跟刚入门的朋友聊聊这个事儿,免得你们也走我这条弯路。
先说清楚怎么跑这个测试。打开MT5按Ctrl+R调出策略测试器,第一次用的话几个地方必须选对:
然后就是参数优化,这也是最坑的地方。我一开始傻乎乎地把止损、止盈、均线周期、ATR倍数全勾上优化,步长设得贼细,结果测试器跑了六个小时给我吐出来两万多个组合。看着那堆结果我才发现,盈利最高的那组参数,交易次数只有个位数,纯属曲线拟合出来的幸存者偏差。更离谱的是同一个EA,我用2015到2020的数据优化出来的参数,拿到2021到2025年跑,直接亏成狗。反过来用后半段优化去跑前半段,照样不行。
后来跟一个做量化的朋友聊,他说了句话我记到现在:参数优化的本质是在历史数据里找规律,但市场是活的。你优化得越精细,就越容易把当年的偶然波动当成必然规律。我现在跑测试只做两件事,一是看EA在不同行情阶段的表现是否稳定,比如趋势段和震荡段分开看;二是把参数分成核心和外围,核心参数比如止损逻辑尽量少动,外围的比如均线周期给个合理区间就行,别追求那个理论上的最优解。说白了,能扛过十年不同行情的参数,比回测最漂亮的那组值钱得多。
现在我的做法是测试器只用来排除明显有逻辑缺陷的EA,参数优化就跑到能接受的盈亏比和回撤就停手,剩下的交给模拟盘跑两三个月。你们跑测试的时候有没有遇到过那种优化结果好得离谱、一上实盘就拉胯的情况?评论区说说,我看看是不是只有我这么倒霉。
先说清楚怎么跑这个测试。打开MT5按Ctrl+R调出策略测试器,第一次用的话几个地方必须选对:
- 交易品种选XAUUSD,周期我一般用H1,跑十年数据的话M15太慢,光测试就得跑一整天
- 模型一定要选"每笔订单基于真实报价",别图快用"仅开盘价",那个结果跟实盘差十万八千里
- 复盘模式选可视化能看K线回放,但速度极慢,正式跑的时候关掉
- 点差记得手动设成当前平台的实际值,比如黄金我设的35点,不然回测全是虚的
然后就是参数优化,这也是最坑的地方。我一开始傻乎乎地把止损、止盈、均线周期、ATR倍数全勾上优化,步长设得贼细,结果测试器跑了六个小时给我吐出来两万多个组合。看着那堆结果我才发现,盈利最高的那组参数,交易次数只有个位数,纯属曲线拟合出来的幸存者偏差。更离谱的是同一个EA,我用2015到2020的数据优化出来的参数,拿到2021到2025年跑,直接亏成狗。反过来用后半段优化去跑前半段,照样不行。
后来跟一个做量化的朋友聊,他说了句话我记到现在:参数优化的本质是在历史数据里找规律,但市场是活的。你优化得越精细,就越容易把当年的偶然波动当成必然规律。我现在跑测试只做两件事,一是看EA在不同行情阶段的表现是否稳定,比如趋势段和震荡段分开看;二是把参数分成核心和外围,核心参数比如止损逻辑尽量少动,外围的比如均线周期给个合理区间就行,别追求那个理论上的最优解。说白了,能扛过十年不同行情的参数,比回测最漂亮的那组值钱得多。
现在我的做法是测试器只用来排除明显有逻辑缺陷的EA,参数优化就跑到能接受的盈亏比和回撤就停手,剩下的交给模拟盘跑两三个月。你们跑测试的时候有没有遇到过那种优化结果好得离谱、一上实盘就拉胯的情况?评论区说说,我看看是不是只有我这么倒霉。
