夫曼自适应均线与唐奇安通道是文华WH6中常被放在一起讨论的两类趋势跟踪逻辑:前者根据波动率与效率比率动态调整平滑速度,后者以固定周期的高点与低点来界定价格所处的区间边界。
把二者写在同一主图里,本质上是在同一张图表上同时观察“自适应参照线”和“区间破位边界”的相对位置关系,而不是依赖单一信号来判断方向。下面这段源码就是在这一思路下组织起来的,变量名做了分散化改写,参数统一用字母表示,适合作为公式结构学习的底稿来对照阅读

P:=12;
F:=2;
M:=24;
ZV:=CLOSE-REF(CLOSE,P);
VK:=SUM(ABS(CLOSE-REF(CLOSE,1)),P);
RE:=SUM(ABS(ZV/VK),1);
FQ:=2/(F+1);
SM:=2/(M+1);
KS:=RE*(FQ-SM)+SM;
QS:=KS*KS;
自适应线:DMA(CLOSE,QS),COLORWHITE,LINETHICK3;
波幅:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
真实波:SMA(波幅,12,1);
高破:=(H>HV(H,11));
低破:=(L<LV(L,11));
参照锚:=IF(BARSLAST(低破)<BARSLAST(高破),VALUEWHEN(低破,C+2*真实波),VALUEWHEN(高破,C-2*真实波));
下转:=高破&&自适应线<参照锚&&自适应线<C;
上转:=低破&&自适应线>参照锚&&自适应线>C;
DRAWLINE3(下转||EVERY(自适应线<C,BARSLAST(下转)),自适应线,0,1,REF(自适应线,1),1,0),COLORLIGHTRED,LINETHICK3;
DRAWLINE3(上转||EVERY(自适应线>C,BARSLAST(上转)),自适应线,0,1,REF(自适应线,1),1,0),COLORLIGHTGREEN,LINETHICK3;
Q:=5;
强突:=(下转||EVERY(自适应线<C,BARSLAST(下转)))&&C>HV(H,11)&&MAX(ABS(C-O),ABS(C-REF(C,1)))>HV(MAX(ABS(C-O),ABS(C-REF(C,1))),11);
DRAWTEXT(强突,L-Q*MINPRICE,''),COLORRED,VALIGN0,FONTSIZE25;
DRAWCOLORKLINE(强突,COLORRED,0);
弱突:=(上转||EVERY(自适应线>C,BARSLAST(上转)))&&C<LV(L,11)&&MAX(ABS(C-O),ABS(C-REF(C,1)))>HV(MAX(ABS(C-O),ABS(C-REF(C,1))),11);
DRAWTEXT(弱突,H+Q*MINPRICE,''),COLORGREEN,FONTSIZE25;
DRAWCOLORKLINE(弱突,COLORGREEN,0);
DRAWCOLORKLINE(VALUEWHEN(弱突||强突,弱突),COLORGREEN,1);
DRAWCOLORKLINE(VALUEWHEN(弱突||强突,强突),COLORRED,1);
DRAWCOLORKLINE(VALUEWHEN(弱突||强突,弱突)&&ISDOWN,COLORGREEN,0);
DRAWCOLORKLINE(VALUEWHEN(弱突||强突,强突)&&ISDOWN,COLORRED,0);
HDJ:=HHV(HIGH,1)/5+HHV(HIGH,2)/5+HHV(HIGH,2)/5+HHV(HIGH,5)/5+HHV (HIGH,8)/5;
LDJ:=LLV(LOW,1)/5+LLV(LOW,2)/5+LLV(LOW,2)/5+LLV(LOW,5)/5+LLV(LOW,8)/5;
N6:=61;
上沿:=EMA2(HIGH,N6);
下沿:=EMA2(LOW,N6);
中沿:=EMA2(CLOSE,N6);
穿高:=BARSLAST(C>上沿);
穿低:=BARSLAST(C<下沿);
均二十:=MA(C,22);
二十升:=均二十>=REF(均二十,1);
二十降:=均二十<REF(均二十,1);
XA1:=BARSLAST(TIME=0930)+1,NODRAW;
AA1:=MOD(穿高,5)=0||REFX(XA1,1),NODRAW;
NN:=REF(BARSLAST(AA1=1),1)+1,NODRAW;
Z:=(C+O)/2,NODRAW;
HX:=ISUP&&REF(ISDOWN,1)&&REF(ISDOWN,2)&&REF(ISUP,3);
LX:=ISDOWN&&REF(ISUP,1)&&REF(ISUP,2)&&REF(ISDOWN,3);
阳包:=C>REF(O,1)&&O<REF(C,1)&&HX;
阴包:=C<REF(O,1)&&O>REF(C,1)&&LX;
阳半收:=C>=REF(O,1)&&O>=REF(C,1)&&HX;
阴半收:=C<=REF(O,1)&&O<=REF(C,1)&&LX;
阳半开:=C>=REF(C,1)&&C<REF(O,1)&&HX;
阴半开:=C<=REF(C,1)&&C>REF(O,1)&&LX;
Q阳包:=BACKSET(ISLASTBAR,SUMBARS(阳包,1));
Q阴包:=BACKSET(ISLASTBAR,SUMBARS(阴包,1));
Q阳半收:=BACKSET(ISLASTBAR,SUMBARS(阳半收,1));
Q阴半收:=BACKSET(ISLASTBAR,SUMBARS(阴半收,1));
Q阳半开:=BACKSET(ISLASTBAR,SUMBARS(阳半开,1));
Q阴半开:=BACKSET(ISLASTBAR,SUMBARS(阴半开,1));
STICKLINE(阳包,O,C,COLORYELLOW,0);
STICKLINE(阴包,O,C,COLORBLUE,0);
STICKLINE(阳半收,Z,C,COLORYELLOW,0);
STICKLINE(阴半收,Z,C,COLORBLUE,0);
STICKLINE(阳半开,Z,C,COLORYELLOW,0);
STICKLINE(阴半开,Z,C,COLORBLUE,0);
STICKLINE(阳包,Z,Z,COLORCYAN,0);
STICKLINE(阴包,Z,Z,COLORWHITE,0);
STICKLINE(阳半收,Z,Z,COLORCYAN,0);
STICKLINE(阴半收,Z,Z,COLORWHITE,0);
多包:=阳包||阳半收||阳半开;
空包:=阴包||阴半收||阴半开;
DRAWSL(阳包&&Q阳包&&二十升,(C-Z)*8+C,0,7,0,COLORRED);
DRAWSL(阴包&&Q阳包&&二十降,C-(O-Z)*8,0,7,0,COLORGREEN);
DRAWSL(阳半收&&Q阳半收&&二十升,(C-Z)*8+C,0,7,0,COLORRED),DASH;
DRAWSL(阴半收&&Q阳半收&&二十降,C-(O-Z)*8,0,7,0,COLORGREEN),DASH;
DRAWSL(阳半开&&Q阳半开&&二十升,(C-Z)*8+C,0,7,0,COLORRED),DOT;
DRAWSL(阴半开&&Q阴半开&&二十降,C-(O-Z)*8,0,7,0,COLORGREEN),DOT;
DRAWNUMBER1(阳包&&Q阳包&&二十升,(C-Z)*8+C,(C-Z)*8+C,1),ALIGN0,VALIGN2;
DRAWNUMBER1(阴包&&Q阳包&&二十降,C-(O-Z)*8,C-(O-Z)*8,1),ALIGN0,VALIGN0,COLORGREEN;
DRAWNUMBER1(阳半收&&Q阳半收&&二十升,(C-Z)*8+C,(C-Z)*8+C,1),ALIGN0,VALIGN2;
DRAWNUMBER1(阴半收&&Q阳半收&&二十降,C-(O-Z)*8,C-(O-Z)*8,1),ALIGN0,VALIGN0,COLORGREEN;
DRAWNUMBER1(阳半开&&Q阳半开&&二十升,(C-Z)*8+C,(C-Z)*8+C,1),ALIGN0,VALIGN2;
DRAWNUMBER1(阴半开&&Q阴半开&&二十降,C-(O-Z)*8,C-(O-Z)*8,1),ALIGN0,VALIGN0,COLORGREEN;
REF(多包,1),SOUND('A');
REF(空包,1),SOUND('B');
摆动值:=(CLOSE-LLV(LOW,5))/(HHV(HIGH,5)-LLV(LOW,5))*100;
JSJ:=SMA(摆动值,5,1);
KSD:=SMA(JSJ,2,1);
DSK:=SMA(KSD,3,1);
金摆:=CROSS(KSD,DSK);
死摆:=CROSSDOWN(KSD,DSK);
N1W:=BARSLAST(金摆)+1;
N2W:=BARSLAST(死摆)+1;
HHW:=REF(HHV(H,N1W),N2W);
LLW:=REF(LLV(L,N2W),N1W);
A1W:=BACKSET(REFX(死摆,1),HHVBARS(H,N1W)+1);
B1W:=BACKSET(REFX(金摆,1),LLVBARS(L,N2W)+1);
X1W:=BARSLAST(CROSS(A1W,0.2));
X2W:=BARSLAST(CROSS(B1W,0.2));
DRAWLINE1(CROSS(A1W,0.2),H,CROSS(B1W,0.2),L,0),COLORLIGHTGREEN,LINETHICK3;
DRAWLINE1(CROSS(B1W,0.2),L,CROSS(A1W,0.2),H,0),COLORYELLOW,LINETHICK3;
Q1W:=VALUEWHEN(CROSS(A1W,0.2),H),COLORGREEN,LINETHICK3;
W1W:=VALUEWHEN(CROSS(B1W,0.2),L),COLORRED,LINETHICK3;
NG:=BACKSET(ISLASTBAR,BARSLAST(CROSS(TIME>=IFELSE(PERIOD=0&&EXIST(TIME>2400,DAYBARPOS),090000,0900)&&TIME<IFELSE(PERIOD=0&&EXIST(TIME>2400,DAYBARPOS),150000, 1500),0.5)||CROSS(TIME>=IFELSE(PERIOD=0&&EXIST(TIME>2400,DAYBARPOS),210000,2100)&&TIME<IFELSE(PERIOD=0&&EXIST(TIME>2400,DAYBARPOS),220000,2200),0.5))+1);
DIF线 := EMA(CLOSE,7) - EMA(CLOSE,21);
DEA线 := EMA(DIF线,7);
MACD柱:=2*(DIF线-DEA线),COLORSTICK;
金叉:=CROSS(DIF线,DEA线),NODRAW;
死叉:=CROSSDOWN(DIF线,DEA线),NODRAW;
低位:=CROSS( BACKSET(REFX(金叉,1)||ISLASTBAR&&DIF线<DEA线,LLVBARS(L,BARSLAST(死叉)+1)+1),0.5),NODRAW;
高位:=CROSS( BACKSET(REFX(死叉,1)||ISLASTBAR&&DIF线>DEA线,HHVBARS(H,BARSLAST(金叉)+1)+1),0.5),NODRAW;
A:=BACKSET(ISLASTBAR,SUMBARS(高位||低位,3));
DRAWSL(NG&&高位,REF(L,BARSLAST(NG&&低位)),0,-BARSLAST(NG&&低位),0,COLORYELLOW),LINETHICK3;
DRAWSL(NG&&低位,REF(H,BARSLAST(NG&&高位)),0,-BARSLAST(NG&&高位),0,COLORMAGENTA),LINETHICK3;
三高:=IF(NG, HHV(H,3),NULL),COLORWHITE,LINETHICK2;
三低:=IF(NG, LLV(L,3),NULL),COLORWHITE,LINETHICK2;
DRAWCOLORKLINE(穿低>穿高,COLORRED,1);
DRAWCOLORKLINE(穿低>穿高 AND ISDOWN,COLORRED,0);
DRAWCOLORKLINE(穿低<穿高,COLORGREEN,1);
DRAWCOLORKLINE(穿低<穿高 AND ISDOWN,COLORGREEN,0);
声明:(请您认真阅读一下条款!)
1、所有资源仅限学习研究,不构成任何投资建议,使用风险自行承担,我方不承担任何相关责任。
2、指标无准确率、无成功率承诺,请仔细阅读说明,理性学习使用。
3、仅提供安装指导,不提供使用方法,指标修改、转换、定制等服务,费用另议。
4、指标为虚拟文件,下载前请确认;一经付费 / 下载,不予退换退款。
注册账号,永久不限次复制,注册即送 20 积分,积分可用于站内付费指标下载