TR := MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR := MA(TR,13);
COND1:=COUNT(ISUP,5)>=4 && COUNT(L>REF(H,2),5)>=2 &&(H-REF(L,5))>3.3*ATR;
COND2:=COUNT(ISDOWN,5)>=4 && COUNT(H<REF(L,2),5)>=2&&(REF(H,5)-L)>3.3*ATR;
N:=5;
SS:=L<REF(L,1)&&COUNT(L<REF(L,1),BARSLAST(CROSS(COND1,0.5)))=1&&BARSLAST(CROSS(COND1,0.5))>=1&&BARSLAST(CROSS(COND1,0.5))<=N;
XX:=H>REF(H,1)&&COUNT(H>REF(H,1),BARSLAST(CROSS(COND2,0.5)))=1&&BARSLAST(CROSS(COND2,0.5))>=1&&BARSLAST(CROSS(COND2,0.5))<=N;// 步骤2:动态EMA线定义
EMA_LINE:=IF(HHV(TIME,BARPOS)<2100, EMA(C,144),
IF(HHV(TIME,BARPOS)>=2100 && LLV(TIME,BARPOS)>=900, EMA(C,188),EMA(C,333)));// 步骤3:增加价格位置过滤条件
SS_NEW := SS && C>EMA_LINE;
//?看多:满足原条件且价格在线上
XX_NEW := XX && C<EMA_LINE;
// 看空:满足原条件且价格在线下// 步骤4:更新信号标记和预警
DRAWTEXT(SS_NEW, L, ‘上’), VALIGN0;
//?看多标记
DRAWTEXT(XX_NEW, H, ‘下’), VALIGN0;
// 看空标记
REF(SS_NEW,1), NOTICE;
REF(XX_NEW,1), NOTICE;

