刚才截了个图,EA在欧美1.0850挂的buy limit,结果成交记录里显示的是1.0854,差了4个点。我盯着屏幕看了半天,这到底是滑点还是我代码哪儿写错了啊?😭
先说下环境,Windows 10系统,MT4 build 1420,用的VPS是阿里云香港节点。EA是找论坛汇友分享的网格策略改的,挂单用的OrderSend函数,我检查过price参数是1.0850没错。然后我特意开了
我试过把滑点改成0,结果更离谱,直接不成交了。后来改成50个点,成交还是偏移2-3个点。我怀疑是不是代码里用了MarketInfo去取当前价,然后加减点数的时候搞错了?但日志里price明明显示的是1.0850啊……
还有个小细节,成交时间总是比挂单时间晚个1-2秒,是不是VPS网络延迟导致的?我看专家日志里没有报错,就是正常的order opened。但每次成交价都对不上,回测的时候倒是挺准的,一到实盘就飘,搞得我都不敢跑大资金了。
另外我注意到一个规律,如果是buy limit挂单,基本都是向上偏移,sell limit就是向下偏移,这正常吗?还是说我的代码逻辑在设置挂单价格的时候用了Ask/Bid搞混了?求大佬指点下,这个问题困扰我好几天了,论坛里搜了一圈也没找到类似的案例。
先说下环境,Windows 10系统,MT4 build 1420,用的VPS是阿里云香港节点。EA是找论坛汇友分享的网格策略改的,挂单用的OrderSend函数,我检查过price参数是1.0850没错。然后我特意开了
- 滑点设置,我设的是20个点(200),按理说4个点应该能接受啊
- 账户是标准账户,欧美点差1.8个点左右
我试过把滑点改成0,结果更离谱,直接不成交了。后来改成50个点,成交还是偏移2-3个点。我怀疑是不是代码里用了MarketInfo去取当前价,然后加减点数的时候搞错了?但日志里price明明显示的是1.0850啊……
还有个小细节,成交时间总是比挂单时间晚个1-2秒,是不是VPS网络延迟导致的?我看专家日志里没有报错,就是正常的order opened。但每次成交价都对不上,回测的时候倒是挺准的,一到实盘就飘,搞得我都不敢跑大资金了。
另外我注意到一个规律,如果是buy limit挂单,基本都是向上偏移,sell limit就是向下偏移,这正常吗?还是说我的代码逻辑在设置挂单价格的时候用了Ask/Bid搞混了?求大佬指点下,这个问题困扰我好几天了,论坛里搜了一圈也没找到类似的案例。
