各种移动止损 trailing stop 模式在 ea 上的应用
trailing stop 中文可以翻译叫追踪止损,或是也有朋友偏好叫 移动止损,或是觉得止损这个字不好听,毕竟移动后的止损价格平仓是获利的,也可以改称呼 移动止盈,什么名称都没有关系,原理大概就是当获利多少后,把止损位置移动到某个价格,至于是否继续移动,如果止损就只停留在开仓价格,通常改称呼为 平保 breakeven protection,如果继续移动,也可以再细分是否要有间隔还是连续型的止损价格移动。
先回到 移动止损 这个概念,在行情走大趋势时,用移动止损概念其实是比较不理想的,因为可能在行情稍微反复就在回调时提前把获利的止损价格给平仓了,导致后来的大行情没有再出新的新单信号而丧失了后来的行情获利。但是如果是像上面 黄金的数据市,上下来回扫,如果没有移动止损的机制,可能第一次突破的空单后来就是大幅亏损了。
所以如何使用移动止损,完全是看交易者如何理解实际的策略再作搭配。通常最简单的 移动止损 ea 工具是监控所有的订单,然后对个别单在达到获利价格后,开始修改止损价格,这个是基本的半自动辅助类型 ea。
个人在这些年设计过的移动止损模版,还有许多的衍生模式,每种模式都有背后的策略故事。
对于单货币的马丁或网格,通常移动止损较合适是用一个篮子订单的方式来监控一组的盈亏作移动止损,而不是用个别单的移动止损,所以是 ea 作动态监控,并不直接修改个别单的止损价格,整组获利回调碰到监控移动过的整组止损,统一平仓。一篮子的移动止损通常是改用 金额 作为单位,而不是用点数,原因是 马丁或网格 策略一般加仓单的量是递增的,要用一组的点数也是可以,但是最好是用所谓的 盈亏‘平均’点数,把每个单的盈亏点数先乘以每个单的量最后再除以总量,得到一组的‘平均点数’作为监控的单位。
下面这个模版的例子是更特别的,导入所谓把一局已经平仓的单(通常是先平仓获利单)的盈利,回来再和未平仓单的盈亏作合并计算,再把合并计算(也就是所谓的已未平仓盈亏)再作移动止损,这么复杂的模式有什么用途,主要是用在网格交易模式里,先平获利单,留下亏损单,然后再继续不断开单,尽量保持已经平仓和未平仓盈亏不要差异太大,但是未平仓亏损单在行情略微反转会让已平仓和未平仓的盈亏金额总和出现获利后,进行整组的移动止损。
听起来非常复杂,其实目的就是为了刷单,只要有已未平仓盈亏有小获利就准备监控移动获利值。
另外在多商品的对冲策略里,移动止损也是扮演类似的角色,只是一组的概念转为多货币的盈亏合并计算,然后再作移动止损的监控,等待回调统一平仓,通常是适用于多商品的反向相关度对冲策略。
最后一种特殊的移动止损是对于 个别单,当达到获利移动点并不直接修改订单止损价格,而是和上面整组用动态监控类似,改用虚拟移动止损价格的方式,但设计难度是更大,原因是 ea 无法预期接下来有多少单要作虚拟止损监控(尤其是非 ea 所下的单也要作这样处理),记忆的数组需要涵盖以订单号为识别单位,数组空间大小需要是动态调整并作关机前记忆等等处理,当有个别单平仓(不管是被人工平仓或是平台触发止盈止损平仓或是 ea 监控移动止损回调平仓)再另外检查消除记忆个别数组的设计。
这样特殊的设计目的是为了某些平台对于贵金属或是原油的个别单有较大的所谓 stop level (这个是 Metaquotes 公司的术语,意思就是在现价多少点内不能设置止盈止损价格,包含要移动修改的止损价格),如果要频繁套这么 stop level 内的获利或是移动止损价格到这个范围内,只能透过监控的方式,快速平仓这么小的获利点数。对于贵金属或是原油有较大的 stop level 限制的大平台还不少,这些都是偏好平台特色套利的朋友研究的突破点之一。
其实交易可以不用知道上面这些复杂的模式,一些交易朋友靠着两条均线不断趋势加仓一样稳定获利,上面提到的各种不同的移动止损模式设计,目的还是让不同定制 ea 的委托朋友可以有更多的弹性来优化他们的 ea 策略。