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

请求将两个LazyBear指标转换为Pine Script v5并合并

Pine Script v5 转换与合并方案

以下是将你提供的两个LazyBear指标转换为Pine Script v5并合并后的完整代码,同时解决iff命令的适配问题:

//@version=5
indicator("RSI Bands + WaveTrend", shorttitle="RSIBANDS+WT", overlay=true)

// --- RSI Bands 指标部分 ---
obLevel = input.int(70, title="RSI Overbought")
osLevel = input.int(30, title="RSI Oversold")
length = input.int(14, title="RSI Length")
src = close
ep = 2 * length - 1
auc = ta.ema(ta.max(src - src[1], 0), ep)
adc = ta.ema(ta.max(src[1] - src, 0), ep)

// v5中iff依然可用,逻辑与v4完全一致
x1 = (length - 1) * (adc * obLevel / (100 - obLevel) - auc)
ub = ta.iff(x1 >= 0, src + x1, src + x1 * (100 - obLevel) / obLevel)

x2 = (length - 1) * (adc * osLevel / (100 - osLevel) - auc)
lb = ta.iff(x2 >= 0, src + x2, src + x2 * (100 - osLevel) / osLevel)

// 主图绘制RSI Bands
plot(ub, title="Resistance", color=color.red, linewidth=2)
plot(lb, title="Support", color=color.green, linewidth=2)

// --- WaveTrend 指标部分 ---
n1 = input.int(10, "Channel Length")
n2 = input.int(21, "Average Length")
obLevel1 = input.int(60, "Over Bought Level 1")
obLevel2 = input.int(53, "Over Bought Level 2")
osLevel1 = input.int(-60, "Over Sold Level 1")
osLevel2 = input.int(-53, "Over Sold Level 2")

ap = ta.hlc3
esa = ta.ema(ap, n1)
d = ta.ema(ta.abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ta.ema(ci, n2)

wt1 = tci
wt2 = ta.sma(wt1, 4)

// 副图绘制WaveTrend
plot(wt1, title="WT1", color=color.blue, linewidth=2, display=display.data_window)
plot(wt2, title="WT2", color=color.orange, linewidth=2, display=display.data_window)
hline(obLevel1, "OB Level 1", color=color.red)
hline(obLevel2, "OB Level 2", color=color.orange)
hline(osLevel1, "OS Level 1", color=color.green)
hline(osLevel2, "OS Level 2", color=color.lime)

关键修改点说明

  • 入口函数替换:将v4的study改为v5的indicator,保留overlay=true使RSI Bands叠加在主图
  • iff适配:v5中ta.iff()(或直接iff())功能与v4完全一致,也可替换为三元运算符x1 >= 0 ? src + x1 : src + x1 * (100 - obLevel) / obLevel
  • 颜色常量:v5中颜色需添加color.前缀,如red→color.red
  • 函数前缀:所有技术分析函数需添加ta.前缀(如ema→ta.ema、max→ta.max)
  • 指标合并:通过display=display.data_window将WaveTrend指定到副图,与主图的RSI Bands分离显示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 14:25:36