刚接触EA那会儿,你是不是也觉得挂上就跑、躺着收钱就行了?我当初就是这么想的,结果第一周就被市场教育了——止盈没到,利润全吐回去,还倒亏。后来才明白,EA能不能活下来,浮动止损和保本模块才是真正的分水岭。
先说保本模块,逻辑其实很简单:订单盈利达到一定点数后,把止损移到开仓价附近。但新手最容易踩的坑是没算点差和手续费。比如你做欧美,点差1.5个点,佣金另算,如果你把保本设在开仓价+2个点,实际可能刚够本甚至微亏。我建议保本触发点数至少覆盖点差+手续费+3到5个点缓冲。代码实现上,用OrderSelect遍历持仓,判断OrderProfit()是否达到阈值,再调OrderModify改止损。注意OrderModify返回false时要看GetLastError(),常见错误130是止损太近,平台拒绝。
浮动止损比保本更进一步,它是让止损跟着价格走。我的做法是分两段:
这样既不会因为一点回撤就被扫出去,又能让利润奔跑。参数别照抄,黄金波动大,我用的是盈利50点启动、每30点上移20点;镑美这种妖镑,启动点要再放大些。
还有个细节新手常忽略:多单和空单的止损移动方向是反的,写代码时用OrderType()判断一下,不然空单止损越移越远,等于没设。另外记得在OnTick()里加个时间间隔判断,比如每5秒才检查一次,不然高频刷新会拖慢VPS响应。我之前在1核1G的VPS上跑,没加间隔,结果滑点大得离谱,换了2核4G、延迟低于5ms的机器才稳。
最后说个心态上的事:浮动止损不是让你赚更多,是让你亏得更少、回撤更平滑。别指望它抓住每一波行情,能帮你过滤掉大部分情绪化操作就够了。你们在实盘里保本触发点数一般设多少?有没有被平台拒绝过OrderModify?评论区聊聊。
补充个小细节:浮动止损别只挂一根固定的均线,我后来改成用ATR动态算回撤距离,行情大时给足空间,震荡时收得更紧,效果比死参数好不少。
先说保本模块,逻辑其实很简单:订单盈利达到一定点数后,把止损移到开仓价附近。但新手最容易踩的坑是没算点差和手续费。比如你做欧美,点差1.5个点,佣金另算,如果你把保本设在开仓价+2个点,实际可能刚够本甚至微亏。我建议保本触发点数至少覆盖点差+手续费+3到5个点缓冲。代码实现上,用OrderSelect遍历持仓,判断OrderProfit()是否达到阈值,再调OrderModify改止损。注意OrderModify返回false时要看GetLastError(),常见错误130是止损太近,平台拒绝。
浮动止损比保本更进一步,它是让止损跟着价格走。我的做法是分两段:
- 第一段:盈利达到30点后启动,止损移到开仓价+5点,先锁住基本成本
- 第二段:之后每盈利20点,止损上移15点,留5点给行情喘息
这样既不会因为一点回撤就被扫出去,又能让利润奔跑。参数别照抄,黄金波动大,我用的是盈利50点启动、每30点上移20点;镑美这种妖镑,启动点要再放大些。
还有个细节新手常忽略:多单和空单的止损移动方向是反的,写代码时用OrderType()判断一下,不然空单止损越移越远,等于没设。另外记得在OnTick()里加个时间间隔判断,比如每5秒才检查一次,不然高频刷新会拖慢VPS响应。我之前在1核1G的VPS上跑,没加间隔,结果滑点大得离谱,换了2核4G、延迟低于5ms的机器才稳。
最后说个心态上的事:浮动止损不是让你赚更多,是让你亏得更少、回撤更平滑。别指望它抓住每一波行情,能帮你过滤掉大部分情绪化操作就够了。你们在实盘里保本触发点数一般设多少?有没有被平台拒绝过OrderModify?评论区聊聊。
补充个小细节:浮动止损别只挂一根固定的均线,我后来改成用ATR动态算回撤距离,行情大时给足空间,震荡时收得更紧,效果比死参数好不少。
