EA编程针对价位变动及滑点或数据公布期间波动的处理原则
我们都知道MT4界面看到的价格是服务器送过来的。但并不一定是当前服务器上的最新价格,有可能最新价格"正在路上"。这时候如果你的程序计算发现满足入场条件 发出了以当前价格为参考的入场单命令。则到达服务器的时候,服务器会告诉你价格已变动,从而拒绝执行你的命令。尤其在数据公布的时候价格变动极快,这种情况经常发生。
其实MT4也早就想到了这点,因此他的入场和出厂命令中都有一个参数叫slippont点数。也就是说,如果你在发送入场出场命令的时候设定这个参数为X点,那末服务器受到命令后,如果当前服务器价格和你的基础价格相差不超过X点,那末服务器就用自己的价格给你成交。而不是直接拒绝你的命令了。
有人可能会说了,那数据公布的时候价格上窜下跳很可能超过这个X点啊!没错!这就是我们说的另一个问题,策略取舍问题。当遇到这种情况的时候,你要自己决定是放弃入场还是坚持用这最新的更高的价格成交。这一点程序是没法解决的。因此很多EA在历史测试效果很好,实际应用却很差,和这种情况有很大的关系。
具体处理方法,可以有:
1、放弃入场;
2、提前挂单方式。
本文地址:http://www.ea666.cn/fxschool/autotrading/mql4/40681.html
上一篇:自定义函数 平所有持仓单(含挂单) 下一篇:锁仓顺势加码EA源码