「通达信RSI指标公式里的周期改成 3 是不是更灵敏」这类问题,答案取决于你想让这条线承担什么任务。周期越小,线对最近几根的反应越快,同时被一两根异常波动带偏的概率也越大。把三个周期各管什么、阈值从哪里来、钝化是什么先理清,参数就不需要反复试。
本文按三条线的分工、计算机制、周期改动的效果、阈值取值、钝化现象与参数定稿六层讲。文中提到的默认参数为客户端自带指标的常见取值,不同版本与券商定制版可能给出别的默认值,请以你所用客户端的实际参数表与帮助文档为准。
一、三条线对应三个周期
通达信RSI指标公式在客户端里落地成三条曲线,参数表里对应三个周期值。客户端自带的版本常见取值为 6、12、24,分别落在短、中、长三个尺度上。
| 输出线 | 常见周期 | 读数的侧重 |
|---|---|---|
| 短周期线 | 6 | 贴近最近几根的强弱变化 |
| 中周期线 | 12 | 兼顾反应速度与平滑度 |
| 长周期线 | 24 | 反映较长一段的强弱分布 |
三条线的关系本身就是信息。短周期线在中周期线上方,说明最近几根的相对强度高于前一段;两条线互相穿越,说明两个尺度的强弱关系发生了切换。单独看一条线,会把这种关系丢掉。
二、计算机制:涨跌幅的比例关系
RSI 的构造思路是把一段区间内的波动拆成两部分:向上的部分与向下的部分。先分别求这两部分在这段区间里的平均幅度,再用向上的部分占两者之和的比例乘 100,得到 0 到 100 之间的读数。
关键在两处。第一处是「向上」与「向下」的判定用当前收盘价与前一根收盘价的差,而不是用开盘价或最高最低价,所以同一根 K 线的形态再夸张,只要收盘价比前一根高,贡献的仍然是向上部分。第二处是平滑方式,通达信内置的 RSI 对涨跌幅分别做平滑后再取比值,这种平滑对新数据的权重高于简单移动平均,所以读数在行情转折附近会比等权平均更快地反应。
{ RSI 的计算结构拆解,用于理解口径而非替换内置函数 }
涨:MAX(C-REF(C,1), 0);
跌:MAX(REF(C,1)-C, 0);
{ 分别对涨、跌做 N 周期平滑 }
涨均:=SMA(涨, N, 1);
跌均:=SMA(跌, N, 1);
{ 取两者之比,分母为 0 时需要一个兜底 }
RSI值:IF(涨均+跌均=0, 50, 涨均/(涨均+跌均)*100);
分母为零对应的是一个区间内收盘价完全没有变化的情形,停牌前后或数据缺失时可能出现。内置函数对这种情形有既定处理,自己写的时候要给一个兜底值,否则同一段数据在不同实现下会给出不同的读数。
顺着这一点就能看出,通达信RSI指标公式与另一套同名指标在数值上出现分歧的位置,集中在行情转折之后的十几根里。用简单平均实现的版本读数变化慢,在一段单边走势里贴边时间更长;用加权平滑实现的版本对最近几根更敏感,转折刚出现就开始回撤。两条曲线画在同一张图上,形状相似而位置错开,错开的幅度就是两种平滑方式带来的差别。看到别人给出的 RSI 数值与自己算的不一致,先问清实现方式,再比较数值。
三、周期改小改大各改变什么
改动周期的时候,通达信RSI指标公式的输出会在三个方向上同时变化,这三处要一起看。
| 改动方向 | 反应速度 | 读数波动幅度 | 需要额外注意 |
|---|---|---|---|
| 周期调小 | 变快,转折出现得更早 | 变大,容易冲到两端 | 单根异常波动的权重上升 |
| 周期调大 | 变慢,转折确认得更晚 | 变小,读数集中在中间区域 | 两端阈值可能长时间不被触及 |
第三列的注意项比前两列更容易被忽略。周期调小之后,一根放量长阳就能把读数推到上限附近,这条线的位置更多由那一根决定;周期调大之后,读数长期在中间区域游走,按固定阈值设的条件长时间不成立,公式看起来像坏了,实际是周期把波动区间压窄了。
四、阈值不是一个固定数字
70 与 30 是常见的分界取值,但这个取值来自早期市场的经验总结,不是一个由计算机制推导出来的常数。读数触及上界只说明这段时间向上的成分占主导,不说明接下来会发生什么。
要让阈值有意义,可以反过来做:先统计这条线在你观察的品种与周期上,近一段时间读数落在 70 以上与 30 以下的时间占比,再根据这个占比决定阈值设在哪儿。占比很小,说明这个位置属于偏离常态的区域;占比很大,说明这个阈值在这段数据里没有区分度,需要往外挪。
五、钝化:读数长时间贴着一端
钝化指的是读数在一段较长的区间里维持在高位或低位,不再折返。原因是平滑窗口内积累了连续的同一方向变化,新数据的加入不足以把比值拉回中间区域。这是 RSI 的构造决定的,不是数据出错。
钝化期间,按阈值判定「偏离常态」的做法会连续给出同方向的结果,看起来像是一串重复信号。处理思路有两条:一是承认钝化段是单边行情的特征,把这类区间单独标出来不作为判定依据;二是换一个与 RSI 计算机制不同的尺度做交叉确认,例如用价格与均线的距离来描述同一段走势。
判断钝化是否已经出现,可以看两个量:读数与端点的距离,以及它在这个位置停留的根数。停留根数越多、读数离端点越近,说明这段时间的价格变化方向一致,比值的分子与分母同步扩大,读数被压在端点附近。这时候把阈值往外挪没有帮助,因为挪到哪里都会被触及。能起作用的做法是把这段单独标注出来,换用另一种计算机制的指标来看同一段走势。
{ 用 COUNT 统计条件在窗口内成立的根数 }
成立根数:=COUNT(RSI值>70, 20);
{ 窗口长度取 20 时,成立根数接近 20,说明这一段读数一直贴在上界 }
{ 下界那一侧同理,把比较方向换过来即可 }
钝化标记:成立根数>=15;
六、参数怎么定下来
先定用途,再定周期。用它做短周期的强弱比较,取 6 或 9;用它做一段走势的强弱分布,取 14 或 24;用它做两条线的交叉关系,两条线之间留出足够差距,6 与 24 这一组比 6 与 12 更容易分辨。
周期定完之后再定阈值,顺序反过来会出现阈值反复改但读数分布没变的情况。阈值定完,把这两个值连同周期一起写进通达信RSI指标公式的参数表,而不是写死在正文里,这样同一个公式在不改代码的前提下就能换一组口径。
最后做一次交叉核对:把同一个参数用在两个不同周期的图上,看读数分布是否发生了整体位移。位移很大,说明这个周期在该图上没有足够的样本支撑,窗口长度相对于数据长度偏大。RSI 与 KDJ 都属于同一类震荡型读数,两者在阈值处理上的差别见 量价形态与信号拆解 一栏;参数表本身的写法见 通达信公式编写教程 一栏。
文中默认周期与阈值取值为客户端自带指标的常见取值;不同版本与券商定制版对 RSI 的默认参数、平滑权重与取值上限存在差异,具体请以你所用客户端的实际参数表与帮助文档为准。本文只讨论公式参数与计算口径,不构成任何投资建议。
