朋友们,大家好!

是不是经常感觉自己的炒股软件图表上指标太多,眼花缭乱?均线、布林带、CCI……一个个切换看得头都大了,而且信号还经常互相矛盾。

今天,就给大家分享一个我私藏的 “全能型”指标。它就像一个专业的图表分析助手,把多种经典策略融为一体,直接在K线图上为你自动标记关键点、画出趋势线、并提示买卖信号,让你对盘面的判断瞬间清晰起来!

一、这个指标能做什么?

简单来说,它主要为你解决了三大核心问题:

  1. 自动识别“顶”与“底”
    • 指标会在K线的相对高点相对低点,用醒目的文字和颜色进行标记。
    • 再也不用自己费劲地去猜哪里是波段的起点和终点了,趋势的轮廓一目了然。
  2. 清晰展现趋势通道
    • 它整合了改良的布林带多空分界线,能直观地告诉你当前价格是处于强势通道还是弱势通道。
    • 通过不同颜色的K线填充,直接区分多头区域和空头区域,帮你紧跟趋势。
  3. 精准提示买卖点
    • 在关键的“底”部区域,你会看到明确的 “买” 字提示;在“顶”部区域,则会看到 “卖” 字提示。
    • 这为你提供了潜在的入场和离场参考,避免情绪化交易。

二、指标核心功能图解

[此处务必插入一张使用该指标的股票K线图效果截图]

从图中你可以清晰地看到:

  • 红色标记的 “顶” 和 绿色标记的 “底”
  • 根据趋势变化的红绿K线,直观显示多空力量转换。
  • 在波谷和波峰附近出现的 “买”、“卖” 提示信号。
  • 此外,还有中枢分割线、强弱分界线等高级功能,帮助你进行更精细的分析。

三、核心源码分享

这个指标融合了均线、布林带、CCI、缠论笔段等多种逻辑,经过精心设计和反复优化。以下是核心源码,拿去就能用!

文华财经6源码:

M:=9;

N1:=3;

N2:=6;

NC3:=12;

NC4:=24;

BBI:=(MA(CLOSE,N1)+MA(CLOSE,N2)+MA(CLOSE,NC3)+MA(CLOSE,NC4))/4;

顶:=BBI+3*STD(BBI,13),RGB(0,128,65);

底:=BBI-3*STD(BBI,13),RGB(231,231,231);

X:=3;


HN:=HHV(HIGH,5); 

LLY:=LLV(LOW,5);

HH3:=BARSLAST((HN>REF(HN,1))); 

LL3:=BARSLAST((LLY<REF(LLY,1))); 

A:=IF((HH3 < LL3),1,IF((HH3 > LL3),-1,0)); 

HM:=HHV(HIGH,3);

LM:=LLV(LOW,3);

HM1:=IF(H<REF(H,1)&&H<REF(H,2)&&H<REF(H,4)&&L<REF(L,1)&&L<REF(L,3)&&L<REF(L,5)&&OPEN>CLOSE&&(HHV(OPEN,0)-CLOSE)>0,REF(H,4),0);

LM1:=IF(L>REF(L,1)&&L>REF(L,3)&&L>REF(L,5)&&H>REF(H,1)&&H>REF(H,2)&&H>REF(H,4)&&OPEN<CLOSE&&(CLOSE-LLV(OPEN,0))>0,REF(L,4),0);

HM2:=VALUEWHEN(HM1>0,HM1);

LM2:=VALUEWHEN(LM1>0,LM1);

KM1:=IF(CLOSE>HM2,-3,IF(CLOSE<LM2,1,0));

KM2:=VALUEWHEN(KM1<>0,KM1);

GM:=IF(KM2=1,HM2,LM2);

GM1:=VALUEWHEN(ISLASTBAR,GM);


BL:=2;

TMPM:=KM2; 

WM1:=KM2;

WM2:=OPEN-CLOSE;

HTM:=IF(OPEN>CLOSE,OPEN,CLOSE);

LTM:=IF(OPEN<CLOSE,OPEN,CLOSE);


HJ:=2;

//均线,0

QZS:=(EMA(CLOSE,3)+EMA(CLOSE,6))/2;

MA5:=MA(C,8),COLORWHITE,LINETHICK1;

MA10:=MA(C,20),COLORGREEN,LINETHICK1;

//改良布林

ZX:=MA(CLOSE,26);

TMP2:=STD(C,26);

SA:=ZX+2*TMP2;

BBIBOLL:=(MA(C,3)+MA(C,6)+MA(C,12)+MA(C,24))/4;

多空线:=BBIBOLL, COLORWHITE,LINETHICK1;

牛17:=IF(X=2 OR X=3,MA(C,17),NULL),COLORRED,LINETHICK1;


中布:=IF(BL>0 ,ZX,NULL), COLORYELLOW,LINETHICK1;

布上:=IF(BL>1,SA,NULL), COLORCYAN,LINETHICK1;

XA:= ZX-2*TMP2;

布下:=IF(BL>1,XA,NULL),COLORCYAN,LINETHICK1;




//缠论

局部低点预选A:=BACKSET(LLV(L,5)<REF(LLV(L,4),1),4);

局部低点预选B:=BACKSET(局部低点预选A=0 AND REF(局部低点预选A,1)=1,2);

局部低点预选C:=IF(局部低点预选B=1 AND REF(局部低点预选B,1)=0,-1,0);

