请求将两个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
相关产品推荐
相关产品推荐

