

文华财经指标:
DIFF:=(EMA(CLOSE,12) - EMA(CLOSE,26))*4.1;
DEA:=EMA(DIFF,9);
// 新增60均线:价格站上变红、跌破变绿,线宽9
MA60:MA(C,60);
PARTLINE(C>=MA60,MA60,COLORRED),LINETHICK7;
PARTLINE(C<MA60,MA60,COLORGREEN),LINETHICK7;
// 修正DKB、DKA计算(替换原MA60变量)
DKB:MA60+DIFF;
DKA:MA60+DEA;
// 上涨部分:DKB>DKA 保留原绿色填充
FILLRGN(DKB>DKA,DKB,DKA,COLOR773CB2);
// 下跌部分:DKB<DKA 改为深白色(透明度10,数值越小颜色越深)
FILLRGN(DKB<DKA,DKB,DKA,COLORFFFFFF);
// 参数定义(同花顺期货通标准)
M1:4;
M2:6;
M3:9;
M4:13;
M5:18;
M6:24;
// 瀑布线计算
PB1:(EMA(CLOSE,M1)+MA(CLOSE,M1*2)+MA(CLOSE,M1*4))/3;
PB2:(EMA(CLOSE,M2)+MA(CLOSE,M2*2)+MA(CLOSE,M2*4))/3;
PB3:(EMA(CLOSE,M3)+MA(CLOSE,M3*2)+MA(CLOSE,M3*4))/3;
PB4:(EMA(CLOSE,M4)+MA(CLOSE,M4*2)+MA(CLOSE,M4*4))/3;
PB5:(EMA(CLOSE,M5)+MA(CLOSE,M5*2)+MA(CLOSE,M5*4))/3;
PB6:(EMA(CLOSE,M6)+MA(CLOSE,M6*2)+MA(CLOSE,M6*4))/3;
// 趋势判断
多头趋势:=PB1>PB2 AND PB2>PB3 AND PB3>PB4 AND PB4>PB5 AND PB5>PB6;
空头趋势:=PB1<PB2 AND PB2<PB3 AND PB3<PB4 AND PB4<PB5 AND PB5<PB6;
// J线与J2线计算
J:EMA(EMA(C,10),10),COLORRED,LINETHICK3;
J2:IF(J<REF(J,1),J,NULL),COLORBLUE,LINETHICK3;
// 修正:删除重复的MA60定义(已在开头定义)
// 核心:PB1与J/J2的金叉/死叉判定(用CROSS函数)
金叉状态:=CROSS(PB1,J);
死叉状态:=CROSS(J,PB1);
// 延续金叉/死叉状态(保持信号直到反向交叉)
金叉延续:=BARSLAST(金叉状态) < BARSLAST(死叉状态);
死叉延续:=BARSLAST(死叉状态) < BARSLAST(金叉状态);
// 按状态绘制K线:金叉→红色;死叉→青色;无信号→默认色
// 绘制K线影线
STICKLINE1(金叉状态 OR 金叉延续,LOW,HIGH,0,0),COLORRED;
STICKLINE1(死叉状态 OR 死叉延续,LOW,HIGH,0,0),COLORCYAN;
// 绘制K线实体(宽度8,0=实心)
STICKLINE(金叉状态 OR 金叉延续,OPEN,CLOSE,8,0),COLORRED;
STICKLINE(死叉状态 OR 死叉延续,OPEN,CLOSE,8,0),COLORCYAN;
// PB1分段:同J/J2逻辑,金叉延续显示红,死叉延续显示蓝,无缝衔接
PB1_UP:IF(金叉状态 OR 金叉延续,PB1,NULL),COLORRED,LINETHICK3;
PB1_DOWN:IF(死叉状态 OR 死叉延续,PB1,NULL),COLORBLUE,LINETHICK3;
// 定义20天均线
MA20:=MA(CLOSE,20);
// 定义看空条件(叠加20均线之下过滤:线上不显示)
BEARISHCONDITION := REF(CLOSE > OPEN, 2) AND REF(CLOSE < OPEN, 1) AND LOW < REF(LOW, 1) AND CLOSE < MA20;
// 画黄色横线
DRAWSL(BEARISHCONDITION, REF(L,1), 0, -2, 0, COLORYELLOW),LINETHICK7;
// 数字向下平移,黄色、居中对齐
DRAWNUMBER1(BEARISHCONDITION, REF(L,1)-5, REF(L,1), 0), COLORYELLOW, ALIGN0, LINETHICK6;
// 定义20天均线
// 定义看多条件(叠加20天均线上过滤)
BULLISHCONDITION := REF(CLOSE < OPEN, 2) AND REF(CLOSE > OPEN, 1) AND HIGH > REF(HIGH, 1) AND CLOSE > MA20;
// 画绿色横线
DRAWSL(BULLISHCONDITION, REF(H,1), 0, -2, 0, COLORGREEN),LINETHICK7;
// 数字向上平移,绿色、居中对齐
DRAWNUMBER1(BULLISHCONDITION, REF(H,1)+5, REF(H,1), 0), COLORGREEN, ALIGN0, LINETHICK6;