大数跨境

期货和股票交易中常用的吊灯止盈法

期货和股票交易中常用的吊灯止盈法 沐阳智富港
2025-04-29
3
导读:鉴于很多朋友不知道如何进行出场,今天就给大家分享一个常用的吊灯止盈法。
鉴于很多朋友不知道如何进行出场,今天就给大家分享一个常用的吊灯止盈法。

吊灯跟踪止盈是一种动态的止盈策略,它就像一盏吊灯,随着股价的上涨而上升,但不会随着股价的下跌而下降,具体原理如下:
  1. 设置初始跟踪幅度
    投资者在买入股票后,会设定一个初始的跟踪幅度,这个幅度可以用百分比(如 10%)或具体的价格数值(如 5 元)来表示。例如,投资者以 100 元的价格买入一只股票,并设定了 10% 的跟踪幅度。

  2. 股价上涨时调整止盈位
    当股价上涨时,止盈价格会根据设定的跟踪幅度相应地向上调整。如果股票价格从 100 元涨到了 110 元,按照 10% 的跟踪幅度,止盈价格就会从最初的 90 元(100 元 ×(1 - 10%))调整到 99 元(110 元 ×(1 - 10%))。如果股价继续上涨到 120 元,止盈价格也会进一步提高到 108 元(120 元 ×(1 - 10%))。这个过程就如同吊灯随着股价的上升而上升。

  3. 股价下跌时止盈位不变
    当股价开始下跌时,只要没有触及到当前的止盈价格,止盈位就保持不变。例如,股票价格从 120 元回落到 115 元,由于 115 元高于当前的止盈价格 108 元,止盈位仍然维持在 108 元。只有当股价进一步下跌并触及到 108 元时,才会触发止盈卖出操作。

  4. 锁定利润
    通过这种动态调整止盈价格的方式,吊灯跟踪止盈策略能够在股价上涨过程中不断锁定部分利润,同时又给股价的继续上涨留出一定空间。投资者既不会因为过早卖出而错失后续的上涨行情,也能在股价反转下跌时及时止盈,避免利润大幅回吐。

吊灯跟踪止盈策略的关键在于合理设置跟踪幅度,幅度设置过小可能导致过早止盈,错过更多利润;幅度设置过大则可能使已获得的利润回吐较多。投资者需要根据股票的波动性、自身的风险承受能力和投资目标等来确定合适的跟踪幅度。

下面我就用我的量化小助手用各个平台分别写一个吊灯止盈的示例。

首先看文华财经WT8的程序。

代码说明

  1. 动态最高价跟踪
    BKHIGH_HIGH:VALUEWHEN(BKVOL>0,HHV(H,BARSBK+1))
    通过HHV函数持续追踪多单持仓期间的历史最高价,BARSBK+1确保包含开仓当根K线

  2. 回撤幅度计算
    LONG_STOP:BKHIGH_HIGH - 20*MINPRICE
    以最高价为基准,设置20个最小变动价位的回撤阈值,MINPRICE自动适配合约规格

  3. 平仓触发机制
    C<LONG_STOP,SP
    当最新价跌破吊灯止损点时,执行多头平仓

  4. 空头镜像逻辑
    使用LLV函数追踪空单持仓期最低价,设置反弹阈值实现双向策略

策略特点

  • 支持多头/空头双向持仓
  • 采用动态跟踪机制,止损点只上移不下移
  • 内置合约规格适配(MINPRICE)
  • 适用于趋势行情中的盈利保护


接下来来一个TBquant的例子
Params    Numeric ChandelierPeriod(20);       // 吊灯周期    Numeric ChandelierFactor(3);        // 波动系数    Numeric ProfitRatio(0.3);           // 基础止盈比例    Numeric Lots(1);                    // 交易手数Vars    Series<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));        }    }}

策略逻辑说明:

  1. 动态止盈机制:

    • 使用HighestHigh跟踪持仓期间的最高价
    • 基于ATR(平均真实波幅)计算动态止盈位:最高价 - ATR×波动系数
    • 同时设置固定比例止盈:建仓价×130%
  2. 跳空处理机制:

    • 当开盘价直接低于止盈价时,使用Max(Open, FinalProfitPrice)确保有效成交
    • 示例中EffectiveProfitPrice综合了动态止盈和跳空处理
  3. 参数可配置性:

    • ChandelierPeriod
      :控制ATR计算周期
    • ChandelierFactor
      :调整止盈灵敏度(值越大止盈线越宽松)
    • ProfitRatio
      :设置基础止盈比例

使用建议:

  1. 多头持仓时,止盈线会随价格创新高自动上移
  2. 当价格回撤超过ATR×系数时触发止盈
  3. 同时设置固定比例止盈作为保底机制
  4. 可通过调整ChandelierFactor参数平衡止盈灵敏度与盈利空间

该示例实现了:

  • 动态跟踪止盈与固定止盈的结合
  • 开盘跳空的正确处理
  • 参数化配置方便策略优化
  • 详细的日志记录机制

深度量化交流可以添加微信:zwxcj_cn

【声明】内容源于网络
0
0
沐阳智富港
1234
内容 172
粉丝 0
沐阳智富港 1234
总阅读25
粉丝0
内容172