通达信指标编写全技巧.docx

上传人:b****2 文档编号:23221946 上传时间:2023-05-15 格式:DOCX 页数:26 大小:1.42MB
下载 相关 举报
通达信指标编写全技巧.docx_第1页
第1页 / 共26页
通达信指标编写全技巧.docx_第2页
第2页 / 共26页
通达信指标编写全技巧.docx_第3页
第3页 / 共26页
通达信指标编写全技巧.docx_第4页
第4页 / 共26页
通达信指标编写全技巧.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

通达信指标编写全技巧.docx

《通达信指标编写全技巧.docx》由会员分享,可在线阅读,更多相关《通达信指标编写全技巧.docx(26页珍藏版)》请在冰豆网上搜索。

通达信指标编写全技巧.docx

通达信指标编写全技巧

通达信指标编写全技巧

首先,你得初步熟悉通达信的函数、公式编写、指标使用、选股、预警等方法。

 

第一课,如何在通达信里画色彩

 

通达信画色带,没有飞狐轻松随意方便,一点局限性,就是只能定义AB之间的画色带

DRAWBAND:

画出带状线.

用法:

DRAWBAND(VAL1,COLOR1,VAL2,COLOR2),当VAL1>VAL2时,在VAL1和VAL2之间填充COLOR1;当VAL1

例如:

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(DW

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)

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(DW

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)

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));

{此句为便于叠加副图不影响版面,当现价大于中间值时将叠加副图放在主图上沿反之放下沿

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;{按比例叠加副图线的计算方式}

模板在此有更详细的解释

.55188./viewthread....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)/100-0.5)*HLMN2/0.5+HLMN1,1.5,0),COLO

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1