局部高点预选A:=BACKSET(HHV(H,5)>REF(HHV(H,4),1),4);

局部高点预选B:=BACKSET(局部高点预选A=0 AND REF(局部高点预选A,1)=1,2);

局部高点预选C:=IF(局部高点预选B=1 AND REF(局部高点预选B,1)=0,1,0);

缺口判断:=IF(L>REF(H,1),1,IF(H<REF(L,1),-1,0));

距前高天:=BARSLAST(局部高点预选C=1);

距前低天:=BARSLAST(局部低点预选C=-1);

小值周期:=20;

大值周期:=20;

低保留AA:=IF(局部低点预选C=-1 AND REF(距前高天,1)>REF(距前低天,1) AND LLV(L,距前高天+1)<REF(LLV(L,距前高天+1),1),-1,0);

低保留AB:=IF(局部低点预选C=-1 AND REF(距前高天,1)<=REF(距前低天,1) AND (距前高天>=4 OR LLV(缺口判断,距前高天)=-1 OR LLV(L,距前低天+2)<REF(LLV(L,距前低天+1),1)),-1,0);

低保留S:=IF((低保留AA=-1 OR 低保留AB=-1) AND L<REF(H,距前高天+1),-1,0);

预判:=IF((距前低天<4 AND HHV(缺口判断,距前低天)<>1) OR REF(低保留S,距前低天)=0,1,0);

判断:=IF(局部高点预选C=1 AND REF(距前低天,1)<=REF(距前高天,1) AND 预判=1 AND 大值周期>REF(小值周期,距前低天+1) AND 大值周期>REF(小值周期,距前低天) AND 大值周期>REF(大值周期,距前高天),1,0);

高保留A:=IF(局部高点预选C=1 AND REF(距前低天,1)>REF(距前高天,1) AND HHV(H,距前低天+1)>REF(HHV(H,距前低天+1),1),1,0);

高保留B:=IF(局部高点预选C=1 AND REF(距前低天,1)<=REF(距前高天,1) AND REF(低保留S,距前低天)=-1 AND (距前低天>=4 OR HHV(缺口判断,距前低天)=1),1,0);

高保留:=IF((高保留A=1 OR 高保留B=1 OR 判断=1) AND H>REF(L,距前低天+1),1,0);

预判A:=IF((距前高天<4 AND HHV(缺口判断,距前高天)<>1) OR REF(高保留,距前高天)=0,1,0);

判断A:=IF(局部低点预选C=-1 AND REF(距前高天,1)<=REF(距前低天,1) AND 预判A=1 AND 小值周期>REF(大值周期,距前高天+1) AND 小值周期>REF(大值周期,距前高天) AND 小值周期>REF(小值周期,距前低天),-1,0);

低保留A:=IF(局部低点预选C=-1 AND REF(距前高天,1)>REF(距前低天,1) AND LLV(L,距前高天+1)<REF(LLV(L,距前高天+1),1),-1,0);

低保留B:=IF(局部低点预选C=-1 AND REF(距前高天,1)<=REF(距前低天,1) AND (距前高天>=4 OR LLV(缺口判断,距前高天)=-1 OR 判断A=-1),-1,0);

低保留:=IF((低保留A=-1 OR 低保留B=-1) AND L<REF(H,距前高天+1),-1,0);

距前高天A:=BARSLAST(高保留=1);

距前低天A:=BARSLAST(低保留=-1);

预判X:=IF((距前低天A<4 AND HHV(缺口判断,距前低天A)<>1) OR REF(低保留,距前低天A)=0,1,0);

判断X:=IF(局部高点预选C=1 AND REF(距前低天A,1)<=REF(距前高天A,1) AND 预判X=1 AND 大值周期>REF(小值周期,距前低天A+1) AND 大值周期>REF(小值周期,距前低天A) AND 大值周期>REF(大值周期,距前高天A),1,0);

高保留XA:=IF(局部高点预选C=1 AND REF(距前低天A,1)>REF(距前高天A,1) AND HHV(H,距前低天A+1)>REF(HHV(H,距前低天A+1),1),1,0);

高保留XB:=IF(局部高点预选C=1 AND REF(距前低天A,1)<=REF(距前高天A,1) AND REF(低保留,距前低天A)=-1 AND (距前低天A>=4 OR HHV(缺口判断,距前低天A)=1),1,0);

高保留X:=IF((高保留XA=1 OR 高保留XB=1 OR 判断X=1) AND H>REF(L,距前低天A+1),1,0);

预判XA:=IF((距前高天A<4 AND HHV(缺口判断,距前高天A)<>1) OR REF(高保留XA,距前高天A)=0,1,0);

判断XA:=IF(局部低点预选C=-1 AND REF(距前高天A,1)<=REF(距前低天A,1) AND 预判XA=1 AND 小值周期>REF(大值周期,距前高天A+1) AND 小值周期>REF(大值周期,距前高天A) AND 小值周期>REF(小值周期,距前低天A),-1,0);

低保留XA:=IF(局部低点预选C=-1 AND REF(距前高天A,1)>REF(距前低天A,1) AND LLV(L,距前高天A+1)<REF(LLV(L,距前高天A+1),1),-1,0);

