常用语句: 0018--今收盘对于N日内最低收盘价的涨幅(%) (C-LLV(C,N))/LLV(C,N)*100; ------------------------------------------------------------------------------- 0019--今收盘对于N日内最高收盘价的跌幅(%) (HHV(C,N)-C)/HHV(C,N)*100; ------------------------------------------------------------------------------- 0020--股价在过去N日内运行空间的相对位置 (C-LLV(L,N))/(HHV(H,N)-LLV(L,N))*100; ------------------------------------------------------------------------------- 0021--股价上方N1%至N2%处的筹码(%) AA:=WINNER(C+C*N2/100)*100; BB:=WINNER(C+C*N1/100)*100; AA-BB ------------------------------------------------------------------------------- 0022--股价下方N1%至N2%处的筹码(%) (WINNER(C-C*N1/100)-WINNER(C-C*N2/100))*100; ------------------------------------------------------------------------------- 0023--收盘价N%处的套牢盘 100-(WINNER(C*N/100))*100; ------------------------------------------------------------------------------- 0024--收盘价N%处的获利盘 WINNER(C*N/100)*100; ------------------------------------------------------------------------------- 0025--下影线 (MIN(C,O)-L)/(H-L); ------------------------------------------------------------------------------- 0026--上影线 (H-MAX(C,O))/(H-L) ------------------------------------------------------------------------------- 0027--本周期的涨跌幅 (C-REF(C,1))/REF(C,1)*100; ------------------------------------------------------------------------------- 0028--振幅 (H-L)/L*100; ------------------------------------------------------------------------------- 0029--均线金叉 CROSS(MA(C,N),MA(C,M));{N< M} ------------------------------------------------------------------------------- 0030--均线死叉 CROSS(MA(C,M),MA(C,N));{N< M} ------------------------------------------------------------------------------- 0031--均线多头排列 A1:=MA(C,N1); A2:=MA(C,N2); A3:=MA(C,N3); A4:=MA(C,N4); COUNT(A1>A2 AND A2>A3 AND A3>A4,3); ------------------------------------------------------------------------------- 0032--均线空头排列 A1:=MA(C,N1); A2:=MA(C,N2); A3:=MA(C,N3); A4:=MA(C,N4); COUNT(A1< A2 AND A2< A3 AND A3< A4,3); ------------------------------------------------------------------------------- 0033--N日均线向下 AA:=MA(C,N); BB:=REF(AA,1); AA< BB ------------------------------------------------------------------------------- 0034--N日均线向上 AA:=MA(C,N); BB:=REF(AA,1); AA>BB ------------------------------------------------------------------------------- 0035--N日均线走平 AA:=MA(C,N); BB:=REF(AA,1); AA=BB ------------------------------------------------------------------------------- 0036--向前N日至M日出现过均线死叉(P1< P2) AA:=MA(C,P1); BB:=MA(C,P2); CC:=REF(CROSS(BB,AA),N); COUNT(CC,M); ------------------------------------------------------------------------------- 0037--今日成交量大于N日以来的均量 VOL>MA(VOL,N); ------------------------------------------------------------------------------- 0038--低位密集 A1:=COST(85); A2:=COST(15); A3:=A1-A2; A4:=(A1+A2)/2; A5:=A3/A4*100<10; B1:=HHV(H,120); B2:=LLV(L,120); B3:=B1-B2; B4:=(A4-B2)< B3/2; A5 AND B4; ------------------------------------------------------------------------------- 0039--换手率 VOL/CAPITAL*100; ------------------------------------------------------------------------------- 0040--N日盈亏 V1:=VOL/SUM(VOL,N); V2:=DMA(CLOSE,V1); V3:(CLOSE-V2)/V2*100; ------------------------------------------------------------------------------- 0041--曲线叠加 指标线的叠加,是为了方便观看和比较,没什么其他的意义。 一、对指标曲线的变化幅度放大 此法,一线变形,另一线不变,但变形线的走势与原线完全相似。 举例:C叠加V BC:=HHV(C,N)-LLV(C,N);//N一般取常用主图上的K线数量 BV:=HHV(V,N); BI:=BC/BV;//叠加比 B:=BI[DATACOUNT];//最后一根K线的叠加比,保证叠加比前后统一 成交量:V,VOLSTICK; F:=C/REF(C,1); JC:=REF(C,1)*(1+A*F)*B/A;//A-放大倍数,将C的涨跌幅度F放大 JL:=LLV(JC,N);//平移量。请去掉JC句的=看JL的作用 收盘价:C,LINETHICK0,COLORYELLOW;//只显示数值,不画线 PARTLINE(C>0,JC-JL[DATACOUNT]),COLORYELLOW;//收盘价趋势线,只画线,不显示数值 通式: 曲线X叠加曲线Y BX:=HHV(X,N)-LLV(X,N); BY:=HHV(Y,N)-LLV(Y,N); BI:=BX/BY; B:=BI[DATACOUNT]; FX:=X/REF(X,1); JX:=REF(X,1)*(1+A*FX)*B/A; XL:=LLV(JX,N); 曲线Y:Y; 曲线X:X,LINETHICK0;//曲线X的值 PARTLINE(C,JX-XL[DATACOUNT]);//曲线X的线
金死叉间最大值、最小值求法: 金死叉之间的最大值求法: 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,高值,4); 金死叉之间的最小值求法: B1:=CROSS(0,"MACD.MACD"); B2:=BARSLAST(B1); B3:=LLVBARS("MACD.MACD" ,B2+1); B4:=BACKSET(REF(B3>=1,1) AND "MACD.MACD">0,B3); B5:=BACKSET(REF(B4=0,1) AND B4=1,2); 低值:IF(FILTER(B5,2),"MACD.MACD",0); DRAWICON(低值<0,低值,5);
时间周期线(主图叠加) INPUT:N(5,5,100);//参数定义 ZIG(1,N);//高点 FF:=PEAKBARS(1,N,1); FF:=IF(FF<6,PEAKBARS(1,N,2),FF); BARST:=SYSPARAM(1); VARIABLE:ZQ[序列数据量/2]:=1.236; ZQ[2]:=1.309; ZQ[3]:=1382; ZQ[4]:=1.5; ZQ[5]:=1.618; ZQ[6]:=1.746; ZQ[7]:=2; ZQ[8]:=2.618; ZQ[9]:=3; ZQ[10]:=3.236; ZQ[11]:=4.236; ZQ[12]:=5.236;//周期线间隔比例,可另行定义 TJ:=FF[BARST]=BARST-BARPOS; FOR I=1 TO 12 DO TJ:=TJ OR BARPOS-BARST=ROUND((ZQ-1)*FF[BARST]+0.5); VERTLINE(TJ),POINTDOT,COLORMAGENTA; 必须打开十字光标才可以正常使用。自动寻找高点,可另加参数,改成高低点两用。 公式含义:当K线与高点的时间间隔为十字光标与高点的时间间隔的等于指定比例时,显示竖线。即所谓的时间预测,如果您有好的测试方法,可以仿此代码编制。 这段代码,进行适当的改造,可以向未来延伸,有兴趣的可以自行研究(提示:使用SHIFT函数)。
向前赋值函数的高级用法 问题:如何在最后一根K线的前第6天,作上标记? 1、先建立一个名为BACKSET-TEST的公式,代码如下: ISLASTBAR{该周期是否最后一个周期。最后一个周期返回值为1,其余为0} 观察指标线的图形,正如注释所述,最后一天显示为1,这个1我们可理解为信号(条件)成立。其余时间,指标的数值为0,可理解为信号(条件)不成立。 2、巧用BACKSET()函数: 1BACDSET(X,N)注释:向前赋值,若X非0则把当前周期及前N-1周期的数值设置为1; 2示例:把信号向前移。 TJ1:=ISLASTBAR;{最后一天的条件} TJ2:BACKSET(TJ1,6); 观察TJ2指标线图,发现最后6天的TJ2信号都是1,即一个高度为1的矩形。公式中,还无法判断哪天是倒数第6天。 3、显然倒数第6天,是上面矩形的前沿,如何在公式中,表达这个矩形的前沿? 容易想到的办法: 1倒数第6天的当天,TJ2为1,更早的1天TJ2=0,因此可以编出如下代码: TJ1:=ISLASTBAR;{最后一天的条件} TJ2:=BACKSET(TJ1,6); TJ3:TJ2 AND REF(TJ2,1)=0; 2倒数第6天的当天,TJ2为1,更早的1天TJ2=0,即当天TJ2比早一天的TJ2更大,因此可以编出如下代码: TJ1:=ISLASTBAR;{最后一天的条件} TJ2:=BACKSET(TJ1,6); TJ3:TJ2>REF(TJ2,1); 3倒数第6天的当天,TJ2为1,更早的1天TJ2=0,可以想像为TJ2指标线上穿了一条高度为0.5的水平线,因此可以编出如下代码: TJ1:=ISLASTBAR;{最后一天的条件} TJ2:=BACKSET(TJ1,6); TJ3:CROSS(TJ2,0.5); 4巧用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); 主图显示证券代码及所属板块 一、显示板块 例一: DRAWTEXT(BARPOS=SYSPARAM(2),H,'\N所属板块:'+BLKNAME),ALIGN4,COLORYELLOW; 例二: DRAWTEXT(SYSPARAM(2)=BARPOS,C,'所属板块:'+BLKNAME),ALIGN4,COLORYELLOW; 例三: DRAWTEXT(SYSPARAM(2)=BARSCOUNT(C),H,'[所属版块]:'+BLKNAME),ALIGN4,COLORYELLOW; 二、显示代码及板块 S:=STKLABEL; DRAWTEXT(SYSPARAM(2)=BARPOS,C,S),ALIGN4,COLORYELLOW; DRAWTEXT(BARPOS=SYSPARAM(2),H,'\N 所属板块:'+BLKNAME),ALIGN4,COLORYELLOW;{N与所属板块之间空六格,以显示代码}
主图显示(叠加)成交量 前四例可实际使用,后三例的思路不错,但量柱过高,部分遮住K线,有待完善。 例一: BB:=HHV(VOL,SYSPARAM(3)-SYSPARAM(2)); HH:=SYSPARAM(4); LL:=SYSPARAM(5); TT:=IF(HH-LL<=2.5,0.25,IF(HH-LL<=5,0.8,IF(HH-LL<=10,2,IF(HH-LL<=20,3,IF(HH-LL<=31,4,IF(HH-LL<=41,5,IF(HH-LL<=50,6,IF(HH-LL<=60,7,IF(HH-LL<=70,8,IF(HH-LL<=80,9,1)))))))))); MA(V/BB*0.9*TT+LL,5)-0.04; MA(V/BB*0.9*TT+LL,10)-0.04; MA(V/BB*0.9*TT+LL,34)-0.04; STICKLINE(C>=REF(C,1),V/BB*0.9*TT+LL-0.04,LL-0.04,4,1)COLOR9090EE; STICKLINE(C< REF(C,1 ),V/BB*0.9*TT+LL-0.04,LL-0.04,4,1)COLORBLUE; STICKLINE(C>=O,C,O,8,0),COLOR0055AA; STICKLINE(C<=O,C,O,8,0),COLOR006600; STICKLINE(C>=O,C,O,5,0),COLOR0077CC; STICKLINE(C>=O,C,O,3,0),COLOR0099DD; STICKLINE(C>=O,H,L,0,0),COLOR00BBFF; STICKLINE(C<=O,C,O,5,0),COLOR009900; STICKLINE(C<=O,C,O,3,0),COLOR00BB00; STICKLINE(C<=O,H,L,0,0),COLOR00EE00 例二: BB:=HHV(VOL,SYSPARAM(3)-SYSPARAM(2)); HH:=SYSPARAM(4); LL:=SYSPARAM(5); TT:=IF(HH-LL<4,0.5,1); STICKLINE(C>=REF(C,1),VOL/BB*0.8*TT+LL,LL,4,1)COLOR9090EE; STICKLINE(C< REF(C,1 ),VOL/BB*0.8*TT+LL,LL,4,1)COLORBLUE; STICKLINE(C>=O,C,O,8,0),COLOR0055AA; STICKLINE(C<=O,C,O,8,0),COLOR006600; STICKLINE(C>=O,C,O,5,0),COLOR0077CC; STICKLINE(C>=O,C,L,3,0),COLOR0099DD; STICKLINE(C>=O,H,L,0,0),COLOR00BBFF; STICKLINE(C<=O,C,O,5,0),COLOR009900; STICKLINE(C<=O,C,O,3,0),COLOR00BB00; STICKLINE(C<=O,H,L,0,0),COLOR00EE00 例三: A1:=VOL; A2:=VOL/CAPITAL*100/15; A3:=SYSPARAM(5); A4:=A3-0.3; STICKLINE(C>0 AND C>REF(C,1),A4,A4+A2,7,1),COLORRED; STICKLINE(C>0 AND C<=REF(C,1),A4,A4+A2,7,0),COLORCCFF99; DRAWNUMBER(SYSPARAM(1)=BARPOS AND C>0,A4,A1,1),COLOR00FFFF; DRAWTEXT(SYSPARAM(1)=BARPOS,A4,'成交量:'),COLOR00FFFF,ALIGN2; {A2中的15可调;A4中的0.3可调} 例四: 可以调节量柱的高度,不会覆盖K线。使用时,请打开光标。注意,在“管理→系统选项→图形→主图坐标仅随K线变动”处不要打钩。亦显示换手率的数值。 A1:=VOL/CAPITAL*100/15; A2:=SYSPARAM(5); A3:=A2-0.3; STICKLINE(C>=O,A3,A3+A1,7,1),COLORRED; STICKLINE(C< O,A3,A3+A1,7,0),COLORCCFF99; 换:VOL/CAPITAL*100,LINETHICK0,COLORRED; 例五: STICKLINE(C>REF(C,1),VOL*0.00001+SYSPARAM(5),SYSPARAM(5),8,1)COLORRED; STICKLINE(C< REF(C,1),VOL*0.00001+SYSPARAM(5),SYSPARAM(5),8,0)COLORCYAN; VMA5:MA(VOL*0.00001+SYSPARAM(5),5); VMA15:MA(VOL*0.00001+SYSPARAM(5),15); {可通过修改“V*0.00001”中的“0.00001”进行优化} 例六: STICKLINE(C>REF(C,1)AND C<10,VOL*0.000001+SYSPARAM(5),SYSPARAM(5),8,1)COLORRED; STICKLINE(C< REF(C,1)AND C<10,VOL*0.000001+SYSPARAM(5),SYSPARAM(5),8,0)COLORCYAN; {主图一般用百分比坐标,加限定不是好的解决办法} 例七: MA5:MA(C,P1); { P1:5 P2:10 P3:20 P4:30 N:0.6 M:1} MA10:MA(C,P2); MA20:MA(C,P3); MA30:MA(C,P4); 现价: DYNAINFO(7),COLORWHITE,LINETHICK1 POINTDOT; STICKLINE(C>O,O,C,7,0),COLORRED; STICKLINE(C>O,O,C,2,0),COLORB0B0FF; STICKLINE(C>O,O,C,1,0),COLORYELLOW; STICKLINE(C>O,L,H,0.1,0),COLORYELLOW; STICKLINE(C< O,O,C,7,0),COLORFF2020; STICKLINE(C< O,O,C,4,0),COLORFF6600; STICKLINE(C< O,O,C,2,0),COLORCYAN; STICKLINE(C< O,L,H,0.1,0),COLORCYAN; STICKLINE(C=O AND C>=REF(C,1),O,C,7,0),COLORRED; STICKLINE(C=O AND C>=REF(C,1),O,C,4,0),COLORB0B0FF; STICKLINE(C=O AND C>=REF(C,1),O,C,2,0),COLORYELLOW; STICKLINE(C=O AND C>=REF(C,1),L,H,0.1,0),COLORYELLOW; STICKLINE(C=O AND C< REF(C,1),O,C,7,0),COLORFF2020; STICKLINE(C=O AND C< REF(C,1),O,C,4,0),COLORFF6600; STICKLINE(C=O AND C< REF(C,1),O,C,2,0),COLORCYAN; STICKLINE(C=O AND C< REF(C,1),L,H,0.1,0),COLORCYAN; YYTTGG:=BARSCOUNT(HHV(V,0)); BB:=HHV(VOL,SYSPARAM(3)-SYSPARAM(2));//画面中的最大成交量 LL:=SYSPARAM(5);//主图可见K线最低价 STICKLINE(C>=REF(C,1),VOL/BB+LL*M,LL*M,8,1)COLOR50CCEE; STICKLINE(C< REF(C,1),VOL/BB+LL*M,LL*M,8,0)COLORBLUE;
0003--预测全天成交量、换手率 例一: 根据分时成交量预测 IF(OPENMINUTES(CURRENTTIME)=1,V,(V/OPENMINUTES(CURRENTTIME))*240); 例二: 预测量:STICKLINE(DYNAINFO(7)=CLOSE AND DYNAINFO(10)=AMOUNT,VOL,MAX(VOL,DYNAINFO(17)*REF(MA(VOL,5),1)),7,1),COLORGREEN; 例三: STICKLINE(DYNAINFO(7)=C AND DYNAINFO(10)=AMOUNT,DYNAINFO(17)*REF(MA(VOL,5),1),0,4,1); DRAWTEXT(DYNAINFO(7)=C AND DYNAINFO(10)=AMOUNT,V,'←实际V'),COLORRED; 例四: 预换手%:MAX(VOL,DYNAINFO(17)*REF(MA(VOL,5),1))/CAPITAL*100,COLORFFFF00;
|