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

Pine Script双SMMA交叉预警异常:选一个却触发双预警求助

Pine Script v5双SMMA交叉预警问题解决

问题描述

编写了基于5和13周期SMMA交叉的预警脚本,预期:

  • 5周期SMMA上穿13周期时触发多头预警
  • 5周期SMMA下穿13周期时触发空头预警
    但遇到两个问题:
  1. 预警菜单中只能选择一个预警项
  2. SMMA交叉时会同时触发两个预警

错误原因分析

  1. 预警定义方式错误:直接使用alert()函数时,TradingView会将所有预警合并为一个选项,无法区分多头/空头预警;需要用alertcondition()来定义独立的预警条件。
  2. 交叉条件逻辑写反:原脚本中MyCondition用ta.crossover(smma2, smma1)(13周期SMMA上穿5周期)却触发多头预警,逻辑完全颠倒,导致交叉时条件判断混乱,可能同时触发两个预警。
  3. 绘图与预警条件不一致:绘图的交叉条件和预警条件逻辑不匹配,进一步加剧了信号混乱。

修正后的代码

//@version=5
indicator('SMMA 5-13 cross', shorttitle='SMMA 5-13 Cross', overlay=true, max_bars_back=501)

// 5周期SMMA计算
len1 = input.int(5, minval=1, title='Short SMMA Length')
src1 = input(close, title='Short SMMA Source')
smma1 = 0.0
sma_1 = ta.sma(src1, len1)
smma1 := na(smma1[1]) ? sma_1 : (smma1[1] * (len1 - 1) + src1) / len1
plot(smma1, color=color.new(color.lime, 0), linewidth=3)

// 时间过滤设置
timeInput = input('0830-1600', title="Indicator Active Time (Exchange Timezone):")
t = time(timeframe.period, timeInput)

// 13周期SMMA计算
len2 = input.int(13, minval=1, title='Long SMMA Length')
src2 = input(close, title='Long SMMA Source')
smma2 = 0.0
sma_2 = ta.sma(src2, len2)
smma2 := na(smma2[1]) ? sma_2 : (smma2[1] * (len2 - 1) + src2) / len2
plot(smma2, color=color.new(color.red, 0), linewidth=3)

// 修正后的交叉条件
longCondition = ta.crossover(smma1, smma2) and t  // 5周期上穿13周期=多头信号
shortCondition = ta.crossunder(smma1, smma2) and t // 5周期下穿13周期=空头信号

// 绘制交叉标记
plot(longCondition ? smma1 : na, style=plot.style_circles, linewidth=10, color=color.new(color.green, 50))
plot(shortCondition ? smma1 : na, style=plot.style_circles, linewidth=10, color=color.new(color.red, 50))

// 定义独立预警条件
alertcondition(longCondition, title="SMMA Cross Long", message="5周期SMMA上穿13周期,多头信号")
alertcondition(shortCondition, title="SMMA Cross Short", message="5周期SMMA下穿13周期,空头信号")

关键修改点

  • 用alertcondition()替代alert(),分别定义多头/空头预警,预警菜单会显示两个独立选项,可分别设置通知方式。
  • 修正交叉条件逻辑,让longCondition对应5周期SMMA上穿13周期,shortCondition对应下穿,保持信号逻辑一致。
  • 统一绘图和预警的条件,确保标记和预警信号完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 08:47:31