通达信指标编写全技巧
首先,你得初步熟悉通达信的函数、公式编写、指标使用、选股、预警等方法。
第一课,如何在通达信里画色彩
通达信画色带,没有飞狐轻松随意方便,一点局限性,就是只能定义AB之间的画色带 DRAWBAND:画出带状线.
用法:DRAWBAND(VAL1,COLOR1,VAL2,COLOR2),当VAL1>VAL2时,在VAL1和VAL2之间填充COLOR1;当VAL1 下面我以二条布林线画色带为例子说明一下,正常对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) IF(MA(C,60) 000.jpg (281.25 KB) 2009-10-17 10: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 MA20,COLOR00FFFF,LINETHICK2; IF(MA(C,20) IF(MA(C,60) 111.jpg (80.37 KB) 2009-10-17 10: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),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)