【趋势波段多空】双轨突破指标源码-EMA2通道+增强过滤

// 1. 参数设置
N:=30; // 通道周期
M:=5; // 短期均线周期
// 2. 计算EMA2平滑价格
// EMA2是两次EMA平滑,这里用函数简化表示,实际为EMA(EMA(C, N), N)
PRICE_EMA2:=EMA(EMA(C, N), N);
// 3. 计算动态价格通道
// 上轨(MHH): 过去N周期内EMA2的最高值
MHH:=HHV(PRICE_EMA2, N);
// 下轨(MDD): 过去N周期内EMA2的最低值
MDD:=LLV(PRICE_EMA2, N);
// 中轨(MID): 通道中值
MID:=(MHH + MDD) / 2;
// 4. 计算短期趋势参考线
MA5:=MA(C, M);
// 5. 定义“空方信号增强”和“多方信号增强”的判定
// 此处根据原文“未持续增强”的语义,定义为:最近3根K线中,至少有2根收盘价确认了反向趋势
// 做多时,检查前3根K线是否有2根及以上收于通道下轨之下(空方增强)
BEARISH_STRENGTH:=COUNT(C < REF(MDD,1), 3) >= 2;
// 做空时,检查前3根K线是否有2根及以上收于通道上轨之上(多方增强)
BULLISH_STRENGTH:=COUNT(C > REF(MHH,1), 3) >= 2;
// 6. 核心信号逻辑
// 6.1 做多信号
// 条件A: 当前收盘价有效突破并站稳通道上轨 (收盘价 > 上轨)
CONDITIONA_UP:=C > MHH;
// 条件B: 空方信号未持续增强
CONDITIONB_UP:=NOT(BEARISH_STRENGTH);
// 综合多单信号
BUY_SIGNAL:=CONDITIONA_UP AND CONDITIONB_UP ; // BARSSKIP用于控制信号频次
// 6.2 做空信号
// 条件A: 当前收盘价有效跌破通道下轨 (收盘价 < 下轨)
CONDITIONA_DOWN:=C < MDD;
// 条件B: 多方信号未持续增强
CONDITIONB_DOWN:=NOT(BULLISH_STRENGTH);
// 综合空单信号
SELL_SIGNAL:=CONDITIONA_DOWN AND CONDITIONB_DOWN ;
// 7. 在图表上绘制信号图标
DRAWTEXT(CROSS(BUY_SIGNAL,0.5), L*0.999, ‘多’), VALIGN0,FONTSIZE18,COLORYELLOW; // 在K线下方画绿色向上箭头
DRAWTEXT(CROSS(SELL_SIGNAL,0.5), H*1.002, ‘空’), COLORGREEN,FONTSIZE18; // 在K线上方画红色向下箭头
// 8. 绘制通道线和均线
MHH, COLORGREEN, LINETHICK1;
MDD, COLORRED, LINETHICK1;
MID, COLORBLUE, LINETHICK1;
MA5, COLORWHITE, LINETHICK1;
3.安装教程:
夜雨聆风