低保留XB:=IF(局部低点预选C=-1 AND REF(距前高天A,1)<=REF(距前低天A,1) AND (距前高天A>=4 OR LLV(缺口判断,距前高天A)=-1 OR 判断XA=-1),-1,0);

低保留X:=IF((低保留XA=-1 OR 低保留XB=-1) AND L<REF(H,距前高天A+1),-1,0);

距前高天YA:=BARSLAST(高保留X=1);

距前低天YA:=BARSLAST(低保留X=-1);

预判YX:=IF((距前低天YA<4 AND HHV(缺口判断,距前低天YA)<>1) OR REF(低保留X,距前低天YA)=0,1,0);

判断YX:=IF(局部高点预选C=1 AND REF(距前低天YA,1)<=REF(距前高天YA,1) AND 预判YX=1 AND 大值周期>REF(小值周期,距前低天YA+1) AND 大值周期>REF(小值周期,距前低天YA) AND 大值周期>REF(大值周期,距前高天YA),1,0);

高保留YXA:=IF(局部高点预选C=1 AND REF(距前低天YA,1)>REF(距前高天YA,1) AND HHV(H,距前低天YA+1)>REF(HHV(H,距前低天YA+1),1),1,0);

高保留YXB:=IF(局部高点预选C=1 AND REF(距前低天YA,1)<=REF(距前高天YA,1) AND REF(低保留X,距前低天YA)=-1 AND (距前低天YA>=4 OR HHV(缺口判断,距前低天YA)=1),1,0);

高保留YX:=IF((高保留YXA=1 OR 高保留YXB=1 OR 判断YX=1) AND H>REF(L,距前低天YA+1),1,0);

预判YXA:=IF((距前高天YA<4 AND HHV(缺口判断,距前高天YA)<>1) OR REF(高保留YXA,距前高天YA)=0,1,0);

判断YXA:=IF(局部低点预选C=-1 AND REF(距前高天YA,1)<=REF(距前低天YA,1) AND 预判YXA=1 AND 小值周期>REF(大值周期,距前高天YA+1) AND 小值周期>REF(大值周期,距前高天YA) AND 小值周期>REF(小值周期,距前低天YA),-1,0);

低保留YXA:=IF(局部低点预选C=-1 AND REF(距前高天YA,1)>REF(距前低天YA,1) AND LLV(L,距前高天YA+1)<REF(LLV(L,距前高天YA+1),1),-1,0);

低保留YXB:=IF(局部低点预选C=-1 AND REF(距前高天YA,1)<=REF(距前低天YA,1) AND (距前高天YA>=4 OR LLV(缺口判断,距前高天YA)=-1 OR 判断YXA=-1),-1,0);

低保留YX:=IF((低保留YXA=-1 OR 低保留YXB=-1) AND L<REF(H,距前高天YA+1),-1,0);

AAAD:=IF(高保留YX=1 AND 低保留YX=-1 AND H>REF(H,REF(距前高天YA,1)+2),1,IF(高保留YX=1 AND 低保留YX=-1 AND L<REF(L,REF(距前低天YA,1)+2),-1,0));

极点保留:=IF(AAAD=0,高保留YX+低保留YX,AAAD);

G:=MA(C,5);

D:=MA(C,10);

NNH:=BARSLAST(H=HHV(H,7)) ,NODRAW;

NNL:=BARSLAST(L=LLV(L,7)) ,NODRAW;

PD:=REF(G,NNH)>REF(D,NNH) ,NODRAW;

NN:=IF(REF(G,NNH)>REF(D,NNH) AND NNH<=4,NNH,IF(REF(G,NNL)<REF(D,NNL) AND NNL<=4,NNL,5)) ,NODRAW;

N:=IF(ISLASTBAR AND NN>0,NN,5) ,NODRAW;

HH:=REF(H,N)=HHV(H,6);

LL:=REF(L,N)=LLV(L,6);

FG01:=BACKSET(HH,N+1)>BACKSET(HH,N),NODRAW;//只设置前面第6个

FD01:=BACKSET(LL,N+1)>BACKSET(LL,N) ,NODRAW;

FG02:=FG01=FD01 AND G>D,NODRAW;

FD02:=FG01=FD01 AND G<D,NODRAW;

//高底是同一K看均线位置//

FG001:=IF(BARSLAST(FD01)>BARSLAST(FG01),FG01,0),NODRAW;

//高点处

FD001:=IF(BARSLAST(FG001)=0 AND BARSLAST(FG01)=BARSLAST(FD01) AND D>G,FD01,NULL);

FD003:=IF(BARSLAST(FG001)=0 AND BARSLAST(FG01)>BARSLAST(FD01),FD01,0),NODRAW;

TTTT:=BARSLAST(FD01),NODRAW;

FG0:=FG01 AND H=HHV(H,IF(FG02=1,BARSLAST(REF(FD01,1))+1,BARSLAST(FD01))) AND FD02=0 ,NODRAW;

FD0:=FD01 AND L=LLV(L,IF(FD02=1,BARSLAST(REF(FG01,1))+1,BARSLAST(FG01))) AND FG02=0 ,NODRAW;

FG00:=FG01 AND IF(FG02=1,H=HHV(H,BARSLAST(REF(FD01,1))+1),H=HHV(H,IF(BARSLAST(L=LLV(L,7))>=5,5,BARSLAST(FD01)))) AND FD02=0 ,NODRAW;

