You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用TradingView Pine Script计算下一K线RSI值

计算新K线RSI的方法及Pine Script序列创建技巧

一、手动计算周期为3的RSI

已知价格序列:3 → 4 → 5 → 8,计算第4根K线的RSI(周期3):

  1. 先计算每根K线的价格变动:
    • 第2根相对第1根:4-3=1(上涨)
    • 第3根相对第2根:5-4=1(上涨)
    • 第4根相对第3根:8-5=3(上涨)
  2. 计算周期内的平均上涨幅度与平均下跌幅度:
    • 平均涨幅 = (1+1+3)/3 = 5/3 ≈1.6667
    • 平均跌幅 = 0(无下跌变动)
  3. 代入RSI公式:
    RSI = 100 - (100 / (1 + (平均涨幅/平均跌幅)))
    由于平均跌幅为0,RS趋近于无穷大,最终RSI结果为100(所有变动均上涨时,RSI拉满)

二、Pine Script中手动创建序列的正确写法

你尝试的连续赋值写法不符合Pine Script的序列逻辑,因为序列是逐Bar生成的,每个Bar只能对应一个值。要模拟多Bar的价格序列,需要通过bar_index判断不同Bar的赋值:

//@version=5
indicator("手动模拟RSI计算", overlay=false)

// 声明保留历史值的变量,逐Bar赋值模拟收盘价序列
var float sim_close = na
if bar_index == 0
    sim_close := 3  // 第1根K线收盘价
elif bar_index == 1
    sim_close := 4  // 第2根K线收盘价
elif bar_index == 2
    sim_close := 5  // 第3根K线收盘价
elif bar_index == 3
    sim_close := 8  // 第4根K线收盘价

// 计算周期3的RSI
calc_rsi = ta.rsi(sim_close, 3)

// 输出RSI值
plot(calc_rsi, title="计算出的RSI", color=color.new(color.red, 0))

这段代码会在第4根Bar(bar_index=3)时计算出RSI=100,和手动计算结果一致。

内容的提问来源于stack exchange,提问作者Arif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 15:13:23