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

请求帮助将V2版本Pine Script指标代码转换为V4或V5版本

Pine Script v2 转 v5 版本代码

转换后的完整v5代码

//@version=5
indicator(title="STUDY", overlay=true, shorttitle="STUDY")

// 自定义RSI计算
src = close
len = input.int(25, minval=1, title="Length")
up = ta.rma(math.max(ta.change(src), 0), len)
down = ta.rma(-math.min(ta.change(src), 0), len)
calc_rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

// 输入参数
myPeriod = input.int(7, title="Period")
myThresholdUp = input.float(50, title="Upper Threshold")
myThresholdDn = input.float(50, title="Lower Threshold")
myAlgoFlipToggle = input.bool(false, title="Inverse Algorithm")
myLineToggle = input.bool(true, title="Show Lines")
myLabelToggle = input.bool(true, title="Show Labels")

// 内置RSI调用
myRSI = ta.rsi(close, myPeriod)

// 买卖信号逻辑(修正优先级问题)
buy = myAlgoFlipToggle ? (ta.falling(myRSI, 1) and ta.cross(myRSI, myThresholdDn)) : (ta.rising(myRSI, 1) and ta.cross(myRSI, myThresholdUp))
sell = myAlgoFlipToggle ? (ta.rising(myRSI, 1) and ta.cross(myRSI, myThresholdUp)) : (ta.falling(myRSI, 1) and ta.cross(myRSI, myThresholdDn))

// 持仓状态跟踪(用var保留历史状态)
var int myPosition = 0
myPosition := buy ? 0 : (sell or myPosition[1] == 1) ? 1 : 0

// 趋势颜色
trendColor = buy ? color.red : sell ? color.green : na

// 绘制线条与标签(按开关控制)
if myLineToggle
    line.new(bar_index[1], close[1], bar_index, close, color=trendColor, width=2)

if myLabelToggle
    if buy
        label.new(bar_index, close, "BUY", color=color.red, textcolor=color.white, style=label.style_label_up)
    if sell
        label.new(bar_index, close, "SELL", color=color.green, textcolor=color.white, style=label.style_label_down)

关键修改说明

  • 版本与基础函数:将//@version=2改为//@version=5,study()替换为indicator()(v4/v5统一使用indicator声明脚本)
  • 输入系统升级:用input.int()/input.float()/input.bool()替代旧版input(),语法更简洁且类型明确
  • 命名空间规范:所有内置函数添加ta.(技术分析函数)或math.(数学函数)前缀,符合v4/v5语法要求
  • 变量冲突修复:重命名自定义RSI变量为calc_rsi,避免与内置ta.rsi()函数重名导致编译错误
  • 逻辑优先级修正:为三元运算符的分支逻辑添加括号,确保and逻辑优先于三元判断,符合原代码预期逻辑
  • 状态保留:用var关键字初始化myPosition,保证变量能保留上一根K线的状态(v4/v5默认变量无记忆性)
  • 颜色与绘制:将red/green改为color.red/color.green,补充了线条和标签的绘制逻辑,匹配原代码的开关参数
  • 拼写修正:修正Imverse Algorthim为Inverse Algorithm

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 15:48:18