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

Pine Script v5编程求助:RSI多空条件及线位置判断

Pine Script v5 实现RSI均线交叉策略及线位置判断

一、RSI上穿/下穿均线的交易信号代码

以下是符合需求的代码,包含可配置的RSI长度、均线长度参数,以及明确的做多/做空信号标记:

//@version=5
indicator("RSI 均线交叉策略", overlay=false)

// 输入参数
rsiLength = input.int(14, title="RSI Length")
maLength = input.int(9, title="MA Length")

// 计算RSI及其均线
rsiValue = ta.rsi(close, rsiLength)
rsiMa = ta.sma(rsiValue, maLength)

// 判断交叉条件
longCondition = ta.crossover(rsiValue, rsiMa)
shortCondition = ta.crossunder(rsiValue, rsiMa)

// 绘制交易信号
plotshape(longCondition, title="做多信号", location=location.belowbar, color=color.green, style=shape.labelup, text="做多")
plotshape(shortCondition, title="做空信号", location=location.abovebar, color=color.red, style=shape.labeldown, text="做空")

// 绘制RSI和均线
plot(rsiValue, color=color.blue, title="RSI")
plot(rsiMa, color=color.orange, title="RSI 均线")
hline(70, "超买")
hline(30, "超卖")

代码说明:

  • 用input.int定义可调整的参数,方便你根据需求修改
  • 通过ta.rsi计算RSI值,ta.sma计算RSI的简单均线(可替换为ta.ema等其他均线类型)
  • ta.crossover检测RSI上穿均线的做多触发点,ta.crossunder检测RSI下穿均线的做空触发点
  • 用plotshape在K线上直观标记信号,同时绘制RSI和均线便于观察走势

二、判断Line A是否在Line B上方的方法

判断两条线的位置关系分两种常见场景,对应不同实现方式:

1. 判断当前K线中Line A是否在Line B上方

直接通过数值比较即可,假设lineA和lineB是你计算出的两条线当前值:

// 示例:判断当前bar中lineA是否在lineB上方
lineA = ta.sma(close, 20)
lineB = ta.sma(close, 50)
isLineAAbove = lineA > lineB

// 可选:标记当前状态
plotchar(isLineAAbove, title="A在B上方", location=location.top, char="↑", color=color.green)

2. 判断Line A是否持续在Line B上方(如连续N根K线)

如果需要判断Line A是否一段时间内始终在Line B上方,可结合ta.all实现:

// 示例:判断Line A是否连续5根K线在Line B上方
lineA = ta.sma(close, 20)
lineB = ta.sma(close, 50)
isLineA持续Above = ta.all(lineA > lineB, 5)

// 标记持续状态
plotshape(isLineA持续Above, title="A持续在B上方", location=location.belowbar, color=color.blue, style=shape.labelup, text="A>B")

核心逻辑是通过lineA > lineB获取单根K线的位置关系,再根据需求扩展为持续状态的判断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 18:25:28