FD00:=FD01 AND IF(FD02=1,L=LLV(L,BARSLAST(REF(FG01,1))+1),L=LLV(L,IF(BARSLAST(H=HHV(L,7))>=5,5,BARSLAST(FG01))))  AND FG02=0 ,NODRAW;

//高低点间周期

GT:=BARSLAST(FG00),NODRAW;

DT:=BARSLAST(FD00),NODRAW;

//第一次处理高低点间多余的点

LLLL:=DT=0 AND REF(DT,1)<GT AND L>REF(L,REF(DT,1)+1),NODRAW;

FG1:=BACKSET(REFX(GT,1)=0 AND GT<DT AND REFX(H,1)>=REF(H,GT),GT+1),NODRAW;

FD1:=BACKSET(REFX(DT,1)=0 AND DT<GT AND REFX(L,1)<=REF(L,DT),DT+1),NODRAW;

FG11:=IF(GT=0 AND REF(GT,1)<DT AND IF(REF(G,BARSLAST(L=LLV(L,7)))>REF(D,BARSLAST(L=LLV(L,7))),BARSLAST(L=LLV(L,7))<5,1) AND  H<REF(H,REF(GT,1)+1),1,0),NODRAW;

FD11:=IF(DT=0 AND REF(DT,1)<GT AND IF(REF(G,BARSLAST(H=HHV(H,7)))<REF(D,BARSLAST(H=HHV(H,7))),BARSLAST(H=HHV(H,7))<5,1) AND L>REF(L,REF(DT,1)+1),1,0),NODRAW;

//再次周期

GT1:=BARSLAST(FG11<>1 AND FG1<>1 AND FG0),NODRAW;

DT1:=BARSLAST(FD11<>1 AND FD1<>1 AND FD0),NODRAW;

GGT1:=REF(GT1,1),NODRAW;//处理两边都少于3根的笔

HHHH:=REF(H,GT1),NODRAW;

HHHHH:=HHV(H,GT1+5),NODRAW;

FD2:=BACKSET(REFX(GT1,1)=0 AND DT1<3 AND GT1-DT1<4 AND REF(L,DT1)>LLV(L,GT1+5),DT1+1),NODRAW;

//加两句,低是最低,去两边;

NL:=GT1=0 AND DT1<4 AND REF(GT1,1)-DT1<4 ,NODRAW;

LLLLLLLL:=LLV(L,GT1+5),NODRAW;

FG2A:=BACKSET(REFX(GT1,1)=0 AND DT1<3 AND GT1-DT1<4 AND REF(L,DT1)<=LLV(L,GT1+5) AND REF(H,GT1)>HHV(H,GT1+5),GT1+1),NODRAW;

FG2B:=IF(GT1=0 AND DT1<4 AND REF(GT1,1)-DT1<4 AND REF(L,DT1)<=LLV(L,REF(GT1,1)+6) AND H>HHV(H,REF(GT1,1)+6),1,0),NODRAW;

FG2:=BACKSET(REFX(DT1,1)=0 AND GT1<3 AND DT1-GT1<4 AND REF(H,GT1)<HHV(H,DT1+5),GT1+1),NODRAW;

FD2A:=BACKSET(REFX(DT1,1)=0 AND GT1<3 AND DT1-GT1<4 AND REF(H,GT1)>=HHV(L,DT1+5) AND REF(L,DT1)>LLV(L,DT1+5),DT1+1),NODRAW;

FD2B:=IF(DT1=0 AND GT1<4 AND REF(DT1,1)-GT1<4 AND REF(H,GT1)>=HHV(H,REF(DT1,1)+6) AND L>LLV(L,REF(DT1,1)+6),1,0),NODRAW;//

GGG:=IF(HHV(H,GT1+1)<HHV(H,GT1+15),HHV(H,GT1+1),NULL),NODRAW;

DDD:=IF(HHV(H,GT1+1)<HHV(H,GT1+15),HHV(H,GT1+15),NULL),NODRAW;

//处理单边都少于3根的笔

GT11:=BARSLAST(GT1=0 AND FG2<>1),NODRAW;

DT11:=BARSLAST(DT1=0 AND FD2<>1  AND FD02<>1),NODRAW;

//FG21:IF(GT1=0 AND DT1<4 AND H<HHV(H,REF(GT1,1)+3),1,0),NODRAW;

//FD21:IF(DT1=0 AND GT1<4  AND L>LLV(L,REF(DT1,1)+3) ,1,0),NODRAW;

FD22:=BACKSET(REFX(GT1,1)=0 AND DT1<3 AND REFX(H,1)>REF(H,GT1) AND REF(L,DT1)>LLV(L,GT1+5),DT1+1),NODRAW;

G22:=BACKSET(REFX(DT1,1)=0 AND GT1<3 AND REFX(L,1)<REF(L,DT1) AND REF(H,GT1)<HHV(H,DT1+5),GT1+1),NODRAW;

TTTTTT:=H<REF(H,REF(GT1,1)+1) AND DT1<4,NODRAW;

HHHHHH:=REF(LLV(L,10),DT1),NODRAW;//前长后短;

//FG21:IF(GT1=0 AND DT1<4 AND H<=REF(H,REF(GT1,1)+1)  ,1,0),NODRAW;

//FD21:IF(DT1=0 AND GT1<4  AND L>=REF(L,REF(DT1,1)+1) ,1,0),NODRAW;

