文华赢智V8.2版本的画线类函数编写示例
(2014-08-26 20:37:14)
标签:
股票 |
分类: 期货程序化 |
1、
H1:LOOP1(H,5,MAX_POS)+1,NODRAW;
//5周期最高价到当前的K线位置
L2:LOOP1(L,5,MIN_POS)+1,NODRAW;
//5周期最低价到当前K线的位置
DRAWSL(H1=1,H,0,2,0,COLORRED),LINETHICK2;
DRAWSL(L2=1,L,0,2,0,COLORGREEN),LINETHICK2;
//当当前K线满足为5周期内的最高价、最低的时候,在最高、最低价处向右画2周期的横线
DRAWNUMBER(H1=1,H,LOOP1(H,5,MAX_VALUE),2,COLORRED),ALIGN2,VALIGN2;
DRAWNUMBER(L2=1,L,LOOP1(L,5,MIN_VALUE),2,COLORGREEN),ALIGN0,VALIGN0;
//在满足最高、最低价位置处写上数字标示
N1:=BACKSET(ISLASTBAR,6);
DRAWNUMBER(CROSSUP(N1,0.5),H,REFX(C,5),2,COLORMAGENTA);
//在倒数第6根显示最后一根的收盘价
2、
N1:LOOP1(H,5,SECONDMAX1_POS),NODRAW;//5周期次高值到当前的K线周期(不包含当前K线)
N2:LOOP1(L,5,SECONDMIN1_POS),NODRAW;//5周期次低值到当前K线的周期(不包含当前K线)
N11:REF(LOOP1(H,5,SECONDMAX_POS),1)+1,NODRAW;
N22:REF(LOOP1(L,5,SECONDMIN_POS),1)+1,NODRAW;
//N11和N1、N22和N2是相等的
NA:=LOOP1(H,6,SECONDMAX_POS),NODRAW;
NB:=LOOP1(L,6,SECONDMIN_POS),NODRAW;
A:=BACKSET(ISLASTBAR,NA+1);//当前K线为最新的K线,向前NA+1个周期赋值为1
B:=BACKSET(ISLASTBAR,NB+1);//当前K线为最新的K线,向前NB+1个周期赋值为1
DRAWSL(CROSS(A,0.5),H,0,1,2,COLORRED);//满足次高点的K线画红色水平线
DRAWSL(CROSS(B,0.5),L,0,1,2,COLORGREEN);//满足次低点的K线画红色水平线
DRAWNUMBER(ISLASTBAR,LOOP1(H,6,SECONDMAX_VALUE),LOOP1(H,6,SECONDMAX_VALUE),2,COLORRED),ALIGN2,VALIGN2;
DRAWNUMBER(ISLASTBAR,LOOP1(L,6,SECONDMIN_VALUE),LOOP1(L,6,SECONDMIN_VALUE),2,COLORGREEN),ALIGN2,VALIGN0;
//当满足最新K线在次高低点位置显示高低点
3、
HIGH1:=REF(HHV(H,90),3);//3周期前的90周期的最高价
LOW1:=REF(LLV(L,90),3);//3周期前的90周期的最低价
H1:=HIGH1-(HIGH1-LOW1)*0.191;
H2:=HIGH1-(HIGH1-LOW1)*0.382;
H3:=HIGH1-(HIGH1-LOW1)*0.5;
H4:=HIGH1-(HIGH1-LOW1)*0.618;
H5:=HIGH1-(HIGH1-LOW1)*0.809;
//最高和最低价的黄金分割比率
DRAWSL(ISLASTBAR,HIGH1,0,1,1,COLORRED),LINETHICK2;
DRAWSL(ISLASTBAR,H1,0,1,1,COLORYELLOW),LINETHICK2;
DRAWSL(ISLASTBAR,H2,0,1,1,COLORMAGENTA),LINETHICK2;
DRAWSL(ISLASTBAR,H3,0,1,1,COLORCYAN),LINETHICK2;
DRAWSL(ISLASTBAR,H4,0,1,1,COLORGREEN),LINETHICK2;
DRAWSL(ISLASTBAR,H5,0,1,1,COLORYELLOW),LINETHICK2;
DRAWSL(ISLASTBAR,LOW1,0,1,2,COLORRED),LINETHICK2;
DRAWNUMBER(ISLASTBAR,HIGH1,HIGH1,2,COLORRED);
DRAWNUMBER(ISLASTBAR,H1,H1,2,COLORYELLOW);
DRAWNUMBER(ISLASTBAR,H2,H2,2,COLORMAGENTA);
DRAWNUMBER(ISLASTBAR,H3,H3,2,COLORCYAN);
DRAWNUMBER(ISLASTBAR,H4,H4,2,COLORGREEN);
DRAWNUMBER(ISLASTBAR,H5,H5,2,COLORYELLOW);
DRAWNUMBER(ISLASTBAR,LOW1,LOW1,2,COLORCYAN);
DRAWHORIZONTALLINE(DATE<>REF(DATE,1),O,COLORRED);//当天第一根K线的开盘价为起点,截至下一根满足条件的K线为止画一条红色水平线。(该实例即为画出一天的开盘价格)
DRAWHORIZONTALLINE(C>O,H,COLORGREEN);//水平画线强调的是截止下一个满足条件为止
4、
A:ZIGZAG(H,1,10);//最高价10%的转向
A1:ZIGZAG(L,1,10);//最低价10%的转向
NH:BARSLAST(AREF(A,2))+1,NODRAW;//当存在拐头向下的K线时到当前周期
NL:BARSLAST(A1>REF(A1,1)&&REF(A1,1)
H1:REF(H,NH),NODRAW;//前拐头的最高价
L1:REF(L,NL),NODRAW;//前拐头的最低价
HH1:IFELSE(H>H1,H,H1),SETSTYLECOLOR(LINETHICK2,COLORRED);//取新的最高价
LL1:IFELSE(L
5、
N:=BARSLAST(DATE<>REF(DATE,1))+1;
NN:=BACKSET(ISLASTBAR,N);//表示今天的K线
H1:=VALUEWHEN(NN=1,REF(HHV(H,N),N));
L1:=VALUEWHEN(NN=1,REF(LLV(L,N),N));
C1:=VALUEWHEN(NN=1,REF(C,N));//
P: (H1 + L1 + C1) / 3,SETSTYLECOLOR(DOT,COLORWHITE);
R1: C1 + ((H1 - L1) * 1.1 /
12),SETSTYLECOLOR(DOT,COLORRED);
S1: C1 - ((H1 - L1) * 1.1 /
12),SETSTYLECOLOR(DOT,COLORGREEN);
R2: C1 + ((H1 - L1) * 1.1 /
6),SETSTYLECOLOR(DOT,COLORBLUE);
S2: C1 - ((H1 - L1) * 1.1 /
6),SETSTYLECOLOR(DOT,COLORMAGENTA);
R3: C1 + ((H1 - L1) * 1.1 /
4),SETSTYLECOLOR(LINETHICK2,COLORYELLOW);
S3: C1 - ((H1 - L1) * 1.1 /
4),SETSTYLECOLOR(LINETHICK2,COLORLIGHTRED);
R4: C1 + ((H1 - L1) * 1.1 /
2),SETSTYLECOLOR(LINETHICK1,COLORLIGHTGREEN);
S4: C1 - ((H1 - L1) * 1.1 /
2),SETSTYLECOLOR(LINETHICK1,COLORLIGHTBLUE);
R5: C1 * H1 / L1,SETSTYLECOLOR(DOT,COLORLIGHTGREY);
S5: 2*C1-MA(R5,5),SETSTYLECOLOR(DOT,COLORCYAN);
DRAWNUMBER1(ISLASTBAR,P,P,2),COLORWHITE,FONTSIZE20;
DRAWNUMBER1(ISLASTBAR,R1,R1,2),COLORRED,FONTSIZE20;
DRAWNUMBER1(ISLASTBAR,S1,S1,2),COLORGREEN,FONTSIZE20;
DRAWNUMBER1(ISLASTBAR,R2,R2,2),COLORBLUE,FONTSIZE20;
DRAWNUMBER1(ISLASTBAR,S2,S2,2),COLORMAGENTA,FONTSIZE20;
DRAWNUMBER1(ISLASTBAR,R3,R3,2),COLORYELLOW,FONTSIZE20;
DRAWNUMBER1(ISLASTBAR,S3,S3,2),COLORLIGHTRED,FONTSIZE20;
DRAWNUMBER1(ISLASTBAR,R4,R4,2),COLORLIGHTGREEN,FONTSIZE20;
DRAWNUMBER1(ISLASTBAR,S4,S4,2),COLORLIGHTBLUE,FONTSIZE20;
DRAWNUMBER1(ISLASTBAR,R5,R5,2),COLORLIGHTGREY,FONTSIZE20;
DRAWNUMBER1(ISLASTBAR,S5,S5,2),COLORCYAN,FONTSIZE20;
//如果是月的话,将第一行进行如下修改
N:=BARSLAST(MONTH<>REF(MONTH,1))+1;
//如果是周的话,将第一行进行如下修改 N:=BARSLAST(WEEKDAY
6、
TMP:=OPEN-CLOSE;
NN:=BACKSET(ISLASTBAR,5);//想只画几根这里数字就设置几
DRAWLINE(TMP>0.00001&&NN=1,HIGH,TMP>0.00001&&NN=1,OPEN,COLORCYAN);
DRAWLINE(TMP>0.00001&&NN=1,LOW,TMP>0.00001&&NN=1,CLOSE,COLORCYAN);
DRAWLINE(TMP<-0.00001&&NN=1,HIGH,TMP<-0.00001&&NN=1,CLOSE,COLORRED);
DRAWLINE(TMP<-0.00001&&NN=1,LOW,TMP<-0.00001&&NN=1,OPEN,COLORRED);
DRAWLINE(ABS(TMP)<0.00001&&NN=1,LOW,ABS(TMP)<0.00001&&NN=1,OPEN,COLORWHITE);
DRAWLINE(ABS(TMP)<0.00001&&NN=1,HIGH,ABS(TMP)<0.00001&&NN=1,OPEN,COLORWHITE);
STICKLINE(TMP>0&&NN=1,OPEN,CLOSE,COLORCYAN,0);
STICKLINE(TMP<=0&&NN=1,OPEN,CLOSE,COLORRED,0);
7、
MA5:MA(C,5);
MA10:MA(C,10);
MA20:MA(C,20);
FILLRGN(MA5>MA10,MA5,MA10,COLORRED);
//5周期均线大于10周期均线在其区间填充红色
FILLRGN1(MA10>MA20,MA10,MA20),COLORGREEN;
//10周期均线大于20周期均线在其区间填充绿色
8、
DRAWTEXT(CLOSE
//表示连续两日收阴并且成交量比前一日至少多10%时,在最低价上写"注"字。
DRAWTEXT(L<=LLV(L,10),LOW,'新低'),ALIGN0,FONTSIZE16,COLORRED;
//表示当根K线创10周期新低时,在最低价写"新低"字,文字左对齐,字体大小为16,文字颜色为红色。
N1:=BACKSET(ISLASTBAR,6);
DRAWNUMBER1(CROSSUP(N1,0.5),H,REFX(C,5),2),COLORMAGENTA,FONTSIZE40;
//在倒数第6根显示最后一根的收盘价
前一篇:[转载]期权分类