- 设置初始跟踪幅度
投资者在买入股票后,会设定一个初始的跟踪幅度,这个幅度可以用百分比(如 10%)或具体的价格数值(如 5 元)来表示。例如,投资者以 100 元的价格买入一只股票,并设定了 10% 的跟踪幅度。
- 股价上涨时调整止盈位
当股价上涨时,止盈价格会根据设定的跟踪幅度相应地向上调整。如果股票价格从 100 元涨到了 110 元,按照 10% 的跟踪幅度,止盈价格就会从最初的 90 元(100 元 ×(1 - 10%))调整到 99 元(110 元 ×(1 - 10%))。如果股价继续上涨到 120 元,止盈价格也会进一步提高到 108 元(120 元 ×(1 - 10%))。这个过程就如同吊灯随着股价的上升而上升。
- 股价下跌时止盈位不变
当股价开始下跌时,只要没有触及到当前的止盈价格,止盈位就保持不变。例如,股票价格从 120 元回落到 115 元,由于 115 元高于当前的止盈价格 108 元,止盈位仍然维持在 108 元。只有当股价进一步下跌并触及到 108 元时,才会触发止盈卖出操作。
- 锁定利润
通过这种动态调整止盈价格的方式,吊灯跟踪止盈策略能够在股价上涨过程中不断锁定部分利润,同时又给股价的继续上涨留出一定空间。投资者既不会因为过早卖出而错失后续的上涨行情,也能在股价反转下跌时及时止盈,避免利润大幅回吐。
吊灯跟踪止盈策略的关键在于合理设置跟踪幅度,幅度设置过小可能导致过早止盈,错过更多利润;幅度设置过大则可能使已获得的利润回吐较多。投资者需要根据股票的波动性、自身的风险承受能力和投资目标等来确定合适的跟踪幅度。
下面我就用我的量化小助手用各个平台分别写一个吊灯止盈的示例。
首先看文华财经WT8的程序。
代码说明
动态最高价跟踪
BKHIGH_HIGH:VALUEWHEN(BKVOL>0,HHV(H,BARSBK+1))
通过HHV函数持续追踪多单持仓期间的历史最高价,BARSBK+1确保包含开仓当根K线回撤幅度计算
LONG_STOP:BKHIGH_HIGH - 20*MINPRICE
以最高价为基准,设置20个最小变动价位的回撤阈值,MINPRICE自动适配合约规格平仓触发机制
C<LONG_STOP,SP
当最新价跌破吊灯止损点时,执行多头平仓空头镜像逻辑
使用LLV函数追踪空单持仓期最低价,设置反弹阈值实现双向策略
策略特点
-
支持多头/空头双向持仓 -
采用动态跟踪机制,止损点只上移不下移 -
内置合约规格适配(MINPRICE) -
适用于趋势行情中的盈利保护
ParamsNumeric ChandelierPeriod(20); // 吊灯周期Numeric ChandelierFactor(3); // 波动系数Numeric ProfitRatio(0.3); // 基础止盈比例Numeric Lots(1); // 交易手数VarsSeries<Numeric> HighestHigh; // 持仓期间最高价Series<Numeric> DynamicProfitPrice; // 动态止盈价Series<Numeric> BaseProfitPrice; // 基础止盈价Series<Numeric> FinalProfitPrice; // 最终止盈价EventsOnBar(ArrayRef<Integer> indexs){// 初始化持仓后最高价if (MarketPosition == 1 && BarsSinceEntry == 0) {HighestHigh = High;} else if (MarketPosition == 1) {HighestHigh = Max(HighestHigh[1], High);}// 动态止盈计算(基于最高价回撤)DynamicProfitPrice = HighestHigh - AvgTrueRange(ChandelierPeriod) * ChandelierFactor;// 基础固定比例止盈(建仓价的30%)BaseProfitPrice = EntryPrice * (1 + ProfitRatio);// 综合止盈价取两者较高值FinalProfitPrice = Max(DynamicProfitPrice, BaseProfitPrice);// 处理开盘跳空情况Numeric EffectiveProfitPrice = Max(Open, FinalProfitPrice);// 多单止盈逻辑if (MarketPosition == 1 && BarsSinceEntry > 0 && Vol > 0){// 价格触发止盈或开盘跳空直接止盈if (Low <= EffectiveProfitPrice){Sell(Lots, EffectiveProfitPrice);Commentary("触发吊灯止盈,成交价:" + Text(EffectiveProfitPrice));}}}
策略逻辑说明:
动态止盈机制:
-
使用 HighestHigh跟踪持仓期间的最高价 -
基于ATR(平均真实波幅)计算动态止盈位: 最高价 - ATR×波动系数 -
同时设置固定比例止盈: 建仓价×130% 跳空处理机制:
-
当开盘价直接低于止盈价时,使用 Max(Open, FinalProfitPrice)确保有效成交 -
示例中 EffectiveProfitPrice综合了动态止盈和跳空处理 参数可配置性:
ChandelierPeriod:控制ATR计算周期 ChandelierFactor:调整止盈灵敏度(值越大止盈线越宽松) ProfitRatio:设置基础止盈比例
使用建议:
-
多头持仓时,止盈线会随价格创新高自动上移 -
当价格回撤超过ATR×系数时触发止盈 -
同时设置固定比例止盈作为保底机制 -
可通过调整 ChandelierFactor参数平衡止盈灵敏度与盈利空间
该示例实现了:
-
动态跟踪止盈与固定止盈的结合 -
开盘跳空的正确处理 -
参数化配置方便策略优化 -
详细的日志记录机制

