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

将Heikin Ashi策略脚本转为Study并添加买卖信号警报求助

问题解决:将Heikin Ashi策略脚本转为Study类型并实现警报功能

原脚本无法运行的核心原因是最后两行使用了Strategy模式专属的下单函数(strategy.long/strategy.short),而Study模式不支持这类策略交易指令。以下是修改后的完整代码及关键调整说明:

修改后的完整代码

study("Heikin Ashi Strategy [Krypt]", shorttitle="HA Strategy [Krypt]", overlay=true)

res = input(title="Heikin Ashi Candle Time Frame", type=resolution, defval="60")
hshift = input(1,title="Heikin Ashi Candle Time Frame Shift")
res1 = input(title="Heikin Ashi EMA Time Frame", type=resolution, defval="180")
mhshift = input(0,title="Heikin Ashi EMA Time Frame Shift")
fama = input(1,"Heikin Ashi EMA Period")
test = input(1,"Heikin Ashi EMA Shift")
sloma = input(30,"Slow EMA Period")
slomas = input(1,"Slow EMA Shift")
logtransform = input(false, "Log Transform")
stoploss = input(true, "Stop Loss")
showplots = input(true, "Show Plots")

ha_t = heikinashi(tickerid)
ha_close = security(ha_t, res, logtransform ? log(close[hshift]) : close[hshift])
mha_close = security(ha_t, res1, logtransform ? log(close[mhshift]) : close[mhshift])

fma = ema(mha_close[test], fama)
sma = ema(ha_close[slomas], sloma)

plot(showplots ? (logtransform ? exp(fma) : fma) : na, title="MA", color=#0094ff, linewidth=2, style=line)
plot(showplots ? (logtransform ? exp(sma) : sma) : na, title="SMA", color=#ff6a00, linewidth=2, style=line)

golong = crossover(fma, sma)
goshort = crossunder(fma, sma)

// 替换原策略下单代码:用可视化标记显示买卖信号
plotshape(golong, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", textcolor=color.white)
plotshape(goshort, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", textcolor=color.white)

// 添加警报功能:触发信号时推送提醒
alertcondition(golong, title="Buy Alert", message="Heikin Ashi Strategy: Buy Signal Triggered")
alertcondition(goshort, title="Sell Alert", message="Heikin Ashi Strategy: Sell Signal Triggered")

关键调整说明

  1. 移除的无效代码
    直接删除原脚本最后两行:

    plot("Buy", strategy.long, when=golong, stop=(stoploss ? high+syminfo.mintick : na))
    plot("Sell", strategy.short, when=goshort, stop=(stoploss ? low-syminfo.mintick : na))
    

    这两行是Strategy模式专属的下单逻辑,Study模式不支持,必须移除才能正常运行。

  2. 新增可视化信号标记
    用plotshape函数在K线下方/上方绘制买入/卖出标签,直观展示信号触发位置,替代原策略下单的可视化逻辑。

  3. 新增警报功能
    通过alertcondition函数分别为买入、卖出信号配置警报,你可以在TradingView的警报设置中选择推送方式(邮件、短信、APP通知等)。

  4. 保留核心逻辑
    所有Heikin Ashi数据获取、EMA计算、信号判断的代码完全保留,确保策略核心逻辑不变。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 08:30:24