//前短后长,前低后高(去低);

FD231:=BACKSET(REFX(GT1,1)=0 AND DT1>3 AND GT1>DT1 AND GT1-DT1<4 AND REFX(H,1)>REF(H,GT1) AND REF(L,DT1)>REF(LLV(L,10),DT1),DT1+1),NODRAW;

FG23:=BACKSET(REFX(GT1,1)=0 AND DT1>3 AND GT1>DT1 AND  GT1-DT1<4 AND REFX(H,1)>REF(H,GT1) AND (REF(H,GT1)<REF(HHV(H,13),GT1) OR REF(FD231,DT1)=0),GT1+1),NODRAW;

//前短后长,前高后低(去高);

NNN:=REF(H,GT1)>=REF(HHV(H,8),GT1),NODRAW;

//前短后长,去2;

FG231:=BACKSET(REFX(DT1,1)=0 AND GT1>3  AND DT1>GT1 AND DT1-GT1<4 AND REFX(L,1)<REF(L,DT1) AND REF(H,GT1)<REF(HHV(H,10),GT1) ,GT1+1),NODRAW;

FD23:=BACKSET(REFX(DT1,1)=0 AND GT1>3  AND DT1>GT1 AND DT1-GT1<4 AND REFX(L,1)<REF(L,DT1) AND ( REF(L,DT1)>REF(LLV(L,13),DT1) OR REF(FG231,GT1)=0),DT1+1),NODRAW;///前短后长,去3;

FDD23:=REF(H,GT1)<REF(HHV(H,10),GT1) OR REF(FD23,DT1)=0,NODRAW;

FD24:=BACKSET(REFX(GT1,1)=0 AND DT1>3 AND GT1>DT1 AND GT1-DT1<4 AND REFX(H,1)<HHV(H,GT1+3) AND REF(L,DT1)>LLV(L,DT1+5),DT1+1),NODRAW;

FG24:=BACKSET(REFX(DT1,1)=0 AND GT1>3  AND DT1>GT1 AND DT1-GT1<4 AND REFX(L,1)>LLV(L,DT1+3) AND REF(H,GT1)<HHV(H,GT1+5),GT1+1),NODRAW;

FG241:=IF(GT1=0 AND DT1>4 AND  REF(GT1,1)-DT1<3  AND H<HHV(H,REF(GT1,1)+3)   AND REF(FD24,DT1+2)<>1,1,0),NODRAW;

FD241:=IF(DT1=0 AND GT1>4  AND REF(DT1,1)-GT1<3   AND L>LLV(L,REF(DT1,1)+3)  AND REF(FG24,GT1+2)<>1,1,0),NODRAW;

FGE:=BACKSET(ISLASTBAR AND DT1-GT1<3 AND DT1>GT1, GT1+1),NODRAW;//FDE:BACKSET(ISLASTBAR AND GT1-DT1<3  AND GT1>DT1, DT1+1),NODRAW;

FG21:=IF(GT1=0 AND DT1<4 AND REF(GT1,1)<4,1,0),NODRAW;

FD21:=IF(DT1=0 AND GT1<4  AND REF(DT1,1)<4 ,1,0),NODRAW;

//做两次高低点间多余的点

GT2:=BARSLAST(FG21<>1 AND FG23<>1 AND FG231<>1 AND FG24<>1   AND FG2<>1 AND FG2A<>1 AND FG2B<>1 AND GT1=0),NODRAW;

DT2:=BARSLAST(FD21<>1 AND FD23<>1 AND FD231<>1 AND FD24<>1  AND FD2<>1 AND FD2A<>1 AND FD2B<>1 AND DT1=0),NODRAW;

FG3:=BACKSET(REFX(GT2,1)=0 AND GT2<DT2 AND REFX(H,1)>=REF(H,GT2),GT2+1),NODRAW;

//HHX:REF(H,GT2),NODRAW;

FD3:=BACKSET(REFX(DT2,1)=0 AND DT2<GT2 AND REFX(L,1)<=REF(L,DT2),DT2+1),NODRAW;

FG31:=IF(GT2=0 AND REF(GT2,1)<DT2 AND H<REF(H,REF(GT2,1)+1),1,0),NODRAW;

FD31:=IF(DT2=0 AND REF(DT2,1)<GT2 AND L>REF(L,REF(DT2,1)+1),1,0),NODRAW;

GT3:=BARSLAST(GT2=0 AND FG3<>1 AND FG31<>1 ),NODRAW;

DT3:=BARSLAST(DT2=0 AND  FD3<>1 AND FD31<>1),NODRAW;

FG4:=BACKSET(REFX(GT3,1)=0 AND GT3<DT3 AND REFX(H,1)>=REF(H,GT3),GT3+1),NODRAW;

FD4:=BACKSET(REFX(DT3,1)=0 AND DT3<GT3 AND REFX(L,1)<=REF(L,DT3),DT3+1),NODRAW;

FG41:=IF(GT3=0 AND REF(GT3,1)<DT3 AND H<REF(H,REF(GT3,1)+1),1,0),NODRAW;

FD41:=IF(DT3=0 AND REF(DT3,1)<GT3 AND L>REF(L,REF(DT3,1)+1),1,0),NODRAW;

LLL:=DT3=0 AND FD31<>1 AND  FD3<>1,NODRAW;

