在 GitHub 上查看

OBV 通道突破策略图

English | Русский | Español | Deutsch | Português | 日本語

能量潮把上涨K线的成交量相加、把下跌K线的成交量相减,因此它的曲线就是买盘与卖盘力量的累计差额。本图不是在价格上、而是在这条曲线上加一条唐奇安式通道:当 OBV 向上离开此前若干根K线的通道时,说明吸筹占了上风,于是买入;向下离开时说明派发占上风,于是卖出。

schema

策略概览

  • 通道由长度为 60 的 Highest 与 Lowest 方块构成,它们的输入不是K线,而是 On-Balance Volume 的输出。
  • 两个前值方块保存上一根K线的通道,因此突破是相对于尚未被当前 OBV 值改动的边界来衡量的。
  • 正因为边界取自上一根K线,突破是事件而不是状态:把 OBV 推过旧极值的那根K线才会交易。
  • 尽管文件夹名称包含 ATR,本图并不使用该指标;决策完全来自 On-Balance Volume 与价格。

入场与出场规则

  • 做多入场: 当前 OBV 高于上一根K线的通道上沿,且持仓不是多头。订单买入一手:空仓时开多,持空时平空。
  • 做空入场: 当前 OBV 低于上一根K线的通道下沿,且持仓不是空头。订单卖出一手:空仓时开空,持多时平多。
  • 离场: 保护方块按入场价的 5% 止盈或 3% 止损平仓;反向突破同样会把仓位归零,因为所有订单数量相同。

参数

参数 默认值 说明
Channel Length 60 Highest 与 Lowest 窗口中包含的 OBV 数值个数,两个方块应设为相同长度。
Take profit, % 5 相对入场价的止盈幅度(百分比)。
Stop loss, % 3 相对入场价的止损幅度(百分比)。
Volume 1 下单数量(手)。
Candles 00:05:00 整张图使用的K线周期。

图表详情

  • K线方块把数据送入 On-Balance Volume 方块,其输出再进入 Highest 与 Lowest 方块,形成指标读取指标的结构。
  • 每条通道边界都经过一个前值方块,因此比较使用的是突破发生前那根K线的边界。
  • 两个比较方块把当前 OBV 与这两条边界对比,另外两个把持仓与零常量对比,每个逻辑与把一次突破与相应的持仓判断结合起来。
  • 持仓判断会拦截已有仓位方向上的重复突破,因此每段行情只会入场一次。
  • 两个修改持仓方块都发出市价单,数量取自同一个常量,其成交进入带有止盈止损的保护方块。

使用方法

.json 文件导入 Designer,在回测器中用历史数据运行,然后根据自己的交易品种调整参数或方块,确认无误后再用于实盘。