Schaff趋势周期指标的计算方法:公式、输入与限制

了解Schaff趋势周期指标的计算输入与局限性。

Schaff趋势周期指标的计算方法:公式、输入与限制

直接答案

Schaff趋势周期(STC)通常通过取一条类似MACD的动量线,并使用两步式随机归一化将其转换为有界振荡器来计算。在实际操作中,您先计算一个中间MACD,对其进行平滑处理,然后应用滚动最小/最大值归一化,将结果映射到0–100的范围内。一些实现方式会多次应用随机归一化(通常称为“双重随机”方法),因此STC对所选回溯周期和平滑参数非常敏感。

机制与定义(STC的作用)

STC是一种旨在表达趋势-周期行为的振荡器。“振荡器”在此表示输出被映射到一个固定范围(通常为0到100),而不是以原始价格单位表示。这种映射使您即使在价格水平变化时也能比较不同时期的转折点。

一种广泛使用的概念性流程如下:

  1. 从选定的价格输入计算类似MACD的序列。
    • 使用两个不同长度的移动平均线构建一条类似MACD的线。
    • 对MACD线应用第二个移动平均线(通常称为信号线),生成一个平滑的动量指标。
    • STC计算通常使用平滑后的MACD或一个密切相关线作为随机归一化的输入。
  2. 使用滚动最小/最大值窗口对动量序列进行归一化。
    • 对于每个时间步,找出动量序列在回溯窗口内的最低最高值。
    • 计算一个分数,表示当前值在该最小值和最大值之间的相对位置。
    • 乘以100,得到0–100的刻度。
  3. 可选:再次应用归一化(双重随机行为)。
    • 许多STC描述包含额外的随机映射步骤,这将进一步平滑和重塑振荡器。

由于不同实现方式可能存在差异(例如,使用多少次随机处理、如何应用平滑、以及归一化输入的是哪条确切的动量线),最可靠的验证STC的方法是检查平台的确切定义,并重现相同的中间步骤。

公式、参数与数据要求(如何独立验证)

数据要求

要计算STC,您需要:

  • 一个按时间排序的价格序列(例如,收盘价序列)。确切的价格字段很重要。
  • 一致的时间步长(例如,每个周期一个K线)。
  • 用于移动平均长度和归一化回溯的选定参数。

如果您想独立验证STC计算,必须使用与待测试实现相同的输入序列相同的参数值

常见参数集

许多STC描述使用如下参数:

  • 速移动平均长度
  • 速移动平均长度
  • 用于类似MACD组件的信号平滑长度
  • 用于随机最小/最大归一化的周期回溯窗口
  • 定义中间步骤使用何种平滑方法的可选设置

由于所有供应商之间没有统一的通用公式,应将这些视为参数的“典型”角色,而非保证的名称。

核心归一化步骤(随机风格)

归一化步骤使用滚动窗口。对于给定的输入序列 (x_t) 和回溯长度 (L):

[ \text{Osc}t = 100\times \frac{x_t - \min(x{t-L+1\ldots t})}{\max(x_{t-L+1\ldots t}) - \min(x_{t-L+1\ldots t})} ]

此处出现两个重要边界情况:

  • 如果在回溯窗口内 (\max = \min)(无变化),分母变为零。许多实现将振荡器定义为0、100或“沿用”前一个值;您需要匹配特定平台的规则。
  • 滚动最小/最大值使STC具有路径依赖性:改变 (L) 会改变归一化历史。

将步骤组合成STC

典型的STC实现遵循以下思路:

  • 设 (m_t) 为应用选定移动平均和任何信号平滑后得到的类似MACD的动量序列。
  • 使用周期回溯对 (m_t) 应用随机归一化,生成一个中间振荡器。
  • 如果实现使用“双重随机”方法,则再次对中间振荡器应用随机归一化(使用相同或相关的回溯窗口和相同的0–100映射)。

如果您在不同平台间比较结果并发现差异,这种差异通常来自以下“机制”之一:

  • 哪条确切的线被用作 (x_t)(原始MACD vs. 信号线 vs. 差值)
  • 随机步骤是应用一次还是两次
  • 类似MACD组件中使用的平滑方法
  • 对零范围窗口 ((\max=\min)) 的处理方式

局限性与风险(STC可能失效的情况)

  1. 参数敏感性。 STC依赖多个回溯和平滑长度。微小的变化可能移动转折点,使相同市场根据设置看起来更“趋势性”或更“周期性”。

  2. 低波动条件下的归一化不稳定性。 当输入序列在回溯窗口内变化极小时,最小/最大范围可能变得极小,导致振荡器跳跃或受实现中零分母规则的主导。

  3. 市场状态与噪声影响。 STC是从动量和滚动极值导出的振荡器。在噪声大、横盘或快速变化的市场状态下,振荡器可能产生频繁波动,但这些波动并不对应于基础价格的持续方向性运动。

  4. 误读风险。 有界振荡器并不自动构成独立的“买入”或“卖出”信号。解释STC的交叉或水平需要结合上下文和一致的规则集;否则,相同的振荡器行为在不同市场条件下可能意味着不同含义。

验证与后续问题(如何检查您的计算)

要独立验证STC:

  • 使用相同的输入价格序列和完全相同的参数,逐步重现计算过程。
  • 记录中间结果:类似MACD的组件、第一次归一化输出、以及第二次归一化输出(如使用)。
  • 检查平台对 (\max=\min) 情况的特定处理方式,并确认平滑是在每次转换之前还是之后应用。

如果您愿意,可以分享您试图匹配的确切参数名称和平台STC描述(例如,用于类似MACD部分的长度和周期回溯)。然后您可以比较每个中间步骤,而不仅仅是依赖最终振荡器的形状。

外汇和差价合约交易具有重大风险。FoxiForex的信息仅用于教育,不构成个人财务建议。赞助内容会被清楚标注。