HHH:=FG0 AND FG11<>1 AND FG1<>1 AND  FG2<>1 AND FG21<>1 AND   FG31<>1 AND  FG3<>1;





//PARTLINE(FD01,L,COLORRED),CIRCLEDOT,LINETHICK1;

//PARTLINE(FG0,H,COLORYELLOW),POINTDOT,LINETHICK1;

//PARTLINE(FD0,L,COLORCYAN),CIRCLEDOT,LINETHICK1;

BD:=IF(FD0 AND  FD41<>1 AND  FD4<>1 AND  FD31<>1 AND  FD3<>1 AND  FD2<>1 AND FD11<>1 AND FD1<>1,L,0);

笔低:=IF(BD<>0,BD,NULL),COLORYELLOW,NODRAW;

BG:=IF(FG0 AND FG41<>1 AND  FG4<>1 AND   FG31<>1 AND  FG3<>1 AND  FG2<>1 AND FG11<>1 AND FG1<>1,H,0);

笔高:IF(BG<>0,BG,NULL),COLORYELLOW,NODRAW;



老笔:=1;

GB:=MA(C,5);

DB:=MA(C,10);

HHB:=REF(H,5)=HHV(H,11);

LL1:=REF(L,5)=LLV(L,11);

FGB01:=BACKSET(HHB,6)>BACKSET(HHB,5) ;

FDB01:=BACKSET(LL1,6)>BACKSET(LL1,5) ;

FGB02:=IF(BARSLAST(FGB01)=BARSLAST(FDB01) AND GB>DB,FGB01,IF(BARSLAST(FDB01)>BARSLAST(FGB01),FGB01,0));

FDB02:=IF(BARSLAST(FGB01)=BARSLAST(FDB01) AND DB>GB,FDB01,IF(BARSLAST(FGB01)>BARSLAST(FDB01),FDB01,0));

FGB0:=FGB02 AND H=HHV(H,BARSLAST(FDB02));

FDB0:=FDB02 AND L=LLV(L,BARSLAST(FGB02));

JG:=IF(FGB0 AND BG=0,H,1) ;

局高:=IF(JG<>1,JG,NULL),COLORGREEN,NODRAW;

JD:=IF(FDB0 AND BD=0,L,-1),COLORGREEN;

局低:IF(JD<>-1,JD,NULL),COLORGREEN,NODRAW;

短极点:IF(PERIOD>2,IF(极点保留=-1 AND BD=0 AND JD=-1,L,IF(极点保留=1 AND BG=0 AND JG=1,H,NULL)) ,NULL),COLORMAGENTA,NODRAW;



//中枢分割线

HIGH1:=REF(HHV(H,90),3);//3周期前的90周期的最高价

LOW1:=REF(LLV(L,90),3);//3周期前的90周期的最低价

J1:=HIGH1-(HIGH1-LOW1)*0.191;

J0:=HIGH1-(HIGH1-J1)/2;

J2:=HIGH1-(HIGH1-LOW1)*0.382;

J3:=HIGH1-(HIGH1-LOW1)*0.5;

J4:=HIGH1-(HIGH1-LOW1)*0.618;

J5:=HIGH1-(HIGH1-LOW1)*0.809;

J6:=HIGH1-(HIGH1-LOW1)*1.191;

JZ:=J0-(J0-LOW1)/2;

HIGHB1:=REF(HHV(H,60),3);

LOW2:=REF(LLV(L,60),3);

HIGHB2:=IF(HIGHB1<=J4,J4,IF(HIGHB1<=J3,J3-(J3-J4)/2,IF(HIGHB1<=J2,J2-(J2-J3)/2,IF(HIGHB1<=J1,J1-(J1-J2)/2,IF(HIGHB1<=HIGH1 ,HIGH1-(HIGH1-J1)/2,NULL)))));

HIGH2:=IF(HIGHB1<HIGHB2,HIGHB2,IF(HIGHB1>=HIGHB2 AND C<HIGHB2,HIGHB2,HIGHB1-(HIGHB1-HIGHB2)/2));

J22:=HIGH2+(HIGH2-LOW2)*0.191;

J12:=HIGH2-(HIGH2-LOW2)*0.191;

J42:=HIGH2-(HIGH2-LOW2)*0.618;

JZ2:=HIGH2-(HIGH2-J42)/2;

J52:=HIGH2-(HIGH2-LOW2)*0.809;

J02:=J52;

CL:=1;




AD:=REFX1(DATE<=200601,9999);//指标到期日

YYD:=HHV(H,60),COLORWHITE;

空损:=IF( HJ=2,MA(YYD,5),NULL),COLORGREEN,DOT;

YY3:=HHV(H,60)-(HHV(H,60)-LLV(L,30))*0.191,COLORGRAY;

做空:=IF( HJ=2,MA(YY3,5),NULL),COLORYELLOW;

YYC3:=HHV(H,30)-(HHV(H,30)-LLV(L,30))*0.382,COLORLIGHTGREY;

强:=IF( HJ=2,MA(YYC3,5),NULL),COLORLIGHTGREY;

YYC3CD:=HHV(H,30)-(HHV(H,30)-LLV(L,30))*0.618,COLORGREEN;

弱:=MA(YYC3CD,5),COLORGREEN;

YYC3D:=HHV(H,30)-(HHV(H,30)-LLV(L,30))*0.809,COLORRED;

