RCCD(异同离差变化率指数)
RC 指标为当前价格与昨日价格的比值。
当 RC 指标 >1 时,说明价格在上升;当 RC 指标增大时,说明价格上升速度在增快。
当 RC 指标 <1 时,说明价格在下降;当 RC 指标减小时,说明价格下降速度在增快。
RCCD 指标先对 RC 指标进行平滑处理,再取不同时间长度的移动平均的差值,再取移动平均。
计算公式:
• RC= 收盘价 / M 天前的收盘价
• ARC=sma(data, 昨日 RC,M, 1)
• DIF=ma(data, 昨日 ARC, N1)-ma(data, 昨日 ARC,N2)
• RCCD1=sma(data,DIF,M, 1)
M、N1、N2 为时间周期
指标参数:
y1 |
DIF输出列 |
y2 |
RCCD输出列 |
n1 |
周期 1,如 59 |
n2 |
周期 2,如 21 |
n3 |
周期 3,如 18 |
函数代码:
A |
B |
|
1 |
func RCCD(A,$y1,$y2,n1,n2,n3) |
=A.derive@o(:rccd_rc,:rccd_arc) |
2 |
=A.run(收盘 / 收盘 [-n1]:rccd_rc, (rccd_rc[-1]+(n1-1)*rccd_arc[-1])/n1:rccd_arc ) |
|
3 |
=A.run(avg(rccd_arc[-n2:-1])-avg(rccd_arc[-n3:-1]):${y1}, (${y1}+(n1-1)*${y2}[-1])/n1:${y2}) |
|
4 |
=A.alter(;rccd_rc,rccd_arc) |
将函数保存在 indicator.splx 中。
举例:例调用脚本计算浦发银行 2024 年的 RCCD,n 分别取 59,21,18。
A |
B |
|
… |
… |
|
5 |
=call@f("indicator.splx") |
登记脚本中的函数 |
6 |
… |
计算出源数据 |
7 |
=A6.derive(:DIF,RCCD) |
增加要返回的指标字段 |
8 |
=RCCD(A7,DIF,RCCD,59,21,18) |
调用函数计算指标 |
运行效果: