1、编写指标公式技巧全集编写指标公式技巧全集复制内容到剪贴板 代码:0001-主图显示代码及板块一、显示板块例一: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
2、)=BARPOS,C,S),ALIGN4,COLORYELLOW;DRAWTEXT(BARPOS=SYSPARAM(2),H,N 所属板块:+BLKNAME),ALIGN4,COLORYELLOW;N与所属板块之间空六格,以显示代码0031-均线多头排列A1:=MA(C,N1);A2:=MA(C,N2);A3:=MA(C,N3);A4:=MA(C,N4);COUNT(A1A2 AND A2A3 AND A3A4,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
3、A3 A4,3);0033-N日均线向下AA:=MA(C,N);BB:=REF(AA,1);AABB0035-N日均线走平AA:=MA(C,N);BB:=REF(AA,1);AA=BB0036-向前N日至M日出现过均线死叉(P1MA(VOL,N);0038-低位密集A1:=COST(85);A2:=COST(15);A3:=A1-A2;A4:=(A1+A2)/2;A5:=A3/A4*10010;B1:=HHV(H,120);B2:=LLV(L,120);B3:=B1-B2;B4:=(A4-B2)0,JC-JLDATACOUNT),COLORYELLOW;/收盘价趋势线,只画线,不显示数值通式:
4、曲线X叠加曲线YBX:=HHV(X,N)-LLV(X,N);BY:=HHV(Y,N)-LLV(Y,N);BI:=BX/BY;B:=BIDATACOUNT;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-XLDATACOUNT);/曲线X的线二、百分比叠加把两曲线的波动幅度划成百分比进行叠加此法,两线都变形,但走势都与原线完全相似。举例:C叠加VHV:=HHV(V,N);DV:=HVDATACOUNT;BV:=100/DV;V*BV,VOLSTICK
5、;HC:=HHV(C,N);LC:=LLV(C,N);BC:=100/(HCDATACOUNT-LCDATACOUNT);(C-LCDATACOUNT)*BC;通式一:曲线X,曲线YXH:=HHV(X,N);XL:=LLV(X,N);XDH:=XHDATACOUNT;XDL:=XLDATACOUNT;BX:=100/(XDH-XDL);曲线X:(X-XDL)*BX;YH:=HHV(Y,N);YL:=LLV(Y,N);YDH:=YHDATACOUNT;YDL:=YLDATACOUNT;BY:=100/(YDH-YDL);曲线Y:(Y-YDL)*BY;通式二:X曲线+Y曲线N:=SYSPARAM(
6、3)-SYSPARAM(2);X:=.; .为X曲线定义XH:=HHV(X,N);XL:=LLV(X,N);XDH:=XHSYSPARAM(3);XDL:=XLSYSPARAM(3);BX:=100/(XDH-XDL);曲线X:(X-XDL)*BX;Y:=.;.为Y曲线定义YH:=HHV(Y,N);YL:=LLV(Y,N);YDH:=YHSYSPARAM(3);YDL:=YLSYSPARAM(3);BY:=100/(YDH-YDL);曲线Y:(Y-YDL)*BY;三、固定位置叠加此法应用不多,仅举例。例一:主图成交量(V叠加C)M:960,1,2000R0:=M/1000;R:=(L-R0*S
7、YSPARAM(5)/V;R1:=LLV(R,SYSPARAM(3)-SYSPARAM(2);R2:=R1SYSPARAM(3);R3:=LLV(L-R2*V,SYSPARAM(3)-SYSPARAM(2);R4:=R3SYSPARAM(3);R5:=(R2*V+R4)*0.995;STICKLINE(C=REF(C,1),R5,R0*SYSPARAM(5),6,1)COLORRED;STICKLINE(C=0,R0*SYSPARAM(5) COLORWHITE;PARTLINE(R50,MA(R5,5);PARTLINE(R50,MA(R5,10);PARTLINE(R50,MA(R5,20
8、);例二:INPUT:N(10,2,999);M:=SYSPARAM(3)-SYSPARAM(2);X:=C;Y:=SUM(IF(CLOSEREF(CLOSE,1),VOL/CAPITAL,IF(CLOSEREF(X,1),(X-XDL)*BX),COLORRED;收盘:PARTLINE(XREF(Y,1),(Y-YDL)*BY),COLORYELLOW;OBV线:PARTLINE(Y REF(Y,1),(Y-YDL)*BY),COLOR009F00;A1:=REF(TY,N)=HHV(TY,2*N+1); B1:=FILTER(A1,N); C1:=BACKSET(B1,N+1); HD:=
9、FILTER(C1,N);A2:=REF(TY,N)=LLV(TY,2*N+1); B2:=FILTER(A2,N); C2:=BACKSET(B2,N+1); LD:=FILTER(C2,N);AA:=REF(TY,BARSLAST(HD); BB:=REF(TY,BARSLAST(LD);A1:=REF(Y,BARSLAST(HD)*1000; B1:=REF(Y,BARSLAST(LD)*1000;T1:=BARSLAST(HD)BARSLAST(LD) AND NOT(LD);PARTLINE(T1,AA),COLORMAGENTA,LINETHICK2;PARTLINE(T2,BB)
10、,COLORGREEN,LINETHICK2;DRAWNUMBER(T1=0 AND REF(T1,1)0,REF(AA,1)+0.1,A1,2);DRAWNUMBER(T2=0 AND REF(T2,1)0,REF(BB,1)+0.1,B1,2);DRAWNUMBER(ISLASTBAR AND T10,REF(AA,1)+0.1,A1,2),COLORYELLOW;DRAWNUMBER(ISLASTBAR AND T20,REF(BB,1)+0.1,B1,2),COLORMAGENTA;0042-均线变色MA05:MA(CLOSE,5);MA30:MA(CLOSE,30);IF(MA05
11、MA30,MA05,MA30),COLORGREEN;IF(MA05MA30,MA30,MA30),COLORBLUE;DRAWICON(CROSS(MA05,MA30),L*0.98,4);DRAWICON(CROSS(MA30,MA05),H*1.02,5);UID5帖子826精华2积分673查看详细资料TOP 私摹基金带您操作股票 股道 大户室贡献1 红币356 个人空间 发短消息 加为好友 当前离线 2# 大 中 小 发表于 2007-3-3 16:58 只看该作者 复制内容到剪贴板 代码:0055-底背离LLV(L,60)=L) AND NOT(LLV(DEA,60)=DEA);00
12、56-顶背离HHV(H,60)=H) AND NOT(HHV(DEA,60)=DEA);0057-N次金叉、死叉0轴上二次金叉COUNT(CROSS(DIF,DEA) AND DEA0,20)=2 AND CROSS(DIF,DEA) ANDDEA0;0轴上三次金叉COUNT(CROSS(DIF,DEA) AND DEA0,20)=3 AND CROSS(DIF,DEA) ANDDEA0;0轴上四次金叉COUNT(CROSS(DIF,DEA) AND DEA0,20)=4 AND CROSS(DIF,DEA) AND DEA0;二次金叉EXPLAIN(COUNT(CROSS(DIF,DEA),
13、20)=2 AND CROSS(DIF,DEA);二次死叉COUNT(CROSS(DEA,DIF),20)=2 AND CROSS(DEA,DIF);0058-5分钟副图显示15分钟K线建公式:0015C15:CLOSE;O15:OPEN;H15:HIGH;L15:LOW;建公式:十五K线C15:=0015.C15#MIN15;O15:=0015.O15#MIN15;H15:=0015.H15#MIN15;L15:=0015.L15#MIN15;TI:=OPENMINUTES(TIME)=10 OR OPENMINUTES(TIME)=25 OR OPENMINUTES(TIME)=40 OR
14、 OPENMINUTES(TIME)=55 OR OPENMINUTES(TIME)=70 OR OPENMINUTES(TIME)=85 OR OPENMINUTES(TIME)=100 OR OPENMINUTES(TIME)=115 OR OPENMINUTES(TIME)=130 OR OPENMINUTES(TIME)=145 OR OPENMINUTES(TIME)=160 OR OPENMINUTES(TIME)=175 OR OPENMINUTES(TIME)=190 OR OPENMINUTES(TIME)=205 OR OPENMINUTES(TIME)=220 OR OP
15、ENMINUTES(TIME)=235;HH15:=IF(TI,H15,C15);LL15:=IF(TI,L15,C15);STICKLINE(C15O15,C15,O15,10,0),COLORRED;STICKLINE(C15O15 AND H15C15,HH15,C15,0.1,0),COLORRED;STICKLINE(C15O15 AND O15L15,O15,LL15,0.1,0),COLORRED;STICKLINE(C15=O15,C15,O15,10,0),COLORGREEN;STICKLINE(C15L15,C15,LL15,0.1,0),COLORGREEN;STICK
16、LINE(C15O15,HH15,O15,0.1,0),COLORGREEN;注:以大陆股市为例,四小时,其他市场如超过四小时,可在中间语句“TI:=”中以15为系数顺序加足,如:OR 250 OR 265等等。0059-移动成本不知道函数算法,计算误差在所难免。调整参数“”可看到不同的移动成本。/筹码%INPUT:%(90,1,100);A:=AMOUNT/V/100;成本:FLOOR(COST(50-%/2)*100)/100,COLORYELLOW,LINETHICK0;:CEILING(COST(50+%/2)*100)/100,COLORYELLOW,LINETHICK0;集中度:I
17、NTPART(-成本)/(+成本)*1000)/10,COLORGREEN;平均成本:ROUND(COST(50)*100)/100,LINETHICK0;穿透力:(WINNER(C)-REF(WINNER(C),1)/V*CAPITAL,LINETHICK0;/计算误差大/穿透力2:(WINNER(C)-WINNER(O)/V*CAPITAL,LINETHICK0;/这一写法还是误差大获利比例:ROUND(WINNER(C)*1000)/10,LINETHICK0;UID5帖子826精华2积分673查看详细资料TOP 私摹基金带您操作股票股道 大户室贡献1 红币356 个人空间 发短消息 加
18、为好友 当前离线 3# 大 中 小 发表于 2007-3-3 16:58 只看该作者 复制内容到剪贴板 代码:0059-移动成本不知道函数算法,计算误差在所难免。调整参数“”可看到不同的移动成本。/筹码%INPUT:%(90,1,100);A:=AMOUNT/V/100;成本:FLOOR(COST(50-%/2)*100)/100,COLORYELLOW,LINETHICK0;:CEILING(COST(50+%/2)*100)/100,COLORYELLOW,LINETHICK0;集中度:INTPART(-成本)/(+成本)*1000)/10,COLORGREEN;平均成本:ROUND(CO
19、ST(50)*100)/100,LINETHICK0;穿透力:(WINNER(C)-REF(WINNER(C),1)/V*CAPITAL,LINETHICK0;/计算误差大/穿透力2:(WINNER(C)-WINNER(O)/V*CAPITAL,LINETHICK0;/这一写法还是误差大获利比例:ROUND(WINNER(C)*1000)/10,LINETHICK0;0060-妙用SUMBARS()函数SUMBARS(X,N)函数的用法如下:向前累加到指定值到现在的周期数。用法:SUMBARS(X,A)将X向前累加直到大于等于A,返回这个区间的周期数例如:SUMBARS(VOL,CAPITAL
20、)1、设计一个指标,计算当日成交量是几天内的最高成交量?2、设计一个指标,计算当日最高价是几天内的最高价?提示:直接用HHV()函数无法得到正确结果。例一:B:=HHV(H,0);A:=IF(BARPOS=1,BDATACOUNT*1.2,H);价:SUMBARS(REF(A,1)-A,0);U:=HHV(V,0);S:=IF(BARPOS=1,UDATACOUNT*1.2,V);量:SUMBARS(REF(S,1)-S,0);或:VH:=HHV(VOL,0);FV:=IF(BARPOS=1,VHDATACOUNT*1.2,VOL); /VHDATACOUNT是历史最高成交量量创新高周期数:S
21、UMBARS(REF(FV,1)-FV,0);这里的关键是 REF(FV,1)-FV ,想想看写成 FV-REF(FV,1) 行不行?另一种写法:VH:=HHV(VOL,0);FV:=VOL;FV1:=VHDATACOUNT*1.2; /VHDATACOUNT是历史最高成交量量创新高周期数:SUMBARS(REF(FV,1)-FV,0);这里的关键是 REF(FV,1)-FV ,想想看写成 FV-REF(FV,1) 行不行?代码已经成功了,原理是什么呢?假设某日成交量是3日内的最大成交量,则必有:REF(VOL,3)-VOL=0等价于:(REF(VOL,3)-REF(VOL,2)+(REF(V
22、OL,2)-REF(VOL,1)+(REF(VOL,1)-VOL) =0意思就是说,“昨成交量与今成交量之差”逐日累加,直到某日累加和大于等于0,则这之间的天数,就是所要求的日数。我们再来看看SUMBARS()函数的含义:SUMBARS(X,A):将X向前累加直到大于等于A,返回这个区间的周期数。显然上面的式子:(REF(VOL,3)-REF(VOL,2)+(REF(VOL,2)-REF(VOL,1)+(REF(VOL,1)-VOL)=0可以写成:SUMBARS(REF(VOL,1)-VOL, 0);为何第1周期的成交量要替换成比所有成交量都大的数值?最后,再来思考一个问题,把题目中的求“最大
23、”,改成求“最小”,即多少天内是最小的?例二:B:=HHV(H,0);A:=IF(BARPOS=1,9999,H);Z:SUMBARS(REF(A,1)-A,0);DRAWNUMBER(BARPOS=SYSPARAM(1),1,Z,0)ALIGN4,COLORWHITE;U:=HHV(V,0);S:=IF(BARPOS=1,999999999999,V)Y:SUMBARS(REF(S,1)-S,0);DRAWNUMBER(BARPOS=SYSPARAM(1),1,Y,0)ALIGN3,COLORYELLOW;例三:HH:=IF(BARSCOUNT(C)=1,9999,H);ZH:SUMBARS(REF(HH,1)-HH,0);/价创了N周期新高VH:=IF(BARSCOUNT(C)=1,99999999,V);HV
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1