

文华财经代码核心信号原理如下(核心分析):
- 局部高低点识别
HHG1
识别当前K线为局部最高点的条件:需连续高于前8根K线最高价且高于后8根K线最高价(含未来函数REFX)。LLD1
同理识别局部最低点。VALUEWHEN
函数记录这些高低点值(HHG2/LLD2
)。 - 动态通道生成(G通道)
- 通过
H1/L1
捕捉特定K线组合(如两日高点下移且阴线)确定关键价位。 K1/K2
根据收盘价与这些价位的比较划分多空状态(1为空,-3为多)。- G通道由
K2
状态动态生成:空头时取H2*1.0005
(阻力),多头时取L2/1.0005
(支撑)。 - 价格与G通道关系用红/蓝线可视化(上破红色支撑,下破蓝色阻力)。
- 通过
- 趋势过滤通道(DC通道)
DC
通道基于前13周期最高/最低点(CH2/CL2
)动态切换,收盘价突破前高/前低时切换方向,用于辅助判断趋势。
信号触发核心:
- 局部反转信号:
HHG1>0
或LLD1>0
时标记高低点数值(青色/红色数字)。 - 多空方向信号:价格突破G通道(变色线)结合K线颜色(红/蓝实体)判断短期方向。
- 双通道验证:当价格位于G通道与DC通道之间时,用绿色K线标记震荡区域。
=======================================
文华财经 源码
===========================================
HHG1:=IFELSE(H>=REF(H,1) AND H>=REF(H,2) AND H>=REF(H,3) AND H>=REF(H,4) AND H>=REF(H,5) AND H>=REF(H,6) AND H>=REF(H,7) AND H>=REF(H,8) AND H>REFX(H,1) AND H>REFX(H,2) AND H>REFX(H,3) AND H>=REF(H,4) AND H>=REF(H,5) AND H>REFX(H,6) AND H>REFX(H,7) AND H>REFX(H,8),HIGH,0);
LLD1:=IFELSE(L<=REF(L,1) AND L<=REF(L,2) AND L<=REF(L,3) AND L<=REF(L,4) AND L<=REF(L,5) AND L<=REF(L,6) AND L<=REF(L,7) AND L<=REF(L,8) AND L<REFX(L,1) AND L<REFX(L,2) AND L<REFX(L,3) AND L<=REF(L,4) AND L<=REF(L,5) AND L<REFX(L,6) AND L<REFX(L,7) AND L<REFX(L,8),LOW,0);
HHG2:=VALUEWHEN(HHG1>0,HHG1);
LLD2:=VALUEWHEN(LLD1>0,LLD1);
HHG3:=IFELSE(HHG2<>REF(HHG2,1),HHG2-LLD2,0);
LLD3:=IFELSE(LLD2<>REF(LLD2,1),HHG2-LLD2,0);
DRAWNUMBER(HHG3>0,HIGH,HHG1,0,COLORCYAN);
DRAWNUMBER(LLD3>0,LOW,LLD1,0,COLORRED),ALIGN2,VALIGN0;
DRAWSL(ISLASTBAR,C,0,12,3,RGB(128,64,64)),DOT;
HH:=HHV(HIGH,2);
LH:=LLV(LOW,2);
H1:=IFELSE(HH<REF(HH,1) AND LH<REF(LH,1) AND REF(OPEN,1)>CLOSE AND OPEN>CLOSE AND (HHV(OPEN,0)-CLOSE)>0,REF(HH,2),0);
L1:=IFELSE(LH>REF(LH,1) AND HH>REF(HH,1) AND REF(OPEN,1)<CLOSE AND OPEN<CLOSE AND (CLOSE-LLV(OPEN,0))>0,REF(LH,2),0);
H2:=VALUEWHEN(H1>0,H1);
L2:=VALUEWHEN(L1>0,L1);
K1:=IFELSE(CLOSE>H2*1.0005,-3,IFELSE(CLOSE<L2/1.0005,1,0));
K2:=VALUEWHEN(K1<>0,K1);
G:IFELSE(K2=1,H2*1.0005,L2/1.0005),COLORYELLOW,NODRAW;
PARTLINE((C<=G),G,COLORBLUE),LINETHICK2;
PARTLINE((C>=G),G,COLORRED),LINETHICK2;
DRAWSL(ISLASTBAR,G,0,4,0,COLORYELLOW),LINETHICK2;
DRAWNUMBER(ISLASTBAR,G,G,0,COLORYELLOW),ALIGN0;
W2:=OPEN-CLOSE;
HT:=IFELSE(OPEN>CLOSE,OPEN,CLOSE);
LT:=IFELSE(OPEN<CLOSE,OPEN,CLOSE);
DRAWLINE(K2=1,HIGH,K2=1,HT,RGB(0,128,255));
DRAWLINE(K2=1,LOW,K2=1,LT,RGB(0,128,255));
DRAWLINE(K2=-3,HIGH,K2=-3,HT,COLORLIGHTRED);
DRAWLINE(K2=-3,LOW,K2=-3,LT,COLORLIGHTRED);
STICKLINE(G>=C,OPEN,CLOSE,RGB(0,128,255),1);
STICKLINE(G<C,OPEN,CLOSE,COLORRED,1);
STICKLINE(W2>0 AND G<=C,OPEN,CLOSE,COLORLIGHTRED,0);
STICKLINE(W2>0 AND G>=C,OPEN,CLOSE,RGB(0,128,255),0);
STICKLINE(CLOSE=OPEN,CLOSE,OPEN,COLORWHITE,0),LINETHICK2;
DRAWLINE(CLOSE=OPEN,HIGH,CLOSE=OPEN,LOW,COLORWHITE),LINETHICK2;
CH2:=REF(HHV(H,13),1),DOT;
CL2:=REF(LLV(L,13),1),DOT;
CK1:=IFELSE(CLOSE>CH2,-3,IFELSE(CLOSE<CL2,1,0));
CK2:=VALUEWHEN(CK1<>0,CK1);
DC:IFELSE(CK2=1,CH2,CL2),RGB(0,128,255),NODRAW;
STICKLINE((CLOSE>G AND CLOSE<DC)||(CLOSE<G AND CLOSE>DC) AND CLOSE>OPEN,OPEN,CLOSE,COLORLIGHTGREEN,1);
STICKLINE((CLOSE<G AND CLOSE>DC)||(CLOSE<G AND CLOSE>DC) AND CLOSE<OPEN,OPEN,CLOSE,RGB(128,0,0),1);
PARTLINE((C<=DC),DC,COLORGREEN),LINETHICK2;
PARTLINE((C>=DC),DC,COLORMAGENTA),LINETHICK2;
DRAWSL(ISLASTBAR,DC,0,2,0,COLORYELLOW);
DRAWNUMBER(ISLASTBAR,DC,DC,0,COLORYELLOW),ALIGN0;