例如:
DRAWBAND(OPEN,RGB(0,224,224),CLOSE,RGB(255,96,96));
下面我以二条布林线画色带为例子说明一下,正常对MA20与MA60做二条布林画色带
{先隐藏赋值,为了能将你想看到的线型的数据显示在指标的当头位置}
MA20:
MA(CLOSE,20),COLORRED,LINETHICK2;
MA60:
MA(CLOSE,60),COLORFF0090,LINETHICK2;
UP:
MA20+2*STD(CLOSE,20),LINETHICK1,COLOR404080;
DW:
MA20-2*STD(CLOSE,20),LINETHICK1,COLORC0C0C0;
UP2:
MA60+2*STD(CLOSE,60),LINETHICK1,COLOR808080;
DW2:
MA60-2*STD(CLOSE,60),LINETHICK1,COLOR004000;
{然后画色带}
DRAWBAND(MA60,RGB(200,150,30),UP2,RGB(200,150,30));
DRAWBAND(MA60,RGB(100,100,150),DW2,RGB(100,100,150));
DRAWBAND(MA20,RGB(0,50,150),DW,RGB(0,50,150));
DRAWBAND(MA20,RGB(155,50,50),UP,RGB(155,50,50));
{因为画色带遮挡了原来的K线,所以要重做一次K线}
STICKLINE(C>O,H,L,0,0),COLORRED;
STICKLINE(C<=O,H,L,0,0),COLORCYAN;
STICKLINE(C>O,C,O,3.1,1),COLORRED;
STICKLINE(C<=O,C,O,3.1,0),COLORCYAN;
{最后将你想要的赋值的线画出来和变色处理}
MA20,COLOR00FFFF,LINETHICK2;
IF(MA(C,20)MA60,COLORFF0090,LINETHICK2;
IF(MA(C,60)000.jpg(281.25KB)
2009-10-1710:
43
要解决这个问题,那么我们就变通一下,将指标修改一下
要做一个小限制
IF(A>B,A,B)--就是当A大于B时,显示A,否则显示B
{先隐藏赋值,为了能将你想看到的线型的数据显示在指标的当头位置}
MA20:
MA(CLOSE,20),COLORRED,LINETHICK2;
MA60:
MA(CLOSE,60),COLORFF0090,LINETHICK2;
UP:
MA20+2*STD(CLOSE,20),LINETHICK1,COLOR404080;
DW:
MA20-2*STD(CLOSE,20),LINETHICK1,COLORC0C0C0;
UP2:
MA60+2*STD(CLOSE,60),LINETHICK1,COLOR808080;
DW2:
MA60-2*STD(CLOSE,60),LINETHICK1,COLOR004000;
{然后画色带}
DRAWBAND(MA60,RGB(200,150,30),UP2,RGB(200,150,30));
DRAWBAND(MA60,RGB(100,100,150),DW2,RGB(100,100,150));
DRAWBAND(MA20,RGB(0,50,150),DW,RGB(0,50,150));
DRAWBAND(MA20,RGB(155,50,50),UP,RGB(155,50,50));
{IF(UP>UP2,UP2,UP)就是当UP大于UP2时,显示UP2,否则显示UP}
DRAWBAND(UP,RGB(0,150,50),IF(UP>UP2,UP2,UP),RGB(0,150,50));
DRAWBAND(DW,RGB(0,150,50),IF(DWSTICKLINE(C>O,H,L,0,0),COLORRED;
STICKLINE(C<=O,H,L,0,0),COLORCYAN;
STICKLINE(C>O,C,O,3.1,1),COLORRED;
STICKLINE(C<=O,C,O,3.1,0),COLORCYAN;
{最后将你想要的赋值的线画出来和变色处理}
MA20,COLOR00FFFF,LINETHICK2;
IF(MA(C,20)MA60,COLORFF0090,LINETHICK2;
IF(MA(C,60)111.jpg(80.37KB)
2009-10-1710:
43
要解决这个问题,那么我们就变通一下,将指标修改一下
要做一个小限制
IF(A>B,A,B)--就是当A大于B时,显示A,否则显示B
{先隐藏赋值,为了能将你想看到的线型的数据显示在指标的当头位置}
MA20:
MA(CLOSE,20),COLORRED,LINETHICK2;
MA60:
MA(CLOSE,60),COLORFF0090,LINETHICK2;
UP:
MA20+2*STD(CLOSE,20),LINETHICK1,COLOR404080;
DW:
MA20-2*STD(CLOSE,20),LINETHICK1,COLORC0C0C0;
UP2:
MA60+2*STD(CLOSE,60),LINETHICK1,COLOR808080;
DW2:
MA60-2*STD(CLOSE,60),LINETHICK1,COLOR004000;
{然后画色带}
DRAWBAND(MA60,RGB(200,150,30),UP2,RGB(200,150,30));
DRAWBAND(MA60,RGB(100,100,150),DW2,RGB(100,100,150));
DRAWBAND(MA20,RGB(0,50,150),DW,RGB(0,50,150));
DRAWBAND(MA20,RGB(155,50,50),UP,RGB(155,50,50));
{IF(UP>UP2,UP2,UP)就是当UP大于UP2时,显示UP2,否则显示UP}
DRAWBAND(UP,RGB(0,150,50),IF(UP>UP2,UP2,UP),RGB(0,150,50));
DRAWBAND(DW,RGB(0,150,50),IF(DWSTICKLINE(C>O,H,L,0,0),COLORRED;
STICKLINE(C<=O,H,L,0,0),COLORCYAN;
STICKLINE(C>O,C,O,3.1,1),COLORRED;
STICKLINE(C<=O,C,O,3.1,0),COLORCYAN;
{最后将你想要的赋值的线画出来和变色处理}
MA20,COLOR00FFFF,LINETHICK2;
IF(MA(C,20)MA60,COLORFF0090,LINETHICK2;
IF(MA(C,60)111.jpg(80.37KB)
第二课,主图叠加指标,先说叠加最高和最低点无法确定的副图指标,这里以叠加MACD为例子
要叠加一个副图,首先要定义副图中心值的位置,然后再作分割处理
{先隐藏赋值,为了能将你想看到的线型的数据显示在指标的当头位置}
MA20:
MA(CLOSE,20),COLORRED,LINETHICK2;
MA60:
MA(CLOSE,60),COLORFF0090,LINETHICK2;
UP:
MA20+2*STD(CLOSE,20),LINETHICK1,COLOR404080;
DW:
MA20-2*STD(CLOSE,20),LINETHICK1,COLORC0C0C0;
UP2:
MA60+2*STD(CLOSE,60),LINETHICK1,COLOR808080;
DW2:
MA60-2*STD(CLOSE,60),LINETHICK1,COLOR004000;
{然后画色带}
DRAWBAND(MA60,RGB(200,150,30),UP2,RGB(200,150,30));
DRAWBAND(MA60,RGB(100,100,150),DW2,RGB(100,100,150));
DRAWBAND(MA20,RGB(0,50,150),DW,RGB(0,50,150));
DRAWBAND(MA20,RGB(155,50,50),UP,RGB(155,50,50));
{IF(UP>UP2,UP2,UP)就是当UP大于UP2时,显示UP2,否则显示UP}
DRAWBAND(UP,RGB(0,150,50),IF(UP>UP2,UP2,UP),RGB(0,150,50));
DRAWBAND(DW,RGB(0,150,50),IF(DW{叠加MACD}
DIFZ:
=EMA(C,12)-EMA(C,26);
DEAZ:
=EMA(DIFZ,9);
MACDZ:
=2*(DIFZ-DEAZ);
HH0:
=CONST(HHV(H,120))*1;{以现价的N日最高值为高点,我取120日,这个取值可以根据
自己电脑的版面而定}
LL0:
=CONST(LLV(L,120))*1;{以现价的N日最低值为高点}
MM0:
=CONST((HH0+LL0)/2);{取中间值}
HL0:
=CONST(IF(CONST(C)>=MM0,LL0-(HH0-LL0)*0.2,HH0+(HH0-LL0)*0.2));
{此句为便于叠加副图不影响版面,当现价大于中间值时将叠加副图放在主图上沿反之放下沿
LL0-(HH0-LL0)*0.2是限制副图大小0.2可根据自己的喜好调节}
HH1:
=IF(CONST(C)LL1:
=IF(CONST(C)>=MM0,LL0,HL0);{再次设定叠加副图的最低值}
HL1:
=(HH1+LL1)/2;{最后确定副图的中间值位置}
STICKLINE(MACDZ>0,MACDZ*2+HL1,HL1,1,0),COLOR400080;
STICKLINE(MACDZ>0ANDMACDZ>REF(MACDZ,1),MACDZ*2+HL1,HL1,1,0),COLOR00FFFF;
STICKLINE(MACDZ<0,MACDZ*2+HL1,HL1,1,0),COLOR008080;
STICKLINE(MACDZ<0ANDMACDZ>REF(MACDZ,1),MACDZ*2+HL1,HL1,1,0),COLORC080FF;
(DIFZ*2+HL1),COLORRED;
(DEAZ*2+HL1),COLORFFFFFF;
IF(DIFZ<=REF(DIFZ,1),DIFZ*2+HL1,DRAWNULL),COLORFFF000;
{因为画色带遮挡了原来的K线,所以要重做一次K线}
STICKLINE(C>O,H,L,0,0),COLORRED;
STICKLINE(C<=O,H,L,0,0),COLORCYAN;
STICKLINE(C>O,C,O,3.1,1),COLORRED;
STICKLINE(C<=O,C,O,3.1,0),COLORCYAN;
{最后将你想要的赋值的线画出来和变色处理}
MA20,COLOR00FFFF,LINETHICK2;
IF(MA(C,20)MA60,COLORFF0090,LINETHICK2;
IF(MA(C,60)如果在主图叠加有最高最低数据限制的副图,这里以叠加RSI为例子
RSI的数值最高是100,最低是0,有了这个定义就好办了(叠加KDJ性质一样),以叠加MACD的模板继续修改
首先我们要做一个叠加副图模板
HH:
=CONST(HHV(C,120))*1;{取现价的N日最大值}
LL:
=CONST(LLV(C,120))*1;{取现价的N日最小值}
HL:
=CONST(IF(CONST((HH+LL)/2){取叠加副图自动转换高低值,当现价小于中间值时以LL-(HH-LL)*0.2为副图自动转换高低值,反之以HH+(HH-LL)*0.2为副图自动转换高低值}
HH1:
=IF(CONST((HH+LL)/2)>CONST(C),HH,HL);{当现价小于中间值时以最大值为最高点,反之以HL为最高点}
LL1:
=IF(CONST((HH+LL)/2)HLMAX:
=MAX(HH1,LL1);{设定所要叠加副图比例的最大值}
HLMIN:
=MIN(HH1,LL1);{设定所以叠加副图比例的最小值}
HLMN1:
=(HLMAX+HLMIN)/2;{取设定所要叠加副图比例的最大最小值的中间值}
HLMN2:
=HLMAX-HLMIN;{取设定所要叠加副图比例的最大最小值的差值}
HLMN3:
=(副图比例最高值-副图比例最低值)/2;
HLMN4:
=副图比例最高值-副图比例最低值;
所叠加副图线:
(副图线形-HLMN4)*HLMN2/HLMN3+HLMN1;{按比例叠加副图线的计算方式}由于所要叠加副图的正常比例最高值是100,最低值是0,所以
HLMN3:
=(副图比例最高值-副图比例最低值)/2;
HLMN4:
=副图比例最高值-副图比例最低值;
所叠加副图线:
(副图线形-HLMN3)*HLMN2/HLMN4+HLMN1;{按比例叠加副图线的计算方式}
可以修改成
HLMN3:
=(100-0)/2;
HLMN4:
=100-0;
直接简化为
所叠加副图线:
(副图线形-50)*HLMN2/100+HLMN1;{按比例叠加副图线的计算方式}
模板在此有更详细的解释
...26amp%3Btypeid%3D38
-------------------
有了以上叠加副图的模板,那么就好办了,就以叠加RSI为例子
HH:
=CONST(HHV(C,120))*1;
LL:
=CONST(LLV(C,120))*1;
HL:
=CONST(IF(CONST((HH+LL)/2)HH1:
=IF(CONST((HH+LL)/2)>CONST(C),HH,HL);
LL1:
=IF(CONST((HH+LL)/2){以下是设定叠加副图的比例}
HLMAX:
=MAX(HH1,LL1);
HLMIN:
=MIN(HH1,LL1);
HLMN1:
=(HLMAX+HLMIN)/2;
HLMN2:
=HLMAX-HLMIN;
{叠加副图}
STICKLINE(C,HH1,HH1,1,0),COLOR858500;
STICKLINE(C,LL1,LL1,1,0),COLOR858500;
STICKLINE(C,(HH1+LL1)/2,(HH1+LL1)/2,1,0),COLOR858500;
("RSI.RSI1"-50)*HLMN2/100+HLMN1,COLORFC80FF,LINETHICK2;
("RSI.RSI2"-50)*HLMN2/100+HLMN1,COLOR00FFFF;
("RSI.RSI3"-50)*HLMN2/100+HLMN1,COLORFFFFFF;
STICKLINE(C>O,H,L,0,0),COLORRED;
STICKLINE(C<=O,H,L,0,0),COLORCYAN;
STICKLINE(C>O,C,O,3.1,1),COLORRED;
STICKLINE(C<=O,C,O,3.1,0),COLORCYAN;
M5:
MA(C,5);
M10:
MA(C,10);
M20:
MA(C,20);
M60:
MA(C,60);
如果你想再复杂点,多叠加那就加啊
HH:
=CONST(HHV(C,120))*1;
LL:
=CONST(LLV(C,120))*1;
HL:
=CONST(IF(CONST((HH+LL)/2)HH1:
=IF(CONST((HH+LL)/2)>CONST(C),HH,HL);
LL1:
=IF(CONST((HH+LL)/2){以下是设定叠加副图的比例}
HLMAX:
=MAX(HH1,LL1);
HLMIN:
=MIN(HH1,LL1);
HLMN1:
=(HLMAX+HLMIN)/2;
HLMN2:
=HLMAX-HLMIN;
{先对最高最低值画色带,也可用柱子表示}
STICKLINE(C,HH1,(HH1+LL1)/2,5,0),COLOR858500;
STICKLINE(C,LL1,(HH1+LL1)/2,5,0),COLOR330000;
{对副图的数值进行分割}
STICKLINE(C,(75-50)*HLMN2/100+HLMN1,(100-50)*HLMN2/100+HLMN1,5,0),
COLOR000088;
STICKLINE(C,(25-50)*HLMN2/100+HLMN1,(0-50)*HLMN2/100+HLMN1,5,0),
COLOR555555;
{叠加副图}
STICKLINE("KDJ.K"(9,3,3)>"KDJ.D"(9,3,3),("KDJ.K"(9,3,3)-50)*HLMN2/100
+HLMN1,("KDJ.D"(9,3,3)-50)*HLMN2/100+HLMN1,1.5,0),COLOR5955FF;
STICKLINE("KDJ.K"(9,3,3)<"KDJ.D"(9,3,3),("KDJ.K"(9,3,3)-50)*HLMN2/100
+HLMN1,("KDJ.D"(9,3,3)-50)*HLMN2/100+HLMN1,1.5,0),COLORFF5955;
W1:
=(HHV(HIGH,14)-CLOSE)/(HHV(HIGH,14)-LLV(LOW,14))*100;
(W1-50)*HLMN2/100+HLMN1,COLORBLUE;
("RSI.RSI1"-50)*HLMN2/100+HLMN1,COLORFC80FF,LINETHICK2;
("RSI.RSI2"-50)*HLMN2/100+HLMN1,COLOR00FFFF;
("RSI.RSI3"-50)*HLMN2/100+HLMN1,COLORFFFFFF;
STICKLINE(C>O,H,L,0,0),COLORRED;
STICKLINE(C<=O,H,L,0,0),COLORCYAN;
STICKLINE(C>O,C,O,3.1,1),COLORRED;
STICKLINE(C<=O,C,O,3.1,0),COLORCYAN;
M5:
MA(C,5);
M10:
MA(C,10);
M20:
MA(C,20);
M60:
MA(C,60);
有的朋友喜欢双叠加,也做了一个参考
MA5:
MA(CLOSE,5),COLORFF00FF,LINETHICK0;
MA13:
MA(C,13),COLOR00FFFF,LINETHICK0;
MA34:
MA(CLOSE,34),COLORRED,LINETHICK0;
MA55:
MA(CLOSE,55),COLORFF0090,LINETHICK0;
HH0:
=CONST(HHV(C,150));
LL0:
=CONST(LLV(C,150));
HL:
=CONST(IF(CONST((HH0+LL0)/2)HH1:
=IF(CONST((HH0+LL0)/2)>CONST(C),HH0,HL);
LL1:
=IF(CONST((HH0+LL0)/2)HL2:
=CONST(IF(CONST((HH0+LL0)/2)>CONST(C),LL0*0.95-(HH0-LL0)*0.1,HH0*0.95+(HH0-LL0)*0.1));
HLMAX:
=MAX(HH1,LL1);
HLMIN:
=MIN(HH1,LL1);
HLMN1:
=(HLMAX+HLMIN)/2;
HLMN2:
=HLMAX-HLMIN;
STICKLINE(C,HH1,(HH1+LL1)/2,5,0),COLOR858500;
STICKLINE(C,LL1,(HH1+LL1)/2,5,0),COLOR330000;
STICKLINE(C,(0.75-0.5)*HLMN2/0.5+HLMN1,(1-0.5)*HLMN2/0.5+HLMN1,5,0),
COLOR000088;
STICKLINE(C,(0.25-0.5)*HLMN2/0.5+HLMN1,(0-0.5)*HLMN2/0.5+HLMN1,5,0),
COLOR555555;
STICKLINE("KDJ.K"(9,3,3)>"KDJ.D"(9,3,3),("KDJ.K"(9,3,3)/100-0.5)*HLMN2/0.5
+HLMN1,("KDJ.D"(9,3,3)/