读量柱禽涨停一书有感 ----backset()函数的高级用法:

来源:百度文库 编辑:神马文学网 时间:2024/04/30 17:03:57
表示黄金柱的⑴和⑵。
⑴条件如下;
a,出现倍量或者10日内最高量。

b,出现倍量或者10日内最高量后三天内收盘价不低于“倍量”或者“高量”当天最低价。

c,“倍量”或者“高量”三天内量能小于“倍量”或者“高量”当天量能(倍量之后三天容许许有一天成交量大于前面的倍量(或者高量))。

划线条件如下
1.股价突破三日新高
2.当日为倍量阳或者高量(再具体一点高量不是一般的高量,要求是10天内最大量)

3.价量双覆盖;就是前一天收阴,今日收阳,并且今日成交量要求大于昨天成交量的1.2倍以上.
符合三个画线条件之一的当天画图表示
虽自己略懂些指标函数,但技术实乃有限,恳请高手们腾出一点宝贵时间看看 先在此感谢了。


这是自己写的一个指标雏形,作为抛砖引玉,也请高手们修改一下  源码如下;
三日不破:=MIN(MIN(L,REF(L,1)),REF(L,2))>=REF(L,3);
三日量缩:=(MAX(MAX(V,REF(V,1)),REF(V,2))三日价涨A:=C>=REF(C,1);
三日价涨B:=C三日价涨C:=MIN(MIN(C,REF(C,1)),REF(C,2))>=REF(L,3);
TIM:=IF(DATE<1140214,1,0);
缩倍柱:=(VOL*1.95<=REF(VOL,1))*TIM;
百日低量:=(VOL=LLV(VOL,100))*TIM;
倍量柱:=C>REF(C,1)*1.04 AND (VOL>=1.95*REF(VOL,1))*TIM;
四日前倍量柱:=(REF(VOL,3)>1.95*REF(VOL,4))*TIM;
四日前高量柱:=(REF(VOL,3)>=REF(VOL,4) AND REF(VOL,3)<1.95*REF(VOL,4) AND 三日量缩)*TIM;
前三引用不成立:=COUNT(REF(四日前倍量柱,1) AND (REF(三日不破,1) OR REF(三日价涨C,1)),3)=0 AND COUNT(REF(四日前高量柱,1) AND (REF(三日不破,1) OR REF(三日价涨C,1)),3)=0;
倍量黄金柱:=四日前倍量柱 AND 三日量缩 AND 三日不破 AND 三日价涨A AND 前三引用不成立;
高量黄金柱:=四日前高量柱 AND 三日量缩 AND 三日不破 AND 三日价涨A AND 前三引用不成立;
黄金柱:=倍量黄金柱 OR 高量黄金柱;
次倍量黄金柱:=NOT(黄金柱) AND 四日前倍量柱 AND 三日量缩 AND 三日不破 AND 三日价涨B AND 前三引用不成立;
次高量黄金柱:=NOT(黄金柱) AND 四日前高量柱 AND 三日量缩 AND 三日不破 AND 三日价涨B AND 前三引用不成立;
次黄金柱:=次倍量黄金柱 OR 次高量黄金柱;
准倍量黄金柱:=NOT(黄金柱 OR 次黄金柱) AND 四日前倍量柱 AND ((三日量缩 AND 三日价涨C) OR (COUNT(倍量柱,3)>=1 AND 三日不破)) AND 前三引用不成立;
准高量黄金柱:=NOT(黄金柱 OR 次黄金柱) AND 四日前高量柱 AND (三日量缩 AND 三日价涨C) AND 前三引用不成立;
准黄金柱:=准倍量黄金柱 OR 准高量黄金柱;
倍量将军柱:=NOT(黄金柱 OR 次黄金柱 OR 准黄金柱) AND 四日前倍量柱 AND 三日不破 AND 三日价涨A AND 前三引用不成立;
高量将军柱:=NOT(黄金柱 OR 次黄金柱 OR 准黄金柱) AND 四日前高量柱 AND 三日不破 AND 三日价涨A AND 前三引用不成立;
将军柱:=倍量将军柱 OR 高量将军柱;
次倍量将军柱:=NOT(黄金柱 OR 次黄金柱 OR 准黄金柱 OR 将军柱) AND 四日前倍量柱 AND 三日不破 AND 三日价涨B AND 前三引用不成立;
次高量将军柱:=NOT(黄金柱 OR 次黄金柱 OR 准黄金柱 OR 将军柱) AND 四日前高量柱 AND 三日不破 AND 三日价涨B AND 前三引用不成立;
次将军柱:=次倍量将军柱 OR 次高量将军柱;
准倍量将军柱:=NOT(黄金柱 OR 次黄金柱 OR 准黄金柱 OR 将军柱 OR 次将军柱) AND 四日前倍量柱 AND 三日价涨C AND 前三引用不成立;
准高量将军柱:=NOT(黄金柱 OR 次黄金柱 OR 准黄金柱 OR 将军柱 OR 次将军柱) AND 四日前高量柱 AND 三日价涨C AND 前三引用不成立;
准将军柱:=准倍量将军柱 OR 准高量将军柱;
BACKSET100:=BACKSET(黄金柱 OR 次黄金柱 OR 准黄金柱 OR 将军柱 OR 次将军柱 OR 准将军柱,4);
FILTER100:=FILTER(BACKSET100,3);
BACKSET101:=BACKSET(黄金柱,3);
FILTER101:=FILTER(BACKSET101,3);
BACKSET102:=BACKSET(次黄金柱,3);
FILTER102:=FILTER(BACKSET102,3);
BACKSET103:=BACKSET(准黄金柱,3);
FILTER103:=FILTER(BACKSET103,3);
BACKSET104:=BACKSET(将军柱,3);
FILTER104:=FILTER(BACKSET104,3);
BACKSET105:=BACKSET(次将军柱,3);
FILTER105:=FILTER(BACKSET105,3);
BACKSET106:=BACKSET(准将军柱,3);
FILTER106:=FILTER(BACKSET106,3);
STICKLINE(FILTER101,OPEN,CLOSE,2.5,0),COLORYELLOW;
STICKLINE(FILTER104,OPEN,CLOSE,2.5,0),COLORFF00FF;
K1:=SUMBARS(FILTER104,1);
STICKLINE(K1,REF(L,K1-1),REF(L,K1-1),3,0),COLORFF00FF;  
K2:=SUMBARS(FILTER101,1);
STICKLINE(K2,REF(L,K2-1),REF(L,K2-1),10,0),COLORYELLOW;[img][/img]

未命名.jpg (101.49 KB)

下载次数:4

2010-9-18 20:34

 

backset()函数的高级用法:
一、问题:如何在最后一根K线的前第6天,作上标记?
1、先建立一个名为backset-test的公式,代码如下:
islastbar{该周期是否最后一个周期。最后一个周期返回值为1,其余为0}

观察指标线的图形,正如注释所述,最后一天显示为1,这个1我们可理解为信号(条件)成立。其余时间,指标的数值为0,可理解为信号(条件)不成立。

2、巧用backset()函数:
①bacdset(x,n)注释:向前赋值,若X非0则把当前周期及前N-1周期的数值设置为1;
②示例:把信号向前移。
tj1:=islastbar;{最后一天的条件}
tj2:backset(tj1,6);
观察tj2指标线图,发现最后6天的tj2信号都是1,即一个高度为1的矩形。公式中,还无法判断哪天是倒数第6天。

3、显然倒数第6天,是上面矩形的前沿,如何在公式中,表达这个矩形的前沿?
容易想到的办法:
①倒数第6天的当天,tj2为1,更早的1天tj2=0,因此可以编出如下代码:
tj1:=islastbar;{最后一天的条件}
tj2:=backset(tj1,6);
tj3:tj2 and ref(tj2,1)=0;

②倒数第6天的当天,tj2为1,更早的1天tj2=0,即当天tj2比早一天的tj2更大,因此可以编出如下代码:
tj1:=islastbar;{最后一天的条件}
tj2:=backset(tj1,6);
tj3:tj2>ref(tj2,1);

③倒数第6天的当天,tj2为1,更早的1天tj2=0,可以想象为tj2指标线上穿了一条高度为0.5的水平线,因此可以编出如下代码:
tj1:=islastbar;{最后一天的条件}
tj2:=backset(tj1,6);
tj3:cross(tj2,0.5);

④巧用filter()过滤函数,filter(x,N),若X非0,可以让X保持当天的值不变,且过滤其后N个周期使之数值为0。
tj1:=islastbar;{最后一天的条件}
tj2:=backset(tj1,6);
tj3:filter(tj2,5);{第1次的tj2保持为1不变,其后的5个周期过滤为0}

这样就初步找到了4种方法,可以标记倒数第6天,若想用图标来标记的话,代码例举如下:
tj1:=islastbar;{最后一天的条件}
tj2:=backset(tj1,6);
tj3:=tj2>ref(tj2,1);
drawicon(tj3,L,1);

二、精彩公式代码欣赏:
1、清扬兄的波浪公式{大量应用了backset()函数技巧,使用了Dll,需要的可以到巫山论坛,向清扬兄要文件}:
HD:="jgb.HD"(N);LD:="jgb.LD"(N);
DRAWLINE(LD,L,HD,H,0),COLORFF9900;DRAWLINE(HD,H,LD,L,0),COLORFF9900;
J1:=BACKSET(ISLASTBAR,MIN(BARSLAST(HD),BARSLAST(LD))+1); J2:=J1>REF(J1,1);
DRAWLINE(J2,IF(HD,H,L),ISLASTBAR,IF(BARSLAST(HD)>BARSLAST(LD),H,L),0),COLORFF9900;
R1:=BACKSET(ISLASTBAR,BARSLAST(HD)+1); S1:=R1>REF(R1,1); {前一高}
T1:=BACKSET(ISLASTBAR,BARSLAST(LD)+1); U1:=T1>REF(T1,1); {前一低}
R2:=BACKSET(S1,REF(BARSLAST(HD),1)+2); S2:=R2>REF(R2,1); {前二高}
T2:=BACKSET(U1,REF(BARSLAST(LD),1)+2); U2:=T2>REF(T2,1); {前二低}
短高:REF(H,BARSLAST(S1)),LINETHICK1;   短低:REF(L,BARSLAST(U1)),LINETHICK1;
短比:(C-短低)/(短高-短低),LINETHICK0;
DRAWLINE(S2,H,S1,H,1);          DRAWLINE(U2,L,U1,L,1);
V1:=LINEVALUE(S2,H,S1,H,0,1);   V2:=LINEVALUE(U2,L,U1,L,0,1);
DRAWICON(CROSS(C,V1),V1,4);     DRAWICON(CROSS(V2,C),V2,5);
DRAWICON(CROSS(C,短高),短高,4);  DRAWICON(CROSS(短低,C),短低,5);

A3:=HB3:=REF(H,REF(BARSLAST(HD),1)+1)>REF(H,REF(BARSLAST(HD),1)+2+REF(BARSLAST(HD),REF(BARSLAST(HD),1)+2));
D3:=A3 AND B3 AND HD; E3:=BACKSET(D3,REF(BARSLAST(HD),1)+2); HZ:=E3>REF(E3,1);{找出全部长期高点}
  A4:=L>REF(L,REF(BARSLAST(LD),1)+1);
  B4:=REF(L,REF(BARSLAST(LD),1)+1)  D4:=A4 AND B4 AND LD; E4:=BACKSET(D4,REF(BARSLAST(LD),1)+2); LZ:=E4>REF(E4,1);{找出全部长期低点}
R3:=BACKSET(ISLASTBAR,BARSLAST(HZ)+1); S3:=R3>REF(R3,1); {前一长高}
T3:=BACKSET(ISLASTBAR,BARSLAST(LZ)+1); U3:=T3>REF(T3,1); {前一长低}
长高:REF(H,BARSLAST(S3)),LINETHICK2;   长低:REF(L,BARSLAST(U3)),LINETHICK2;
长比:(C-长低)/(长高-长低),LINETHICK0;
PARTLINE(1,长低+(长高-长低)/2),COLORRED; PARTLINE(1,长低+(长高-长低)/3),POINTDOT,COLORDDDDDD;
PARTLINE(1,长低+2*(长高-长低)/3),POINTDOT,COLORDDDDDD;

{下面做大盘叠加,从可见的第一根K线开始。}
A:=BARSCOUNT(C)=SYSPARAM(2); B:=BARSLAST(A); CC:=REF(INDEXC,B)/REF(C,B);
DD1:=INDEXO/CC; DD2:=INDEXH/CC; DD3:=INDEXL/CC; DD4:=INDEXC/CC;
STICKLINE(M AND DD4>=REF(DD4,1),DD3,DD1,0.1,0),COLORFF66FF;
STICKLINE(M AND DD4>=REF(DD4,1),DD4,DD2,0.1,0),COLORFF66FF;
STICKLINE(M AND DD4>=REF(DD4,1),DD1,DD4,7,1),COLORFF66FF;
STICKLINE(M AND DD4STICKLINE(M AND DD4背离系数:100*(C-DD4)/DD4,LINETHICK0;

三、本坛公式高手yyzzqq的精彩代码(macd金叉与死叉之间的最大值)
A1:=CROSS("MACD.MACD",0);
A2:=BARSLAST(A1);
A3:=HHVBARS("MACD.MACD" ,A2+1);
A4:=BACKSET(REF(A3>=1,1) AND  "MACD.MACD"<0,A3);
A5:=BACKSET(REF(A4=0,1) AND A4=1,2);
最大值:IF(FILTER(A5,2),"MACD.MACD",0);
DRAWICON(最大值>0,最大值,1);