标题:EA运行报错了求帮助
正文:
各位大佬好,小弟刚接触外汇EA不久,最近在MT4上跑一个自己改的震荡策略EA,之前回测效果还行,但实盘跑了两周就出问题了,实在搞不懂,来求教一下。
先说下我的情况:这个EA主要做欧美和镑美,参数我调了布林带和RSI,在15分钟图上跑,每单设了20点止损和40点止盈,总仓位控制在0.5手以内。前一周运行还算正常,每天大概有几十点的浮动盈利,虽然偶尔被打止损,但整体还能接受。但到了第二周,突然在周一早上开盘后,EA开始频繁报错,日志里显示“OrderSend error 4107”和“Invalid stops”,然后单子就开不出来了。我查了MT4的日志,说是我设置的止损和止盈价格不符合经纪商的要求,但我明明是按当前价格加上点差设置的,应该没问题啊。
更诡异的是,后来我又试着手动修改了止损参数,把止损放大到30点,但报错还是断断续续出现,尤其是像非农数据公布前后,或者欧美盘波动大的时候,EA就经常卡住,挂单半天不成交,然后价格跑飞了。我怀疑是不是数据源或者服务器延迟的问题,但经纪商那边说他们平台没问题,让我检查EA代码。我代码水平有限,只会调调现成的指标参数,真要改代码逻辑就头大了。
另外,我还注意到一个现象:每次报错后,EA会自动重试,但重试几次后就直接跳过当前信号,导致我回测里能盈利的信号在实盘里全漏掉了。比如上周五镑美有个明显的布林带下轨反弹机会,EA明明在15分钟图上识别了RSI超卖,但就是开不出单,后来价格直接拉上去,我眼睁睁看着利润没了。这让我很郁闷,毕竟我选这个EA就是看中它自动化操作,结果现在反而成了累赘。
我查了网上的一些说法,有说是因为MT4的“允许实盘交易”和“允许DLL导入”选项没勾,但我都勾上了。也有说是因为经纪商的交易限制,比如最小止损距离或者锁仓规则,但我用的是ECN账户,点差低,应该没那么多限制吧?还有人说可能是EA里用了MarketInfo函数获取点差,但实盘和回测的点差计算方式不同,导致价格偏移。我试着在代码里加了“RefreshRates()”函数,但效果不明显。
现在我的EA时好时坏,盈利曲线从稳步上升变成横盘震荡,甚至开始亏损了。我怀疑问题出在数据同步或者订单管理上,但具体怎么排查,心里没底。哪位大佬能指点一下?是代码里的止损计算方式不对,还是MT4的设置问题,或者干脆是经纪商那边有猫腻?要是能提供个排查思路,比如怎么测试EA的实时报价响应,或者怎么优化止损的逻辑,小弟感激不尽!
正文:
各位大佬好,小弟刚接触外汇EA不久,最近在MT4上跑一个自己改的震荡策略EA,之前回测效果还行,但实盘跑了两周就出问题了,实在搞不懂,来求教一下。
先说下我的情况:这个EA主要做欧美和镑美,参数我调了布林带和RSI,在15分钟图上跑,每单设了20点止损和40点止盈,总仓位控制在0.5手以内。前一周运行还算正常,每天大概有几十点的浮动盈利,虽然偶尔被打止损,但整体还能接受。但到了第二周,突然在周一早上开盘后,EA开始频繁报错,日志里显示“OrderSend error 4107”和“Invalid stops”,然后单子就开不出来了。我查了MT4的日志,说是我设置的止损和止盈价格不符合经纪商的要求,但我明明是按当前价格加上点差设置的,应该没问题啊。
更诡异的是,后来我又试着手动修改了止损参数,把止损放大到30点,但报错还是断断续续出现,尤其是像非农数据公布前后,或者欧美盘波动大的时候,EA就经常卡住,挂单半天不成交,然后价格跑飞了。我怀疑是不是数据源或者服务器延迟的问题,但经纪商那边说他们平台没问题,让我检查EA代码。我代码水平有限,只会调调现成的指标参数,真要改代码逻辑就头大了。
另外,我还注意到一个现象:每次报错后,EA会自动重试,但重试几次后就直接跳过当前信号,导致我回测里能盈利的信号在实盘里全漏掉了。比如上周五镑美有个明显的布林带下轨反弹机会,EA明明在15分钟图上识别了RSI超卖,但就是开不出单,后来价格直接拉上去,我眼睁睁看着利润没了。这让我很郁闷,毕竟我选这个EA就是看中它自动化操作,结果现在反而成了累赘。
我查了网上的一些说法,有说是因为MT4的“允许实盘交易”和“允许DLL导入”选项没勾,但我都勾上了。也有说是因为经纪商的交易限制,比如最小止损距离或者锁仓规则,但我用的是ECN账户,点差低,应该没那么多限制吧?还有人说可能是EA里用了MarketInfo函数获取点差,但实盘和回测的点差计算方式不同,导致价格偏移。我试着在代码里加了“RefreshRates()”函数,但效果不明显。
现在我的EA时好时坏,盈利曲线从稳步上升变成横盘震荡,甚至开始亏损了。我怀疑问题出在数据同步或者订单管理上,但具体怎么排查,心里没底。哪位大佬能指点一下?是代码里的止损计算方式不对,还是MT4的设置问题,或者干脆是经纪商那边有猫腻?要是能提供个排查思路,比如怎么测试EA的实时报价响应,或者怎么优化止损的逻辑,小弟感激不尽!
基本面驱动交易者,每日追踪全球财经日历与央行动态