做多:=IF( HJ=2,MA(YYC3D,5),NULL),COLORRED;

ZZ:=LLV(L,30);

多损:=IF( HJ=2,MA(ZZ,5),NULL),COLORGREEN,DOT;





NC:=8;

KKC:=0;

TYP := IF(PERIOD>7&&AD,(HIGH + LOW + CLOSE)/3,NULL);

CCI1:=(TYP-MA(TYP,6))/(0.015*AVEDEV(TYP,6));

CCI2:=(TYP-MA(TYP,10))/(0.015*AVEDEV(TYP,10));

CCI3:=(TYP-MA(TYP,20))/(0.015*AVEDEV(TYP,20));

CCI4:=(TYP-MA(TYP,30))/(0.015*AVEDEV(TYP,30));

CCI5:=(TYP-MA(TYP,60))/(0.015*AVEDEV(TYP,60));

CCI:=CCI1+CCI2+CCI3+CCI4+CCI5;

AAAB:=IF(PERIOD>2&&AD,(3*C+H+L+O)/6,NULL);

VVAR1:=(8*AAAB+7*REF(AAAB,1)+6*REF(AAAB,2)+5*REF(AAAB,3)+4*REF(AAAB,4)+3*REF(AAAB,5)+2*REF(AAAB,6)+REF(AAAB,8))/36;

VVAR6:=(LLV(VVAR1,2)+LLV(VVAR1,4)+LLV(VVAR1,6))/3;

短线:=IF(X=1 , QZS,NULL),COLORCYAN,LINETHICK1;

强线:=IF( X=1 , VVAR1, NULL),COLORWHITE,LINETHICK1;

中线:=IF(  X=1 ,VVAR6, NULL),COLORLIGHTRED,LINETHICK1;

FILLRGN1(短线>强线,短线,强线),RGB(150,10,50);

FILLRGN1( 短线<强线,短线,强线),RGB(10,100,10);





//未来函数预测波段顶底,通用程序



DRAWTEXT(PERIOD>=8 AND ISLASTBAR<>1 AND TROUGHBARS(L,20,1,1)=0 AND CL<3,L-0*M*MINPRICE,'大                  底'),COLORRED,FONTSIZE15;

DRAWTEXT(PERIOD>=8 AND ISLASTBAR<>1 AND PEAKBARS(H,20,1,1)=0 AND CL<3,H+0*M*MINPRICE,'大                  顶'),COLORGREEN,FONTSIZE15;

DDMS:=IF(PERIOD>=8 AND ISLASTBAR<>1 AND TROUGHBARS(L,20,1,1)=0,1,0);

DMS:=IF(PERIOD>=8 AND ISLASTBAR<>1 AND PEAKBARS(H,20,1,1)=0,1,0);

DRAWTEXT(ISLASTBAR<>1 AND TROUGHBARS(L,8,1,1)=0 AND DDMS<>1 AND CL<2,L-0*M*MINPRICE,'见            底'),COLORWHITE,FONTSIZE16,VALIGN0;

DRAWTEXT(ISLASTBAR<>1 AND PEAKBARS(H,8,1,1)=0 AND DMS<>1 AND CL<2,H+0*M*MINPRICE,'见            顶'),COLORYELLOW,FONTSIZE16;

DTS:=IF(ISLASTBAR<>1 AND PEAKBARS(H,8,1,1)=0,1,0);      

JDTS:=IF(ISLASTBAR<>1 AND TROUGHBARS(L,8,1,1)=0,1,0),COLORWHITE;

DRAWTEXT((PERIOD<=13 AND ZIGZAG(C,3,1)<REF(ZIGZAG(C,3,1),1)) AND (REF(ZIGZAG(C,3,1),1)>=REF(ZIGZAG(C,3,1),2)) AND REF(ZIGZAG(C,3,1),2)>=REF(ZIGZAG(C,3,1),3) AND DTS<>1 AND CL<3,HIGH+0*M*MINPRICE,'卖'),COLORYELLOW,FONTSIZE14,VALIGN1;

DRAWTEXT((PERIOD<=13 AND ZIGZAG(C,3,1)>REF(ZIGZAG(C,3,1),1)) AND (REF(ZIGZAG(C,3,1),1)<=REF(ZIGZAG(C,3,1),2)) AND (REF(ZIGZAG(C,3,1),2)<=REF(ZIGZAG(C,3,1),3)) AND JDTS<>1 AND CL<3,LOW-0*M*MINPRICE,'买'),COLORWHITE,FONTSIZE14,VALIGN1;


XZDZ:=IF((PERIOD<=13 AND ZIGZAG(C,3,1)>REF(ZIGZAG(C,3,1),1)) AND (REF(ZIGZAG(C,3,1),1)<=REF(ZIGZAG(C,3,1),2)) AND (REF(ZIGZAG(C,3,1),2)<=REF(ZIGZAG(C,3,1),3)) AND JDTS<>1,1,0);

XZDD:=IF((PERIOD<=13 AND ZIGZAG(C,3,1)<REF(ZIGZAG(C,3,1),1)) AND (REF(ZIGZAG(C,3,1),1)>=REF(ZIGZAG(C,3,1),2)) AND REF(ZIGZAG(C,3,1),2)>=REF(ZIGZAG(C,3,1),3) AND DTS<>1,1,0);


