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

基于HMA指标编写Pine Editor多空仓位入场策略的技术咨询

Pine Script HMA指标多空入场信号实现方案

核心逻辑说明

你现有代码已经实现了HMA的趋势识别:当hma>hma2时HMA为蓝色代表上升趋势,反之为橙色代表下降趋势,我们直接基于趋势反转的临界节点生成入场信号即可:

  • 多头入场触发条件:HMA从橙色转为蓝色,即上一周期hma <= hma2、当前周期hma > hma2,对应趋势由跌转涨
  • 空头入场触发条件:HMA从蓝色转为橙色,即上一周期hma >= hma2、当前周期hma < hma2,对应趋势由涨转跌

修改后完整代码(保留原有逻辑,新增信号标记)

//@version=3
study(title="HMA带多空信号", overlay=true)
n=input(title="period",type=integer,defval=14)

// 原有HMA计算逻辑不变
wma1=2*wma(close,round(n/2))
wma2=wma(close,n)
diff=wma1-wma2
sqn=round(sqrt(n))

NextDaywma1=2*wma(close[1],round(n/2))
NextDaywma2=wma(close[1],n)
NextDaydiff=NextDaywma1-NextDaywma2

hma=wma(diff,sqn)
hma2=wma(NextDaydiff,sqn)
c=hma>hma2?blue:orange
plot(hma,color=c, linewidth=3)

// 新增:多空信号判断
longCondition = hma > hma2 and hma[1] <= hma2[1]
shortCondition = hma < hma2 and hma[1] >= hma2[1]

// 新增:信号可视化标记
plotshape(series=longCondition, title="多头入场", location=location.belowbar, color=green, style=shape.arrowup, size=size.small, text="多")
plotshape(series=shortCondition, title="空头入场", location=location.abovebar, color=red, style=shape.arrowdown, size=size.small, text="空")

// 可选:新增信号提醒触发条件
alertcondition(condition=longCondition, title="多头信号", message="HMA触发多头入场")
alertcondition(condition=shortCondition, title="空头信号", message="HMA触发空头入场")

可选优化方向

如果你需要结合已有的随机震荡指标过滤假信号,可以在信号判断条件中增加随机指标的规则,比如:

  • 多头入场额外要求随机指标K线低于20(超卖区间)且K线上穿D线
  • 空头入场额外要求随机指标K线高于80(超买区间)且K线下穿D线

如果需要做策略回测,可以将代码开头的study改为strategy,再添加strategy.entry、strategy.close等仓位控制代码即可实现自动开平的回测统计。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:36:06