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

Pine Script中如何通过if语句动态切换趋势线并设置绘图颜色

修正后的可运行代码

// 可自行调整趋势确认周期参数
trendConfirmationLength = input.int(3, minval=1, title="趋势确认周期")

trend_1 = ta.sma(close, 15)
trend_2 = ta.sma(close, 30)

// 趋势线选择逻辑:K线总数>=252个交易日(1年)用trend_1,否则用trend_2
trend = len(close) >= 252 ? trend_1 : trend_2

bearish = true
for i = 0 to trendConfirmationLength - 1
    bearish := bearish and (close[i] < trend[i])

bullish = not bearish

// 配置趋势线颜色
c = bullish ? color.green : color.red

// 绘制趋势线
plot(trend, title='Trend', color = c)

核心改动说明

  • 调整了变量声明顺序:先完成趋势线的选择逻辑,再执行多空判断,解决原代码中先引用trend变量后定义的编译错误
  • 优化了趋势线选择逻辑:用三元运算符覆盖了K线长度大于等于252、小于252的所有情况,避免原代码边界条件(K线刚好252根)下trend返回空值的问题
  • 补充了缺失的trendConfirmationLength变量声明,同时设为可调整的输入参数,适配不同的验证需求
  • 补充了Pine Script v5的ta命名空间引用,兼容最新版本语法

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 15:12:03