在 GitHub 上查看

ATR 区间突破策略图

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

这里一切都由一个数字决定:收盘价在最近几根K线里走了多远,并以 Average True Range 作为尺度。走幅至少达到一个 ATR 就被视为值得跟随的突破,方向就是价格走的方向。简单移动平均线完全不参与入场——它负责离场,一旦收盘价重新穿回来就放弃持仓。

schema

策略概览

  • 前值方块保存四根K线之前的收盘价,公式方块用当前收盘价减去它并取绝对值,这就是走过的距离。
  • 衡量的尺子是 Average True Range。当距离达到它时,说明这四根K线走出的幅度超过了通常一根K线的幅度,图便认定这是突破。
  • 方向不需要指标:收盘价高于此前的收盘价就是做多,低于就是做空。
  • 移动平均线只负责平仓:多头在第一根收于其下方的K线结束,空头在第一根收于其上方的K线结束。

入场与出场规则

  • 做多入场: 最近四根K线走过的距离不小于一个 ATR,收盘价高于四根K线之前的收盘价,且当前空仓。订单以市价买入共享数量。
  • 做空入场: 最近四根K线走过的距离不小于一个 ATR,收盘价低于四根K线之前的收盘价,且当前空仓。订单以市价卖出共享数量。
  • 离场: 多头在第一根收于简单移动平均线下方的K线上平掉,空头在第一根收于其上方的K线上平掉。两个离场方块都带平仓条件,因此各自只处理对应的方向。没有止损,也没有止盈。

参数

参数 默认值 说明
ATR Period 14 决定突破最小幅度的 Average True Range 平滑周期。
MA Period 20 负责平仓的简单移动平均线周期。
Lookback shift 4 与多少根K线之前的价格进行比较。
Volume 1 两个入场方块共用的下单数量(手)。
Candles 00:05:00 整张图使用的K线周期。

图表详情

  • K线方块驱动 ATR、移动平均线以及读取收盘价的转换方块,前值方块接在同一个转换方块上。
  • 公式方块计算两个收盘价之差的绝对值,比较方块把它与 ATR 对比,判断走幅是否足够。
  • 对同一对收盘价的另外两个比较给出方向,一个持仓与零常量的比较防止入场叠加。
  • 每个逻辑与合并幅度、方向与空仓状态,触发一个开仓方块;两个与移动平均线的比较直接触发平仓方块,因为平仓方块的方向本身就决定了它能平掉哪一边。
  • 本图使用滑动回看窗口,并在每根K线上检查区间。
  • 本图运行在图库历史数据所提供的五分钟K线上。

使用方法

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