多读书多实践,勤思考善领悟

超级趋势指标SuperTrend

本文于327天之前发表,文中内容可能已经过时。

超级趋势指标

顾名思义,SuperTrend 指标跟踪趋势市场的方向。该指标以其在发现交易的有效买卖信号方面的准确性而闻名。老实说,SuperTrend 的计算有点复杂,但我会分解成几个部分让您更好地理解。

该指标的计算涉及两个主要组成部分,即回顾期和乘数。回溯期不过是计算中要考虑的数据点数,乘数是用于乘以 ATR 的值。SuperTrend 指标的传统设置是 10 作为回顾期,3 作为乘数。考虑到这些设置,让我们继续执行 SuperTrend 指标计算中涉及的步骤。

计算中涉及的第一步是使用我们之前讨论的公式确定 10 天 ATR。第二步是确定基本的上下波段。要计算这两个波段,我们需要首先找到高低平均值(我们现在称之为 HLA),它是通过将股票的高值和低值相加并除以 2 计算得出的。使用这些 HLA 值,上波段是通过首先将 10 天 ATR 值乘以乘数(即 3)并将乘积与 HLA 值相加来计算。相同的程序也适用于基本较低频带的计算,但我们需要减去与 HLA 值的乘积而不是相加。两个波段的计算可以在数学上表示如下:

1
2
3
4
基本上限= HLA + [乘数* 10 天 ATR ]
基本下限= HLA - [乘数* 10 天 ATR ]其中,
HLA = 高低平均值
MULTIPLIER = 3

然后是计算最终的上下波段,它们是 SuperTrend 指标计算中涉及的核心组成部分。没有用于计算最终波段的公式,而是通过条件,并将值附加到与满足条件有关的波段。当前最终上限的条件如下:

  • 如果当前基本上轨小于前一个最终上轨或股票前一个收盘价大于前一个最终上轨,则当前最终上轨的值为当前基本上轨。
  • 如果条件未能得到满足,则当前最终上带的值是先前的最终上带。最终上带的条件可以表示如下:
1
2
3
4
5
6
IF C.BUB < P.FUB OR P.CLOSE > P.FUB : C.FUB = C.BUB
如果条件不满足: C.FUB = P.FUB其中,
C.BUB = 当前基本上限
P.FUB = 之前的最终上限
P.CLOSE = 股票的先前收盘价
C.FUB = 当前最终上限

当前较低频带的条件如下:

  • 如果当前基本下轨大于前一最终下轨或股票前一收盘价小于前一最终下轨,则当前最终下轨值就是当前基本下轨。
  • 如果当前最终下带的这个条件不满足,那么当前最终下带就是之前的最终下带。条件可以表示如下:
1
2
3
4
5
6
如果C.BLB > P.FLB或P.CLOSE < P.FLB:C.FLB = C.BLB
如果条件不满足:C.FLB = P.FLB其中,
C.BLB = 当前基本下限
P.FLB = 前一个最终下限
P.CLOSE = 股票的前一个收盘价
C.FLB = 当前最终下限

然后使用

现在我们拥有确定 SuperTrend 指标值的所有基本组件。就像我们如何使用条件来计算最终波段的值一样,这同样适用于 SuperTrend 指标的计算。虽然确定最终波段值的条件只有一种,但 SuperTrend 指标有四种不同的条件。当前 SuperTrend 值的条件如下:

  • 如果之前的 SuperTrend 指标值等于之前的最终上限,而股票当前收盘价小于当前最终上限,则当前 SuperTrend 指标值是当前最终上限。
  • 如果之前的 SuperTrend 指标值等于之前的最终上限并且股票当前收盘价大于当前最终上限,则当前 SuperTrend 指标值是当前最终下限。
  • 如果先前的 SuperTrend 指标值等于先前的最终较低波段并且股票当前收盘价大于当前最终较低波段,则当前 SuperTrend 指标值是当前最终较低波段。
  • 如果之前的 SuperTrend 指标值等于之前的最终下波段并且股票当前收盘价小于当前最终下波段,则当前 SuperTrend 指标值是当前最终上波段。

当把所有这些条件放在一起时,条件的总数量可以表示如下:

1
2
3
4
5
6
7
8
9
10
11
如果P.ST == P.FUB和C.CLOSE < C.FUB : C.ST = C.FUB
如果P.ST == P.FUB和C.CLOSE > C.FUB : C.ST = C.FLB
如果P.ST == P.FLB和C.CLOSE > C.FLB:C.ST = C.FLB
如果P.ST == P.FLB和C.CLOSE < C.FLB:C.ST = C.FUB其中,
P.ST = 之前的 SuperTrend 指标值
P.FUB = 之前的最终上限
P.FLB = 之前的最终下限
C.CLOSE = 股票的当前收盘价
C.ST = 当前 SuperTrend 指标值
C.FUB = 当前最终上限
C.FLB = 当前最终下限

这就是计算 SuperTrend 指标值的整个过程。为了更好地理解该指标及其工作原理,让我们探索一张图表,其中绘制了一只股票的收盘价以及 SuperTrend 指标的读数。

img

图片作者

在上图中,蓝线代表特斯拉股票的收盘价,红绿线代表 SuperTrend 指标的读数。如果指标读数低于收盘价,SuperTrend 指标线变为绿色,如果高于收盘价,则变为红色。正如我之前所说,SuperTrend 指标是一个趋势跟踪指标,这一点可以在图表中观察到,该指标更准确地直接揭示了市场的当前趋势。

交易者使用在 SuperTrend 指标线中观察到的颜色变化或趋势变化来标记其交易的买入和卖出信号。更详细地说,如果指标线从收盘价线上方穿越到收盘价线下方,交易者做多(买入股票),同样,如果指标线从收盘价线下方穿越到收盘价线上方,交易者做空(卖出股票)线。这种 SuperTrend 策略称为交叉策略。该策略可以表示如下:

1
2
IF PREV.ST > PREV.CLOSE AND CUR.ST < CUR.CLOSE ==>买入信号
IF PREV.ST < PREV.CLOSE AND CUR.ST > CUR.CLOSE ==>卖出信号

这也是我们将在本文中实施的策略。

参考:https://medium.com/codex/step-by-step-implementation-of-the-supertrend-indicator-in-python-656aa678c111