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

如何在Pine Script中实现DEMA与TEMA同时交叉时触发警报?

Pine Script 警报逻辑修复方案:DEMA与TEMA同步穿越触发警报

核心需求实现

要实现仅当DEMA和TEMA同时向上穿越收盘价(多单信号)或同时向下穿越收盘价(空单信号)时触发警报及策略入场,需将两个指标的穿越条件用and逻辑合并,避免单个指标触发信号。

修复后完整代码

//@version=5
strategy("DEMA-TEMA 同步穿越策略", overlay=true)

// 补全DEMA与TEMA的标准计算逻辑(若原代码已有此部分可直接替换)
length = input.int(14, title="指标周期")
src = close
// DEMA计算
ema1 = ta.ema(src, length)
ema2 = ta.ema(ema1, length)
dema = 2 * ema1 - ema2
// TEMA计算
ema3 = ta.ema(ema2, length)
tema = 3 * ema1 - 3 * ema2 + ema3

// 同步穿越条件:两个指标必须同时触发同向穿越
longCondition = ta.crossover(close, tema) and ta.crossover(close, dema)
shortCondition = ta.crossunder(close, tema) and ta.crossunder(close, dema)

// 策略入场:仅同步条件满足时执行
if (longCondition)
    strategy.entry("同步多单", strategy.long)

if (shortCondition)
    strategy.entry("同步空单", strategy.short)

// 止损逻辑:沿用原规则,仅对应同步入场单生效
strategy.exit("同步多单止损", stop=ta.lowest(low, 10))
strategy.exit("同步空单止损", stop=ta.highest(high, 10))

// 警报逻辑:同步条件触发时推送对应警报
alertcondition(longCondition, title="DEMA&TEMA同步向上穿越", message="DEMA与TEMA同时向上穿越收盘价,多单信号触发")
alertcondition(shortCondition, title="DEMA&TEMA同步向下穿越", message="DEMA与TEMA同时向下穿越收盘价,空单信号触发")

关键修复点说明

  • 条件合并:用and逻辑将两个指标的穿越条件绑定,确保只有同时满足时才触发信号,解决单个指标误触发问题
  • 警报绑定:通过alertcondition函数直接关联同步条件,生成符合要求的警报通知
  • 逻辑简化:合并原代码中重复的入场逻辑,避免两个指标单独入场导致的冗余操作
  • 指标补全:示例中包含DEMA与TEMA的标准计算逻辑,可根据你的参数需求调整周期数值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 20:55:12