回测和实盘的一致性是非常重要的,因为如果回测和实盘不一致的话,那么Ea的任何参数都不敢在实盘上用。
在回测中,我发现不同平台的回测结果有一定的差异,即使是开启了仅用开盘价。
跟老师沟通了一下仅用开盘价的逻辑,才知道这个逻辑是只用设置时间生成K线后的第一个报价,比如下图,就是当新的一分钟开始后,当mt5客户端收到第一个报价的时候,就按这个报价执行一次EA,如果有开平仓条件,就执行开平仓,然后EA在这根K线上就不再运行。
大多数情况下,第一个报价就是开盘价,而且报价时间一般都是整点,或是01秒或02秒的时候过来第一个报价,特别是实盘的时候。
但是经过我大量的测试,发现在回测的时候,很多时候,第一个报价不是开盘的时间点,可能是已经10秒或20秒的时候,这时候这个价格可能就跟这根K线的开盘价不一致。
所以,我想的是,能不能加上一个强制使用开盘价的功能,就是当我开启仅用开盘价功能的时候,EA不用当前的现价来判断是否满足开平仓条件,现是用这根K线的开盘价来判断,只要开盘价满足条件,再用现价来开平仓。
这样的好处是,回测的结果,可能有出入,因为是强制使用的开盘价,所以开平仓的订单数量肯定都会完全一致。
总结一下就是,强制用K线的开盘价来判断各种开平仓的满足情况,而不是用开盘后的第一个报价。
|
+10
不赞一个?
⚠️ EA邦免责声明与风险提示:
1. 工具属性: 本文所涉及的EA软件及交易策略仅供技术交流与研究使用,不构成任何投资建议或收益承诺。
2. 入市风险: 金融市场具有高度不确定性,程序化交易并不能完全规避风险。请务必使用历史数据回测和模拟盘充分测试。
3. 决策自担: 用户根据本站内容进行实盘交易产生的所有盈亏,由本人自行承担,本站及作者不承担任何法律责任。
4. 版权说明: 转载请注明出处。不得将本站提供的软件和策略用于任何违法行为。