BB:=(PERIOD<=13 AND ZIGZAG(C,3,1)>REF(ZIGZAG(C,3,1),1)) AND (REF(ZIGZAG(C,3,1),1)<=REF(ZIGZAG(C,3,1),2)) AND (REF(ZIGZAG(C,3,1),2)<=REF(ZIGZAG(C,3,1),3)) AND JDTS<>1 AND CL<3;

SS:=(PERIOD<=13 AND ZIGZAG(C,3,1)<REF(ZIGZAG(C,3,1),1)) AND (REF(ZIGZAG(C,3,1),1)>=REF(ZIGZAG(C,3,1),2)) AND REF(ZIGZAG(C,3,1),2)>=REF(ZIGZAG(C,3,1),3) AND DTS<>1 AND CL<3;

DRAWCOLORKLINE(BARSLAST(BB)<BARSLAST(SS),COLORRED,1);

DRAWCOLORKLINE(BARSLAST(BB)<BARSLAST(SS)&&ISDOWN,COLORLIGHTRED,0);

DRAWCOLORKLINE(BARSLAST(BB)>BARSLAST(SS),COLORGREEN,1);

DRAWCOLORKLINE(BARSLAST(BB)>BARSLAST(SS)&&ISDOWN,COLORLIGHTGREEN,0);


TY:=(CLOSE+HIGH+LOW)/3;

CCIB:=(TY-MA(TY,14))/(0.015*AVEDEV(TY,14));

YY:=IF(BG<>0 AND CCIB<100 AND CCIB>0,1,0);



P:=2;

MID:=MA(C,20);

UPPER:= MID+P*STD(C,20);

LOWER:= MID - P*STD(C,20);

AT:=MA(C,20),COLORBLUE;

通道限宽:=(C-LOWER)/(UPPER-LOWER),COLORRED;

通道极限:=100*(C-AT)/STD(C,26),COLORWHITE;

通道趋势:=EMA(通道极限,3),COLORMAGENTA;


GLQD2:=IF(BD<>0 AND FDB0=1 AND 极点保留=-1 AND CCIB<-100 AND 通道极限>-100,1,0);


XJ:=IF(BD<>0 AND FDB0=1 AND 极点保留=-1 AND CCIB<-100 AND 通道极限<-170,LLV(L,60),0);


XJGL:=IF(BD<>0 AND FDB0=1 AND 极点保留=-1 AND CCIB<-100 AND 通道极限<-170 AND L>=XJ AND JDTS<>1  AND XZDZ<>1,1,0);


XX1:=IF(BD<>0 AND CCIB>0 OR 通道极限>0,1,NULL);



ZDG1:=REF(HHV(H,5),8) ,NODRAW;

ZDG2:=REF(HHV(H,5),16) ,NODRAW;

ZDG3:=REF(HHV(H,5),24) ,NODRAW;

ZDG4:=REF(HHV(H,5),32) ,NODRAW;

ZDG5:=REF(HHV(H,5),40) ,NODRAW;

ZDG6:=REF(HHV(H,5),48) ,NODRAW;

ZDG7:=REF(HHV(H,5),56) ,NODRAW;

DPD:=IF(BG<>0 AND FGB0=1  AND H<=ZDG1 ,1,0);

PD1:=IF(BG<>0 AND FGB0=1  AND H<=ZDG2,DPD+1,DPD);

PD2:=IF(BG<>0 AND FGB0=1  AND H<=ZDG3,PD1+1,PD1);

PD3:=IF(BG<>0 AND FGB0=1   AND H<=ZDG4,PD2+1,PD2);

PD4:=IF(BG<>0 AND FGB0=1   AND H<=ZDG5,PD3+1,PD3);

PD5:=IF(BG<>0 AND FGB0=1   AND H<=ZDG6,PD4+1,PD4);

PD6:=IF(BG<>0 AND FGB0=1   AND H<=ZDG7,PD5+1,PD5);

背离次数:=PD6,NODRAW;

GLQD:=IF(BG<>0 AND FGB0=1 AND 极点保留=1 AND CCIB>100 AND 通道极限<170,1,0);

GLQD1:=IF(BG<>0 AND FGB0=1 AND 极点保留=1 AND CCIB>100 AND 通道极限>170 AND DTS<>1,1,0);


JS:=IF(ISLASTBAR=1,1,0);


DRAWCOLORKLINE((PERIOD<=13 AND ZIGZAG(C,3,1)>REF(ZIGZAG(C,3,1),1)) AND (REF(ZIGZAG(C,3,1),1)<=REF(ZIGZAG(C,3,1),2)) AND (REF(ZIGZAG(C,3,1),2)<=REF(ZIGZAG(C,3,1),3)) AND JDTS<>1 AND CL<3,COLORRED,0);

DRAWSHIFTNUMBER(HHH,H,MOD(H,100),0,COLORLIGHTRED,0,0),VALIGN2,FONTSIZE15;//价格后0移动

DRAWSHIFTNUMBER(LLL,L,MOD(L,100),0,COLORLIGHTGREEN,0,0),VALIGN0,FONTSIZE15;



作者 admin

九稳量化交易系统 是一套高胜率策略趋势跟踪系统,系统最大优势就是开仓位置精确,信号不漂移 不延迟 同步行情信号 拒绝马后面!www.gao998.cn 微信 fxfx668998

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注