當前位置:首頁 > 财經 > 正文

指标公式編寫入門教程

打開技術指标公式,我們最常見的,它的組成不外乎兩種情況,一是K線,二是均線。其他諸如柱狀線,彩帶,分段線等等,都是在K線或均線基礎上的延伸或變形。為此,我們先熟悉一下構成這兩種狀态的基本函數。

第一講 基本入門

一、K線函數

非常簡單,大家都可能熟知。作為基礎,還是說明一下。

1、開盤價:OPEN 可簡寫為 O

2、最高價:HIGH 可簡寫為 H

3、最低價:LOW  可簡寫為 L

4、收盤價:CLOSE 可簡寫為 C

有了這4個函數,就可構成一根K線了。比如:收盤價小于開盤價,即陰線:C

那麼長下影的光頭陽線,即 T 形線呢?理解了原理,也很簡單。一要以最高價收盤(否則有上影),二要開盤價大于最低價。所以有如下表示:C=H AND O>L;這裡我們沒有考慮下影的長度和 T 字上邊一橫(實體部分)的寬度。

習題:一根光頭陽線,實體部分小于5分錢,下影超過實體的兩倍,如何表述?

特别提示:編輯指标必須在英文狀态下輸入。其中運用的數學符号,包括加減乘除、分号,引号等(+ - * / ; '' ''><#)也必須在英文狀态下輸入。

二、均線函數

單根K線的形态是相當枯燥的。尤其在主圖裡。配合以均線等形式就會豐富多采,或者更利于我們從中發現規律和分析問題。這就需要均線函數來解決了。

最常見的:

1、MA(X,N),求X的N周期簡單移動平均值。

算法:(X1+X2+X3+...+Xn)/N

例如:MA(CLOSE,20),表示求20日均價。

2、EMA(X,N),求X的N周期指數平滑移動平均。

算法: 若Y=EMA(X,N) 則Y=[2*X+(N-1)*Y']/(N+1), 其中Y'表示上一周期Y值。

例如:EMA(CLOSE,20),表示求20日指數平滑均價。

3、SMA(X,N,M),求X的N周期移動平均,M為權重。

算法: 若Y=SMA(X,N,M) 則 Y=(M*X+(N-M)*Y')/N, 其中Y'表示上一周期Y值,N必須大于M。

例如:SMA(CLOSE,20,1),表示求20日移動平均價。

這三個均線函數在股軟中是通用的。關于它們的區别,開始學習時不必深究。其實數值區别也不是很大。要均線真實反映每天的價格變化,用MA,适當圓滑些,用EMA 或SMA。

三、常用連接函數

有了上述基本函數,可以表述出K線和均線了,但實際應用中要複雜得多,還要一些函數把他們連接起來。

大緻有這麼幾個:

1、AND 就是“和”的意思。如:A AND B;就是A和B兩個條件要同時成立。

2、OR “或”,“或者”的意思。如:A OR B;就是A和B兩個條件有其中一個成立就行。

3、IF 根據條件取不同的值。如:IF(X,A,B),若X不為0則返回A,否則返回B。實例:IF(C

4、CROSS 交叉函數。CROSS(A,B),表示A從下方向上穿過B。

5、REF 向前引用。引用若幹周期前的數據。例如:REF(CLOSE,1),表示昨收的收盤價。那麼前天的最高價呢,就是:REF(H,2)。

四、成交量

VOL 表示每天的成交量。因以後會經常用到,所以先交待給大家。

上面這幾個函數是最常用的,希望大家記住,不知怎麼寫也要知道其表述的意思。當然,記不住也不要緊,《公式編輯器》中全有。

習題:10日均線與20日均線金叉和漲幅超過百分之三,且成交量比昨天放大一倍。

第二講 認識顔色符号或繪圖函數

我們所看到的指标是以線為基礎的。不論是均線,K線,或在線與點之間的填充,又都離不開顔色。正是有了五顔六色才使得圖形豐富多采,便于區分,或者更具立體感。本講就是告訴大家如何利用顔色或修改顔色。

一、顔色函數

(一)基本符号:COLOR

所有顯示顔色時,都必須用這個符号做為引導。但它本身并沒有色彩,在它的後面還需加上具體的顔色,才能使用。

舉例:COLORBLACK;後面加上英文的黑色單詞,在圖中就會顯示出黑色來了。

(二)常用顔色:

顔 色   1:飛狐的:   2、大智慧2   3、大智慧  4、通達信    5、同花順  6、通用符号

紅 色   COLORRED;     同前    同前 與飛狐基本相通   同 前

白 色   COLORWHITE;    同前   同前   一般不用修改    以下略--

黃 色  COLORYELLOW;   同前   同前   以下略--

黑 色   COLORBLACK;    同前

藍 色   COLORBLUE;    同前    同前                 COLORFFFF00

棕 色   COLORBROWN;    同前 COLOR0055FF

青 色(淡藍)COLORCYAN;     同前 COLORFFFF00                COLORF0F000

灰 色   COLORGRAY;    同前    同前

綠 色   COLORGREEN;    同前   同前             COLOR00FF00

晶紅色(粉)COLORMAGENTA;   同前 COLORff00ff              COLORF00FF0

此外還有:金黃色COLOR008364 紫紅COLOR000999 深黃色COLOR00CCCC 紫羅藍COLORE66878 等等。

(三)常見顔色問題。

從上表中我們可以看出,大部分顔色符号是通用的。但在将源碼粘貼時,因股軟的不同,有時會出現《未定義的标識符》字樣,很多時候就是顔色惹的禍。常見的是:

COLORCYAN   淡藍色,大智慧不識别,需改成:COLORFF0000

COLORMAGENTA 晶紅色,大智慧不識别,需改成:COLORF00FF0

特别提示:找不到相對應的顔色函數怎麼辦?一是删除,讓系統自動填加。二是更換數字或字母。

實際上隻要在COLOR後面加上0-9、A-F中的任意6個數字字母,就可組成不同的顔色。有興趣的可試試

(四)指标線粗細函數 LINETHICK 放在語句的後面,用 , 号隔開。例:LINETHICK2,後面的數值越大,線就越粗。

特别提示:LINETHICK0 表示不畫出指标線,但可在頂部顯示數值。

二、繪圖函數

1、DRAWICON 在圖形上繪制小圖标。這是最常用的繪圖函數之一。

用法:DRAWICON(條件,位置,圖标)

飛狐15種圖标編碼為1-15(1-3為小臉,4-5為上下箭頭,6-7為紅綠小旗,8-9為三角形,10-12為信号燈,13-15為O、X、四方形)。

大智慧2的圖标編碼為14個。

其他股軟略少。

這個函數通用。但同一數字編碼,顯示出的圖形區别卻非常大,形态也不一樣。大家可通過變動數字編碼自行調整。

2、DRAWTEXT 在圖形上顯示文字。這也是最常用的繪圖函數之一。

用法 DRAWTEXT(條件,位置,文字),注意,文字必須用單引号 '' 引上才能輸出。

飛狐可用'n'換行, 飛狐和大智慧2可用 ALIGN 0-3 定義對齊方式。

3、STICKLINE 在圖形上繪制柱線。

用法:STICKLINE(條件,上位置,下位置,寬度,實體或空心)。

此函數股軟通用。寬度最大為10(一般K線的寬度為6)。 0 --畫實心柱,  1 --畫空心柱。

4、PARTLINE 分段繪制指标線。

飛狐用法 PARTLINE(條件,需要變色的線)。

例如 PARTLINE(C>REF(C,1),C),colorred 表示收盤大于前收以紅色繪制收盤價連線。

大智慧2用法:PARTLINE(需要變色的線,條件1,條件1用的顔色,條件2,條件2用的顔色...),最多可以有10組條件。

例如:PARTLINE(C,C>O,RGB(255,0,0),C

特别提示:大智慧2同分析家一樣,在繪制分段線時,用的不是正常的顔色函數,而是用RGB(255,0,0)來表達。以下是幾種常用顔色:

洋紅(255,0,255) 紅色(255,0,0) 綠色(0,255,250) 黃色(255,255,0) 紫色(128,0,128)

灰色(169,169,169) 天藍(255,215,0)。

同花順和大智慧2一樣,運用相同的函數。

通達信的劃分段線是用IF條件函數來實現的。

例:IF(C>=O,A線,DRAWNULL),COLORRED,LINETHICK2;

翻譯過來是:當收盤價大于等于開盤價時,在A線上劃紅色,否則不劃。指标線為2等粗。

特别提示:DRAWNULL 是通達信的專用函數。意思是返回0。其他股軟遇到此函數時,可直接用0替代。

大智慧沒有這項功能。一般用如下三種方式替代:

第一種:用 DRAWTEXT 在圖形上顯示文字的方式。在文字欄用的文字是小圓圈。

第二種:用 STICKLINE 在圖形上繪制柱線的方式。但注意柱線必須要短。

第三種:用 IF 條件函數的方式,适用于3條線以上。本文略去。

5、FILLRGN 畫區間彩帶

飛狐用法:FILLRGN(條件,線1,線2)

例如:FILLRGN(MA1>MA2, MA1,MA2),colorred 表示MA1>MA2時以紅色填充MA1和MA2之間的區域。

大智慧2用法:FILLRGN(線1,線2,條件1,顔色1,條件2,顔色2...),填充條件1到條件2之間的區域,當條件1滿足時,用顔色1,當條件2滿足時,用顔色2,否則不填充,最多可以有10組條件。

例如:FILLRGN(CLOSE,OPEN,CLOSE>OPEN,RGB(255,0,0),CLOSE

其他三種股軟好像都沒有這項功能。

為了實現這一效果,一般都是用劃柱線的方式替代。注意的是,一般要将寬窄的數字加大,目的是讓相鄰的柱線合在一起顯示出整體的效果。

例:STICKLINE(J

第三講:源碼的引入和修改

(一)在各種股軟中的引入方法

股軟之間雖然區别較大,但有一個共同點,就是第一步都是打開公式編輯器。下面再分别簡要說明一下:

一、大智慧

1. 把要導入的公式(源碼)考下來,方法是用左鍵先把源碼變藍,之後點右鍵,點複制;

2. 進入大智慧------>特色功能------>自編指标------>常用------>技術指标------>新建,在出現的公式編輯區的下面的空白處,把剛考的源碼粘貼上,将公式名稱複制後粘貼到公式名稱欄------>确認------>退出。

3、在大智慧的底部顯示欄中點擊公式名稱即可看到剛剛導入的公式。

二、飛狐

1、複制源碼,方法同上。

2、進入主界面,即K線圖模式。

用鼠标靠近左側單擊,出現管理面闆------>雙擊技術指标------>用鼠标右鍵單擊任何一個公式組的名稱,比如“其它”------>點新建公式------>在出現的公式編輯區的下面的空白處,把剛考的源碼粘貼上,将公式名稱複制後粘貼到公式名稱欄------>确定------>退出。

3、找到新建的公式,雙擊即可使用。

三、大智慧2

特别提示:必須在聯網的狀态下才可操作

有兩種方式可以進入公式編輯頁面。一是将鼠标靠近上部,點擊《公式》―――《公式管理》―――雙擊《技術指标》―――單擊指标組―――《新建》。

另一種方式是,将鼠标靠近左邊,在出現的對話框中雙擊《技術指标》―――右鍵單擊選定的公式組―――《新建》。

三、分析家

複制公式原碼到分析家界面―――點擊上面的《公式》―――點擊《公式管理》―――按公式歸類把其點擊變色―――點擊《新建》。

四、通達信

将鼠标靠近左邊,在出現的對話圖标中選F(x)即《公式管理器》圖标―――雙擊《技術指标公式》―――單擊選定的指标組―――《新建》。

五、同花順

将鼠标靠近上部―――點擊《公式》圖标,進入後的操作與其他股軟基本一樣。

特别提示:必須在《描述》欄中加上文字或字母之類,否則無法通過。

(二)公式引入時的注意事項和說明

一、參數問題

複制的源碼中有參數的,例如:{N 1 100 15},有三種解決辦法:

1、手工将參數分别填加到參數表中。

2、采取變通方式進行改動。{N 1 100 15}改動後為:N:=15;

特别提示:注意用參數的大小處于中間的值來替換。這個中間值也是缺省值。另外:N後面必須加上等号,它的意思是不顯示。

3、對于INPUT:N(5), M(10,1,100,2);這類有申明參數函數的,飛狐,大智慧2和分析家可不用理它,系統會自動将參數填加到參數表中。這裡的M(10,1,100,2)裡面的2是步長,手工填加時可删去。

二、粘貼源碼時常見的問題和注意事項

1、未定義的标識符

多數是由參數引起的。還有就是有些源碼中附帶了公式名稱或說明,這些公式源碼以外的内容,如:名稱,說明以及參數等等,凡在{ }以外的,均要删除,或者用{ }将其括上。

2、條件選股類的公式,應加入到和“技術指标”并列的“條件選股”組中。

3、是主圖公式的,需在公式編輯區中點“主圖疊加”。

4、通達信的輸出一般都限定在16條。多出的解決辦法是:将沒有必要輸出的語句後面加上“等号”,或者删去。例:

買點: STICKLINE(Var6>REF(Var6,1) AND Var6>0 ,Var6,Var8,10,0);

DRAWICON(FILTER(Var6>REF(Var6,1) AND Var6>0,30),-140,4);

DRAWTEXT(FILTER(Var6>REF(Var6,1) AND Var6>0,30),-40,'建議關注 '),COLORffffff;

這三項分别是劃柱線、顯示小箭頭和顯示文字。留一個就行了。

加“等号”的例子:

Var2:MA(CLOSE,10);

Var3:MA(CLOSE,20);

Var4:MA(CLOSE,30);

加上後:

Var2:MA(CLOSE,10);

Var3:=MA(CLOSE,20);

Var4:MA(CLOSE,30);

意思是保留了10日均線和30日均線的輸出,将20日的隐去。

特别提示:不論什麼股軟,當遇到線條過多過亂時,都可以采用這種辦法使圖形簡練清晰。

5、顔色符号及逗号問題

例:倉:EMA(100*(CLOSE-LLV(LOW,34))/(HHV(HIGH,34)-LLV(LOW,34)),3),,colormagenta;

此句可能存在兩個問題,一是後面有兩個“逗号”,對于飛狐等通過,而對于大智慧2和分析家等,則是問題,必須删去一個。反之,一個沒有也不行。二是後面的colormagenta,大智慧是不認識的。換成通用的:colorf00ff0就行了。

6、是否輸出與顔色标識問題

例:倉:=EMA(100*(CLOSE-LLV(LOW,34))/(HHV(HIGH,34)-LLV(LOW,34)),3),colormagenta,LINETHICK0;

這個語句的特點是在前面有等号“ = ”,意思是不輸出,但後面還有顔色修飾符和指标線粗細函數。有些股軟對此是放行的,即:不輸出。而大智慧2和分析家卻不認,把它看成相互矛盾的病句。解決辦法:将修飾符全部删去,或将前面的 = 号去掉,讓語句輸出。

第四講:各種形态的描述

懂得運用公式編輯器,掌握了公式的基本函數,就可以進行簡單的公式編寫了。下面我們共同認識一下公式的基本語句。這些基本語句,是編寫公式和整理選股公式信号的基礎,大家要熟知。

一、K線的基本形态

1、當天收陽:CLOSE>OPEN;

2、當天收陰:CLOSE<OPEN;

3、當天股價高開,言下之意開盤高于昨日收盤:OPEN>REF(CLOSE,1);

4、當天股價低開:OPEN<REF(CLOSE,1);

5、跳空高開:OPEN>REF(HIGH,1);當日開盤在昨日最高價之上

6、跳空低開:POEN<REF(LOW,1);

7、長陽:C/O>1.03 或者 (C-O)/O*100>5 或者 (C-O)/O>0.05 意思是收盤價比開盤價上漲5%以上。當然,用7%以上也可。

8、長陰:C/O<0.94; 注意:同一語句可有多種表述,此為其一。

9、高開大陰:O/REF(C,1)>1.04 AND C/O<1.94; 今天開盤比昨天收盤高出4%和收盤價較開盤下降6%。低開大陽與此正好相反。

10、标準十字星:CLOSE=OPEN AND HIGH<>LOW

更多見的是近似十字星。例:ABS(C-O)<0.02 AND H-C>0.03 AND C-L>0.03; 該語句用上了一個函數:ABS,意思是求絕對值。這樣,該近似十字星即可能是陽星也可能是陰星。

再認識兩個函數:MAX(A,B) 求A和B中的最大值。

MIN(A,B) 求A和B中的較小值

有了這兩個函數,近似十字星還可這樣表述:ABS(C-O)<0.02 AND H> MAX(C,O) AND L< MIN(C,O);

另外,該公式還可以用比例數編寫。

11、長下影線:也有收陰收陽之分。以陽線長下影線為例:C>O AND (O-L)>(C-O);此公式隻表達了下影線比實體線長,并沒有表達長度比例和有無上影線。

留個習題吧:不限制陰陽線,上影小于5分錢,下影線是實體的兩倍以上。

形态還有許多,有幾十種,不一一例舉了,大家舉一反三,慢慢摸索吧。

二、條件選股的基本形态

1、階段最高價:HHV(H,N) 意思是取得N天之内的最高價。新函數:HHV,最高值。

2、階段最低價:LLV(L,N)意思是取得N天之内的最低價。新函數:LLV,最低值。

3、階段漲幅 (C-REF(C,N))/REF(C,N)*100 N日收盤價的差值的百分比。

4、再創新高 HIGH=HHV(HIGH,N) 是指今日最高價是N日以來的最高價.。 再創新低:略。

5、放量:

(1)今日比昨日的成交量放大了1倍: VOL/REF(VOL,1)>2;

(2)今日的五日均量比前五天的五日均量放大了3倍:

AA:=MA(VOL,5);

BB:=REF(AA,5);

AA/BB>4;

(3)今天的成交量達到了整個流通盤的10%以上: VOL/CAPITAL>10/100;

注意,10%的表達式是10/100,或者0.1

6、縮量:

(1)今日比昨日的成交量縮小了1倍: VOL/REF(VOL,1)<0.5;

(2)今日的五日均量比前五天的五日均量縮小了一半:

AA:=MA(VOL,1)<0.5;

BB:=REF(AA,5);

AA/BB<0.5;

(3)今天的成交量不足整個流通盤的0.5%: VOL/CAPITAL<0.5/100;

7、放量上攻   是指價格上揚,成交量劇增

C/REF(C,5)>1.2 AND VOL>MA(VOL,5)*3; 表示5日上漲20%和成交量超過5日均量的3倍。

8、持續放量:COUNT(V>REF(V,1),N)=N; 實際上這種情況不是很多。如果用3日均量,或5日均量則非常普遍。即:COUNT(MA(V,3)>REF(MA(V,3),1),N)=N;

9、階段放量

N(1,100,10) M(1,100,5)

SUM(VOL,N1)/CAPITAL>=(N/100) M日内換手率大于百分之N

10、溫和放量上攻

M(2,10,3) N(1,40,10)

UP:=MAX(C,O)>REF(MAX(C,O),1);

A:=VOL>REF(VOL,1);

COUNT(IF((UP AND A),1,0),N)=N AND C>O

AND (C-REF(MAX(C,OPEN),1))/REF(MAX(O,C),1)<=(3/100)

AND VOL/CAPITAL<=(M/100)

連續N個周期放大并保持上漲勢頭 當日換手率小于 M%

11、突然放量

N(1,300,10)M(1,40,3)

VOL>REF(HHV(VOL,N),1)*M

成交量較前N周期的最大成交量增大M倍

12、上漲: C/REF(C,1)>1.07;今日漲幅達到了7%以上。

注意:漲幅是指當天收盤價與昨天的收盤價之比。

13、下跌: 同上面的表達方式一樣,将方向改變了而已。

14、十日均價繼續上漲:

AA:=MA(C,10);

BB:=REF(AA,1);

AA>BB;

15、窄幅整理:就是指近一段時期價格維持在一定幅度之内

(HHV(C,20)-LLV(C,20))/C<0.08 ;即20日内價格振幅在8%以内波動。

16、連續N天收陽:COUNT(C>O,N)=N;

特别提示:新函數:COUNT(X,N),統計滿足條件的周期數。若N=0則從第一個有效值開始。

例:COUNT(C

17、N日内陽線多于陰線:COUNT(C>O,N)>N/2;

18、創曆史新高:C=HHV(C,0);

特别提示:此公式本應為:C=HHV(C,N); 當N等于0時,從第一天開始統計。統計曆史數據時,如果從頭開始,都用0。

19、尾盤拉升

HOUR>14 AND MINUTE>56 AND CLOSE/REF(CLOSE,2) >= 1+N/100

14:56以後2分鐘漲幅超過N%

20、突破長期盤整

N(10,60,30) M(5,50,30)

REF(((HHV(H,N)-LLV(L,N))/LLV(L,N)),1)<=(M/100)AND C>=REF(HHV(H,N),1) AND BARSCOUNT(C)>N

前N日在上下M%的幅度内整理,今日突破。

21、階段強勢股

N(700101,1341231,990519) M(700101,1341231,990913)

A:=SUM(IF(DATE-N=0,INDEXC,0),0);

B:=SUM(IF(DATE-M=0,INDEXC,0),0);

E:=SUM(IF(DATE-N=0,C,0),0);

F:=SUM(IF(DATE-M=0,C,0),0);

((F-E)/E)>((B-A)/A)

選擇N日----M日之間内走勢強于大盤的股票.

22、大盤同步選股

N(1,100,10)M(1,100,50)

COUNT((C>O AND INDEXC>INDEXO) OR (C< O AND INDEXC< INDEXO),N)/N > M/100

N周期中與大盤走勢相同(同收陰線或同收陽線)的比例超過M%

23、今收盤對于N日内最低收盤價的漲幅(%)

(C-LLV(C,N))/LLV(C,N)*100;

24、今收盤對于N日内最高收盤價的跌幅(%)

(HHV(C,N)-C)/HHV(C,N)*100;

25、股價在過去N日内運行空間的相對位置

(C-LLV(L,N))/(HHV(H,N)-LLV(L,N))*100;

26、股價上方N1%至N2%處的籌碼(%)

AA:=WINNER(C+C*N2/100)*100;

BB:=WINNER(C+C*N1/100)*100;

AA-BB

認識新函數:WINNER(CLOSE) 獲利盤比例。表示以當前收市價賣出的獲利盤比例,如返回0.2表示20%獲利盤;例如:WINNER(10) 表示10元價格的獲利盤比例。該函數僅對比較日線分析周期有效。

27、股價下方N1%至N2%處的籌碼(%)

(WINNER(C-C*N1/100)-WINNER(C-C*N2/100))*100;

28、收盤價N%處的套牢盤

100-(WINNER(C*N/100))*100;

29、收盤價N%處的獲利盤

WINNER(C*N/100)*100;

三、基本面選股舉例

1、小盤選股

CAPITAL<=500000 AND FINANCE(33)>=0.01 AND CLOSE<=30

2、低市盈率選股

DYNAINFO(39)<=N AND DYNAINFO(39)>0

3、業績選股

N(0,100,0.4)

FINANCE(33)>N 每股收益在0.4元以上

4、小盤股

N:=5000;

FINANCE(7)<=N

5、大盤股

N:=20000;

FINANCE(7)>=N

6、淨資産收益率選股

FINANCE(37)>(N/100) 淨資産收益率高于N的股票

7、每股淨資産選股

FINANCE(34)>N 選出每股淨資産大于N元的股票.

8、每股未分配利潤選股

FINANCE(32)>N 每股未分配利潤大于N的股票

9、市淨率選股

C/FINANCE(34)< N

市淨率=市價/每股淨資産 市淨率>N

市淨率越低公司股價越有被低估的可能,這類股票從理論上講具有更高的安全性.

10、換手率選股

DYNAINFO(37)>=N/100 單日換手率大于N的股票

換手率的計算公式或表達式:VOL/CAPITAL*100; 因此也可寫作:VOL/CAPITAL*100>=N/100

11、掁幅:(H-L)/REF(C,1)*100; 注意:是比的昨天收盤價。

第五講 線性顔色函數公式實例

轉幾個針對線性和顔色函數方面的公式實例,做個參考吧。

1間隔點:

20,colorred,pointdot,linethick2;

80,colorred,pointdot,linethick2;

50,colorred,pointdot,linethick2;

2間隔線

20,colorred,linethick2;

80,colorred,linethick2;

50,colorred,linethick2;

3信号字

DRAWTEXT(RSI1<10,RSI1,'買'),Colorlime;

DRAWTEXT(RSI1>85,RSI1,'賣'),Colorlime;

4笑哭臉

DRAWICON(VR24<25,VR24,1),ColorFF0000;

DRAWICON(VR24>350,VR24,2),ColorFF0000;

5一線提示

cross('kdj.j'(9,3,3),'kdj.d'(9,3,3)) and 'kdj.j'(9,3,3)<20,colorred

6一柱頂天

IF(VAR4=50,50,0),stick,linethick2;

7小人作怪

多頭卒:Var3,LINETHICK2, COLORf00ff0;

空頭卒:Var4,LINETHICK2, COLORYELLOW;

DRAWICON(Var9,Var9,1);

DRAWICON(Var10,Var10,2);

8小人

買入:Var1 AND Var2,stick,linethick2,colorred;

賣出:CROSS(80,Var4),stick,linethick2,colorgreen;

drawicon(賣出,1.1,2);

drawicon(買入,1.1,1);

9粗細面條

LINETHICK2

第3,4,6和7,還有8隻要把RSI或VR或Var改成所在公式參數就可用;第5cross不能改,其它的可改;9你愛把線設多粗細都行。

1方塊STICKLINE

AA:=VOL/((HIGH-LOW)*2-ABS(CLOSE-OPEN));

買盤:IF(CLOSE>OPEN,AA*(HIGH-LOW),IF(CLOSE

賣盤:IF(CLOSE>OPEN,0-AA*((HIGH-CLOSE)+(OPEN-LOW)),IF(CLOSE

qq:=買盤+賣盤;

STICKLINE(賣盤<0,0,VOL,5,1),COLORlime;

STICKLINE(買盤>0,0,買盤,5,0),COLORRED;

結果:ma(qq,5)*5,COLORRED,LINETHICK2;

VOL後面的5,1是方塊大少。VOL是坐标,也就是方塊所放的地方。

2 3D效果

STICKLINE(OPEN>=CLOSE ,CLOSE ,OPEN,9,0 ),COLORaaaaaa;

STICKLINE(OPEN>=CLOSE ,CLOSE ,OPEN,6,0 ),COLORbbbbbb;

STICKLINE(OPEN>=CLOSE ,CLOSE ,OPEN,2.4,0 ),COLORcccccc;

STICKLINE(OPEN>=CLOSE ,CLOSE ,OPEN,1.1,0 ),COLORdddddd;

STICKLINE(CLOSE>OPEN,CLOSE,OPEN,9,0 ),COLOr6666cc;

STICKLINE(CLOSE>OPEN,CLOSE,OPEN,6 ,0 ),COLOR7777dd;

STICKLINE(CLOSE>OPEN,CLOSE,OPEN,2.4 ,0 ),COLOR8888ee;

STICKLINE(CLOSE>OPEN,CLOSE,OPEN,1.1 ,0 ),COLOR9999ff;

STICKLINE(CLOSE>OPEN,OPEN,LOW,0.5,0 ),COLOR1199ff;

STICKLINE(CLOSE>OPEN,CLOSE,HIGH,0.5 ,0 ),COLOR1199ff;

STICKLINE(OPEN>=CLOSE,CLOSE,LOW,0.5 ,0 ),COLORcccccc;

STICKLINE(OPEN>=CLOSE,OPEN,HIGH,0.5 ,0 ),COLORcccccc;

3顔色

大智慧隻能用淺色調,一用深綠深藍就看不見了。所以我調了幾個淺色的,夠大智慧用的。

COLOR+RED;WHITE;LIME;YELLOW;aabbcc;ffaabb;abcdef;999999;C0C0C0.

4變色

變色可分3種:

1用DRAWTEXT:

ma10:ma(c,10),colorwhite;

llv(h,30),colorffcc66;

llv(l,30),coloryellow;

vhh:hhv(h,30),colorred;

vhl:hhv(l,30),color00ff00;

v1:=ma(HIGH,30)*1.15 ;

v2:=ma(HIGH,3)*1.03;

v3:=ma(LOW,3)*0.97;

v4:=ma(LOW,30)*0.85;

小通道上:=ma(v2,30);

小通道下:=ma(v3,30);

A2:=小通道上-REF(小通道上,1);

A3:=小通道下-REF(小通道下,1);

K:A2>0 and ref(A2<0,1),colorblue;

K1:A3>0 and ref(A3<0,1),colorff00ff;

K2:c<小通道下 and h<小通道下,color0099ff;

K3:c<小通道下 and A3>0,colorffcccc;

K4:h<小通道下 and A3>0,colorffbbff;

DRAWTEXT(A2>0 ,小通道上,'°'),colorred;

DRAWTEXT(A2<0 ,小通道上,'°'),color00ff00;

DRAWTEXT(A3>0 ,小通道下,'°'),colorred;

DRAWTEXT(A3<0 ,小通道下,'°'),color00ff00;

DRAWTEXT(A2=0 ,小通道上,'°'),COLORWHITE;

DRAWTEXT(A2=0 ,小通道下,'°'),COLORWHITE;

DRAWTEXT(A3=0 ,小通道上,'°'),COLORWHITE;

DRAWTEXT(A3=0 ,小通道下,'°'),COLORWHITE;

2用STICKLINE

AA:=WINNER(C)*100;

KA:=winner(O)*100;

高:=winner(H)*100;

低:=winner(L)*100;

莊籌線:EMA(AA*0.7,3),linethick2;

散籌線:EMA((WINNER(C*1.08)-WINNER(C*0.92))*70,3),linethick2;

stickline(AA

stickline(AA

stickline(AA>=KA,高,低,0,0),colorred;

stickline(AA>=KA,AA,KA,6,0),colorred;

stickline(莊籌線>散籌線,莊籌線,散籌線,0,0),colorwhite;

3用IF

主圖公式1:

A1:=Ma(C,5);{5日移動平均線}

A2:=Ma(C,10);{10日移動平均線}

A3:=(A1+A2)/2;{5、10日移動平均線之和除2的平均線,也就是中心線}

IF (A1>A2,A1,A3),Colorred,linethick2;{5日線大于10日且5日線交叉A3線顯示粗紅線}

IF (A1>A2,A2,A3),Colorred,linethick2;{5日線大于10日且10日線交叉A3線顯示粗紅線}

IF (A1<=A2,A1,A3),Color00ff00,linethick2;{5日線小于等于10日且5日線交叉A3線顯示粗綠線}

IF (A1<=A2,A2,A3),Color00ff00,linethick2;{5日線小于等于10日且10日線交叉A3線顯示粗綠線}

A3,colorwhite,linethick2;{中心線顯示粗白線}

這是以中心線為軸通過A1、A2這兩條線與中心線的交叉來變換顔色的。

主圖公式2:

MA1:=MA(CLOSE,5);{5日移動平均線}

MA2:=MA(CLOSE,10);{10日移動平均線}

MA3:=MA(CLOSE,20);{20日移動平均線}

MA4:=MA(CLOSE,30);{30日移動平均線}

MAA:=MA(CLOSE,60);{60日移動平均線}

MA5:IF(MA1

IF(MA1

MA10:if(ma2

if(ma2

MA20:if(ma3

if(ma3

MA30:if(ma4

if(ma4

MA60:if(ma4>maa,maa,maa),linethick2,colorblue;{MA4線大于MAA且MAA線交叉MAA線顯示蘭色粗線}

這是分别以MA4、MAA線為軸通過向上交叉和向下交叉來變換顔色的。

單條變色線

ma10:ma(c,10);

if(ma10>ref(ma10,1),ma10,0),Circledot,COLORRED,LINETHICK2;

if(ma10

第六講 線形函數

一、線形函數

線形函數要和其它指标函數一起用才能發揮效力,因為它們都是描述其它指标函數的。正确用好線形函數可以使主副圖指标顯示豐富多彩,色彩缤紛。

1、函數:STICK 說明:畫棒狀線,STICK的英文是棍、棒的意思。

如副圖公式:C>REF(C,1) AND C>REF(C,2),STICK;

2、函數:COLORSTICK 說明:以零軸為中心畫彩色棒狀線,零軸下為陰線顔色,零軸上為陽線顔色,這樣零軸就如楚漢交界,泾渭分明了。

如副圖公式:C-REF(C,1),COLORSTICK;

3、函數:LINESTICK 說明:同時畫棒狀線與指标線。LINE是線,STICK是棒,LINESTICK自然是線棒一起顯示了。如副圖公式:

A:=C-REF(C,1);

A,LINESTICK;

即想顯示指标線和棒狀線,又想以零軸為中心上下顯示兩種彩色棒狀線,可以用分開的兩句語句來達到目的,如副圖公式:

A:=C-REF(C,1);

A,LINESTICK;

A,COLORSTICK;

4、函數:VOLSTICK 說明:畫成交量柱狀線。這是專門為顯示成交量設計的。如副圖公式:

VOL,VOLSTICK;

5、函數:CROSSDOT 說明:畫叉狀線或x狀線。CROSS是交叉,DOT是點。如副圖公式:

ma1:ma(c,30),CROSSDOT;

6、函數:CIRCLEDOT 說明:畫小圓圈線,如副圖公式:

ma1:ma(c,30),CIRCLEDOT;

7、函數:LINETHICK 說明:改變指标線粗細。取1、2、3、4、5、6、7放在LINETHICK後面如:LINETHICK2,數字越大,線越粗,最大可取7。如副圖公式:

例1:ma1:ma(close,30),COLORFF00FF,linethick2;

例2:A:=C-REF(C,1);

A,COLORSTICK,LINETHICK4;

8、函數:POINTDOT 說明:畫點狀線,POINT是點、加點的意思。這個點狀線看起來有點太小了,可以用加粗線函數。如副圖公式:

ma1:ma(c,30),COLOR00FF00,POINTDOT,LINETHICK2;

我們編個指标,看看都用了哪些線形函數。

{頂底指标}

股價趨勢:3*SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1)-2*SMA(SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1),3,1),COLORFF00FF,LINETHICK2;

底部警戒:10,COLORFFCCCC,POINTDOT;

買入警戒:IF(股價趨勢<=10,40,0),stick,linethick3,coloryellow;

買入信号:IF(CROSS(股價趨勢,底部警戒),80,0),stick,linethick3,colorblue;

強弱分界:50,COLORWHITE,POINTDOT,LINETHICK2;

頂部警戒:90,COLORFFCC66,POINTDOT;

賣出警戒:IF(股價趨勢>=85,40,0),stick,linethick3,colorred;

賣出信号:IF(CROSS(股價趨勢,頂部警戒),80,0),stick,linethick3,color00ff00;

指标解析:

{頂底指标}

股價趨勢:3*移動平均((收盤價-最低值(最低價,27))/(最高值(最高價,27)-最低值(最低價,27))*100,5,1)-2*移動平均(移動平均((收盤價-最低值(最低價,27))/(最高值(最高價,27)-最低值(最低價,27))*100,5,1),3,1),COLORFF00FF,LINETHICK2;

底部警戒:10,COLORFFCCCC,點狀線;

買入警戒:條件函數(股價趨勢<=10,40,0),棒狀線,linethick3,coloryellow;{黃粗棒狀}

買入信号:條件函數(交叉函數(股價趨勢,底部警戒),80,0),棒狀線,linethick3,colorblue;{藍粗棒狀}

強弱分界:50,COLORWHITE,點狀線,LINETHICK2;{粗點狀線}

頂部警戒:90,COLORFFCC66,點狀線;

賣出警戒:條件函數(股價趨勢>=85,40,0),棒狀線,linethick3,colorred;{紅粗棒狀}

賣出信号:條件函數(交叉函數(股價趨勢,頂部警戒),80,0),棒狀線,linethick3,color00ff00;{綠粗棒狀}

二繪圖函數

繪圖函數的功能是在主圖或副圖上設定條件輸出圖标、直線、文字、數字、指标線、指标柱等。運用恰當使編制出的主副圖指标給以視覺上的美感。

1、函數RAWICON

用法RAWICON(COND,PRICE,TYPE),當COND條件滿足時,在PRICE位置畫TYPE号圖标。

說明:在圖形上繪制小圖标,其中TYPE可選3種圖标,編碼為1-3(1為紅臉、2為綠臉、3為平臉)。

示例:DRAWICON(CLOSE>OPEN,LOW,1);表示當收陽時在最低價位置畫1号圖标,也就是紅臉。

DRAWICON(CLOSE

指标示例:

{月均線主圖}

ma1:ma(close,5),colorwhite,linethick2;{畫一條5日收盤價的均線,設置該線為粗白色}

ma2:ma(close,10),colorff00ff,linethick2;{畫一條10日收盤價的均線,設置該線為粗粉色}

ma3:ma(close,20),color00ff00,linethick2;{畫一條20日收盤價的均線,設置該線為粗綠色}

a1:=cross(ma1,ma2);{5日均線上穿10日均線,金叉}

a2:=cross(ma2,ma1);{10日均線下穿5日均線,死叉}

DRAWICON(a1,low,1);{當a1條件滿足時,在最低價位置上顯示紅臉,表示此處可作為買入點}

DRAWICON(a2,high,2);{當a2條件滿足時,在最高價位置上顯示綠臉,表示此處可作為賣出點}

2、函數:DRAWLINE

用法RAWLINE(COND1,PRICE1,COND2,PRICE2,EXPAND),當COND1條件滿足時,在PRICE1位置畫直線起點,當COND2條件滿足時,在PRICE2位置畫直線終點,EXPAND為延長類型。

說明:在圖形上繪制直線段。

示例: DRAWLINE(HIGH>=HHV(HIGH,20),HIGH,LOW<=LLV(LOW,20),LOW,1);表示在創20天新高與創20天新低之間畫直線并且向右延長。

DRAWLINE是唯一一個一句裡面用到兩個COND的繪圖函數。因為它需要兩個點來決定一直線。

COND1相當于指定K線位置(橫坐标),PRICE1相當于是指定價位(縱坐标),這樣一個點在平面上的位置就決定了。

DRAWLINE是從第一點畫到第二點的,即有起點與終點的順序關系:第一點出現的時間,要在第二點之前。否則線是畫不出來的。

EXPAND,擴張、發展,這裡是延伸的意思吧。取0,不延長;取1,延長。實際上是取大于等于1的數就延長,小于1就不延長。

指标示例:

{季均線主圖}

ema1:ema(close,20),colorff00ff;{畫一條20日收盤價的均線,設置該線為粉色}

ema2:ema(close,40),color00ff00;{畫一條40日收盤價的均線,設置該線為綠色}

ema3:ema(close,60),colorwhite,CIRCLEDOT;{畫一條60日收盤價的均線,設置該線為白色o線}

DRAWLINE(HIGH>=HHV(HIGH,20),HIGH,HIGH>=HHV(HIGH,20),HIGH,1),colorwhite;{表示在創20天新高與創20天新低之間畫直線并且向右延長。}

DRAWLINE(HIGH>=HHV(HIGH,20),HIGH,LOW<=LLV(LOW,20),LOW,1),coloryellow;{表示在創20天新高與創20天新低之間畫直線并且向右延長。}

3、函數RAWTEXT 說明:在圖形上顯示文字。

用法RAWTEXT(COND,PRICE,TEXT),當COND條件滿足時,在PRICE位置書寫文字TEXT,可顯示多行文本。

示例RAWTEXT(CLOSE/OPEN>1.08,LOW,'大漲啦');表示當日漲幅大于8%時在最低價位置顯示'大漲啦'字樣。在某些滿足條件的地方直接顯示文字或字符,比顯示圖标要更直觀一些。注意,顯示的文字要用英語狀态下的單引号括起。

指标示例:

{長短結合主圖}

sma1:sma(close,5,1),color00ff00;{畫一條5日收盤價的均線,設置該線為綠色}

sma2:sma(close,10,1),coloryellow;{畫一條10日收盤價的均線,設置該線為黃色}

sma3:sma(close,60,1),colorblue,linethick2;{畫一條60日收盤價的均線,設置該線為藍色粗線}

DRAWTEXT(CLOSE/OPEN>1.08,LOW,'大漲啦'),colorwhite;{表示當日漲幅大于8%時在最低價位置顯示'大漲啦'字樣。}

4、函數:POLYLINE 說明:在圖形上繪制折線段。

用法:POLYLINE(COND,PRICE),當COND條件滿足時,以PRICE位置為頂點畫折線連接。

示例:POLYLINE(HIGH>=HHV(HIGH,20),HIGH);表示在創20天新高點之間畫折線。

指标示例:

{長短結合主圖}

sma1:sma(close,5,1),color00ff00;{畫一條5日收盤價的均線,設置該線為綠色}

sma2:sma(close,10,1),coloryellow;{畫一條10日收盤價的均線,設置該線為黃色}

sma3:sma(close,60,1),colorblue,linethick2;{畫一條60日收盤價的均線,設置該線為藍色粗線}

POLYLINE(HIGH>=HHV(HIGH,20),HIGH),COLORWHITE;{表示在創20天新高點之間畫折線(白色)。}

5、函數:STICKLINE 說明:在圖形上繪制柱線。

用法: STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY),當COND條件滿足時,在PRICE1和PRICE2位置之間畫柱狀線,寬度為WIDTH可為0---100(10為标準間距),EMPTH不為0則畫空心柱。

示例:STICKLINE(CLOSE>OPEN,CLOSE,OPEN,4,1);表示畫K線中陽線的空心柱體部分。

運用要點:

⑴PRICE1和PRICE2沒有順序關系,即何者在前何者在後都不影響語句的執行。

⑵WIDTH寬度,支持小數。用1和用0.1,會有很大的差别。取4時和主圖的K線寬度差不多。

以下的副圖公式,畫出的K線,與主圖中顯示的K線差不多。

指标示例:

{副圖K線}

STICKLINE(C>O OR (C=O AND C>REF(C,1)),O,C,4,1),colorred;{畫出紅K實體}

STICKLINE((C>O AND C<>H) OR (C=O AND C>REF(C,1)),C,H,0.1,0),colorred;{畫出紅K上影線}

STICKLINE((C>O AND L<>O) OR (C=O AND C>REF(C,1)),L,O,0.1,0),colorred;{畫出紅K下影線}

STICKLINE(C

STICKLINE(C

ma5:MA(C,5),colorwhite;

ma10:ma(c,10),colorff00ff;

繪圖函數結合示例介紹完了,相信你一定有所收獲吧,舉一反三自己動手編個指标。不要怕失敗,失敗是成功之母。

三背景裝飾

飛狐、分析家股軟能将背景顔色通過漸變顔色函數裝扮的很漂亮,那麼大智慧股軟能做到嗎?能,但做出的背景色雖不如飛狐、分析家平滑漂亮,也能起到裝扮的作用,效果也可以。

在大智慧設計背景色的原理主要是通過主、副圖的坐标用畫柱線函數STICKLINE或者設定坐标用顔色代碼就可以完成。下面用實例來說明背景色的設計過程。

一、單色背景色,這是最簡單實用的一種裝飾方法。我們先來設計一個主圖指标:

要領:1、設定坐标:STICKLINE(CLOSE>0,h*9.0,l*0.01,8,0),color7d7f0f;意思是CLOSE>0條件滿足時,在坐标h*9.0至坐标l*0.01處畫寬度為8的實體柱線(也就是在整個主圖上添色)。

也可以這樣設定STICKLINE(110,0,110,8,0),color7d7f0f;顯示的是同樣效果。

2、添色的源碼必須在指标的頭條位置上,否則會覆蓋均線、K線、文字等圖形。

3、必須另外編制K線,因為背景色會覆蓋系統中的K線圖。

4、可以把背景色分為五檔、十擋或更多,同時注意與你的指标的最大值、最小值(也就是坐标)相匹配,否則會在指标中出現背景色殘缺不全的情況。

5、用你喜歡的顔色需要結合調色器可随意自定義自己喜歡的顔色。不過可得有耐心啊!

指标示例一:

{多空密碼主圖}

STICKLINE(CLOSE>0,h*9.0,l*0.01,8,0),color7d7f0f;{設置背景,可以将這句源碼複制粘貼到任意主圖指标的頭條位置上}

Var1:=(3*CLOSE+LOW+OPEN+HIGH)/6;

Var3:=(20*Var1+19*REF(Var1,1)+18*REF(Var1,2)+17*REF(Var1,3)+16*REF(Var1,4)+15*REF

(Var1,5)+14*REF(Var1,6)+13*REF(Var1,7)+12*REF(Var1,8)+11*REF(Var1,9)+10*REF

(Var1,10)+9*REF(Var1,11)+8*REF(Var1,12)+7*REF(Var1,13)+6*REF(Var1,14)+5*REF

(Var1,15)+4*REF(Var1,16)+3*REF(Var1,17)+2*REF(Var1,18)+REF(Var1,20))/221;

Var4:=MA(Var3,78),LINETHICK2;

Var5:=EMA(MA(CLOSE,3),34);

Var6:=MA(Var3,5);

Var7:=MA(Var3,9);

M60:MA(C,60),COLOREEFFFF,CIRCLEDOT;

STICKLINE(Var3>1.005*Var4,Var3,Var4,4,1),COLORYELLOW;

STICKLINE(IF(Var3

STICKLINE(Var3>Var6,Var3,Var7,4,1),COLORff88ff;

STICKLINE(IF(Var3

STICKLINE(Var3>Var6,Var3,Var7,4,1),COLOR0000ff;

{下面是柱形K線,如果喜歡這樣的K線,你可以複制粘貼到任意主圖指标裡面}

STICKLINE(C>=O,C,O,7,0),COLORRED;

STICKLINE(C>=O,C,O,4,0),COLOR7070ff;

STICKLINE(C>=O,C,O,2,0),COLORYELLOW;

STICKLINE(C>=O,H,L,0,0),COLORYELLOW;

STICKLINE(C<=O,C,O,7,0),COLORFF2020;

STICKLINE(C<=O,C,O,4,0),COLORFF6600;

STICKLINE(C<=O,C,O,2,0),colorffcc66;

STICKLINE(C<=O,H,L,0,0),colorffcc66;

M9:MA(C,9),COLORYELLOW;

生命線: MA(CLOSE,13),COLORYELLOW,LINETHICK2;

牛熊線: (EMA(CLOSE,5)*7+EMA(CLOSE,5)*3)/10,COLORFF00CC,LINETHICK2;

箱頂:MA(REF(HHV(CLOSE,30),1),2);

箱底:MA(REF(LLV(CLOSE,30),1),2);

AA:(MA(C,13)+MA(C,21)+MA(C,34)+MA(C,55))/4,COLORFF00FF;

半年線:ma(close,125),colorffcc66;

指标示例二:

{财出水面副圖}

VAR2:=(CLOSE-LLV(LOW,20))/(HHV(HIGH,20)-LLV(LOW,20))*100;

VAR3:=SMA(SMA(VAR2,3,1),3,1)/28.57;

VAR4:=EMA(VAR3,5);

操盤:=3*VAR3-2*VAR4;

A1:=CROSS(操盤,VAR3) AND VAR3<2.1 and c>o;

40,colorred,pointdot;

STICKLINE(c>0,40,22,8,0),colorff8080;{設置背景,CLOSE>0條件滿足時,在坐标40至坐标22處設置寬度為8的蘭色背景}

STICKLINE(c>0,22,4,8,0),color916f87;{設置背景,CLOSE>0條件滿足時,在坐标22至坐标4處設置寬度為8的深紫色背景}

stickline(a1,18,15,28,0),colorred;

stickline(a1,18,18,18,0),colorblue;

stickline(a1,8,8,9,0),colorffff00;

stickline(a1,6,6,4,0),colorffff00;

stickline(a1,10,10,12,0),colorffff00;

stickline(a1,12,12,20,0),colorffff00;

stickline(a1,14,14,24,0),colorffff00;

stickline(a1,16,34,0.1,0),colorc0c0c0;

stickline(a1,33,18,9,0),colorwhite;

drawtext(a1,36,'财出水面'),COLORWHITE;

VarE:=30+(REF(CLOSE,1)-REF(OPEN,1))/REF(OPEN,1)*100/1.5;

VarF:=30+(REF(CLOSE,2)-REF(OPEN,2))/REF(OPEN,2)*100/1.5;

Var10:=CROSS('KDJ.K'(9,3,3),'KDJ.J'(9,3,3)) AND 'KDJ.D'(9,3,3)>13;

Var11:=CROSS(REF('KDJ.K'(9,3,3),1),REF('KDJ.J'(9,3,3),1)) AND REF('KDJ.D'(9,3,3),1)>13;

Var12:=CROSS(REF('KDJ.K'(9,3,3),2),REF('KDJ.J'(9,3,3),2)) AND REF('KDJ.D'(9,3,3),2)>12;

Var13:=Var10 OR Var11 OR Var12;

Var14:=REF('BIAS.BIAS2'(6,12,24),1)>2;

Var15:=REF('RSI.RSI1'(6,12,24),1)>(VarE+VarF)/1.8 AND REF('ROC.ROC'(12,6),1)-'ROC.ROC'(12,6)>0 AND Var13 AND Var14;

賣出:=Var15*100/15,color00ff00;

stickline(賣出,18,15,28,0),coloryellow;

stickline(賣出,18,18,18,0),colorblue;

stickline(賣出,8,8,9,0),colorffff00;

stickline(賣出,6,6,4,0),colorffff00;

stickline(賣出,10,10,12,0),colorffff00;

stickline(賣出,12,12,20,0),colorffff00;

stickline(賣出,14,14,24,0),colorffff00;

stickline(賣出,16,28,0.1,0),colorc0c0c0;

stickline(賣出,28,18,9,0),color00ff00;

drawtext(賣出,31,'落袋為安'),COLOR00FF00;

指标示例三:

{金叉死叉}

STICKLINE(100,0,100,8,0),colorff0098;{設置背景,100條件滿足時,在坐标100至坐标0處設置寬度為8的紫蘭色背景}

Var1:=EMA(HHV(HIGH,500),21);

Var2:=EMA(HHV(HIGH,250),21);

Var3:=EMA(HHV(HIGH,90),21);

Var4:=EMA(LLV(LOW,500),21);

Var5:=EMA(LLV(LOW,250),21);

Var6:=EMA(LLV(LOW,90),21);

Var7:=EMA((Var4*0.96+Var5*0.96+Var6*0.96+Var1*0.558+Var2*0.558+Var3*0.558)/6,21); Var8:=EMA((Var4*1.25+Var5*1.23+Var6*1.2+Var1*0.55+Var2*0.55+Var3*0.65)/6,21);

Var9:=EMA((Var4*1.3+Var5*1.3+Var6*1.3+Var1*0.68+Var2*0.68+Var3*0.68)/6,21);

VarA:=EMA((Var7*3+Var8*2+Var9)/6*1.738,21);

VarB:=REF(LOW,1);

VarC:=SMA(ABS(LOW-VarB),3,1)/SMA(MAX(LOW-VarB,0),3,1)*100;

VarD:=EMA(IF(CLOSE*1.35<=VarA,VarC*10,VarC/10),3);

VarE:=LLV(LOW,30);

VarF:=HHV(VarD,30);

Var10:=IF(MA(CLOSE,58),1,0);

Var11:=EMA(IF(LOW<=VarE,(VarD+VarF*2)/2,0),3)/618*Var10;

Var12:=IF(Var11>40,10,Var11);

STICKLINE(Var12>8,0,Var12,4,1), , COLORFF00FF;

Var13:=HHV(HIGH,30);

Var14:=LLV(LOW,30);

能量K:EMA((CLOSE-Var14)/(Var13-Var14)*97,5),COLORRED,linethick2;

能量D:EMA((CLOSE-Var14)/(Var13-Var14)*100,15),linethick2,colorff9933;

底部峰:5,pointdot,linethick2,COLORFF00FF;

DRAWTEXT(CROSS(底部峰,能量K),能量d,'●'),COLORWHITE;

DRAWTEXT(CROSS(底部峰,能量K),能量K+15,'底部形成'),COLORWHITE;

大智慧:100,,pointdot,linethick2,color00ccff;

強弱分界:50,pointdot,COLORWHITE;

DRAWTEXT(CROSS(90,能量K),80,'●'),COLOR00FF00;

DRAWTEXT(CROSS(90,能量K),90,'有風險'),COLOR00FF00;

DRAWTEXT(CROSS(90,能量K),能量K+13,'●'),COLOR00FF00;

DRAWTEXT(CROSS(能量D,能量K),98,'死叉'),COLORFFCC66;

DRAWTEXT(CROSS(能量D,能量K),90,'●'),COLORFFCC66;

DRAWTEXT(CROSS(能量K,能量D),8,'金叉'),COLORYELLOW;

DRAWTEXT(CROSS(能量K,能量D),15,'●'),COLORYELLOW;

0,pointdot,linethick2,COLORFF00FF;

漸變色源碼供參考:

STICKLINE(0 ,0,-1,15,0) ,COLORFF0098;

STICKLINE(10 ,10,0,15,0) ,COLORFF009A;

STICKLINE(20 ,20,10,15,0),COLORFF009C;

STICKLINE(30 ,30,20,15,0),COLORFF009E;

STICKLINE(40 ,40,30,15,0),COLORFF00A0;

STICKLINE(50 ,50,40,15,0),COLORFF00A2;

STICKLINE(60 ,60,50,15,0),COLORFF00A4;

STICKLINE(70 ,70,60,15,0),COLORFF00A6;

STICKLINE(80 ,80,70,15,0),COLORFF00A8;

STICKLINE(90 ,90,80,15,0),COLORFF00AA;

STICKLINE(100 ,100,90,15,0),COLORFF00AC;

STICKLINE(110 ,110,100,15,0),COLORFF00AF;

單色源碼供參考:

STICKLINE(CLOSE>0,h*9.0,l*0.01,8,0),color7d7f0f;

K線

STICKLINE(C>=O,C,O,7,0),COLORRED;

STICKLINE(C>=O,C,O,4,0),COLOR7070ff;

STICKLINE(C>=O,C,O,2,0),COLORYELLOW;

STICKLINE(C>=O,H,L,0,0),COLORYELLOW;

STICKLINE(C<=O,C,O,7,0),COLORFF2020;

STICKLINE(C<=O,C,O,4,0),COLORFF6600;

STICKLINE(C<=O,C,O,2,0),colorffcc66;

STICKLINE(C<=O,H,L,0,0),colorffcc66;

副圖背景色源碼供參考:

STICKLINE(100,0,100,8,0),color7d7f0f;{注意指标的坐标,按不同的坐标做相應的調整,本例是100的坐标

第七講:均線(選股)的基本形态

提示:K線的初步平均。(O+H+L+C*2)/5; 或  (H+L+C*2)/4;

一般認為:收盤價是最有說服力的和最有價值的,它是每天激烈争奪的最後妥協。但也有人認為:收盤價固然重要,其他價格也是争奪的産物。所以将全天的幾種價格因素都考慮進去更能反映每天的真實情況。

1、最簡單的指标線

(1)均價線 就是 移動平均線MA,“MA”表示的就是計算平均值。

MA1=MA(CLOSE,5);5日平均線=(今天收盤價+昨天收盤價+.....--5天前的收盤價)/5;

MA2=MA(CLOSE,10);10日平均線=(今天收盤價+昨天收盤價+......+10天前的收盤價)/10;

(2)均量線 均價線會了,照着葫蘆畫瓢,把收盤價CLOSE換成成交量VOL就行了!

例:MA1:MA(VOL,5);

MA2:MA(VOL,10);

2、再次平均 指将已有的均線(多條均線)相加後進行再平均。

MA1=MA(CLOSE,5);

MA2=MA(CLOSE,10);

(MA1+MA2)/2;

3、N日均線向上 (本題反映均線波浪式延伸過程中某階段的形态。)

AA:=MA(C,N);

BB:=REF(AA,1);

AA>BB

均線向下呢? AA< BB 就可以了。

N日均線走平怎麼表述?AA=BB

4、均線由下跌狀态剛剛轉為上升

AA:=MA(C,N);

COUNT(AA

AND AA>REF(AA,5);

5、年線拐頭向上

A250:=MA(C,250);

REF(A250,1)REF(A250,1);

6、兩條均線交叉

股軟中專門設定了一條函數來描述兩條線交叉:CROSS(X,Y) ,此函數通用。

假如兩條均線一條名叫X,另外一條叫Y  且(X<Y)

CROSS(X,Y)表示X向上穿過了Y  通稱:金叉

CROSS(Y,X)表示Y向上穿過了X  通稱:死叉

特别提示:交叉有兩種,一種是向上交叉,另一種是向下交叉。如果要求向上交叉時,X線必須比前一天高,所以需要加上 X>REF(X,1) 。完整的表達式為:CROSS(X,Y)AND  X>REF(X,1)

加餐:

上述交叉是不限制周期的,有時我們會感到交叉特别頻繁,如何取得他們較長時間交叉一次的數據呢,系統提供了另一個函數: LONGCROSS(X,Y,N) 兩條線維持N周期後交叉。如果N等于15,則X Y兩條線超過15天後交叉有效,否則不輸出。

7、多次金叉(以常見的MACD指标為例)

(1)二次金叉

(COUNT(CROSS(DIF,DEA),20)=2 AND CROSS(DIF,DEA);

(2)二次死叉

COUNT(CROSS(DEA,DIF),20)=2 AND CROSS(DEA,DIF);

(3)0軸上二次金叉

COUNT(CROSS(DIF,DEA) AND DEA>0,20)=2 AND CROSS(DIF,DEA) AND

DEA>0;

(4)0軸上三次金叉

COUNT(CROSS(DIF,DEA) AND DEA>0,20)=3 AND CROSS(DIF,DEA) AND

DEA>0;

8、三線金叉

A5:=MA(C,5);

A10:=MA(C,10);

A30:=MA(C,30);

AA:=CROSS(A5,A10);

BB:=CROSS(A5,A30);

CC:=CROSS(A10,A30);

COUNT(AA,3)=1 AND COUNT(BB,3)=1 AND COUNT(CC,3)=1;

9、三線同時金叉

A5:=MA(C,5);

A10:=MA(C,10);

A20:=MA(C,20);

AA:=CROSS(C,A5);

BB:=CROSS(C,A10);

CC:=CROSS(C,A20);

AA AND BB AND CC;

10、均線多頭排列

A1:=MA(C,N1);

A2:=MA(C,N2);

A3:=MA(C,N3);

A4:=MA(C,N4);

A1>A2 AND A2>A3 AND A3>A4;

11、均線空頭排列3天以上

A1:=MA(C,N1);

A2:=MA(C,N2);

A3:=MA(C,N3);

A4:=MA(C,N4);

COUNT(A1< A2 AND A2< A3 AND A3< A4,3)>=3;

12、向前N日至M日出現過均線死叉(P1< P2)

AA:=MA(C,P1);

BB:=MA(C,P2);

CC:=REF(CROSS(BB,AA),N);

COUNT(CC,M);

13、均線粘合

MA1:=MA(C,5);

MA2:=MA(C10);

MA3:=MA(C,20);

P1:=ABS(MA1-MA2)+ABS(MA2-MA3);

P1/C<1/100 AND MA1>REF(MA1,1) AND MA2>REF(MA2,1);

14、均線粘合(另種表達式)

MA1:=MA(C,5);

MA2:=MA(C,10);

MA3:=MA(C,30);

A:=MAX(MAX(MA1,MA2),MA3);

B:=MIN(MIN(MA1,MA2),MA3);

COUNT(ABS(A-B)/B<0.01,3)=3;表示已粘合3天(含3天)以上

15、多條均線粘合  如5、10、20、30、120、250日移動平均線粘合

aa:=(ma(c,5)+ma(c,10)+ma(c,20)+ma(c,30)+ma(c,120)+ma(c,250))/6;

up:=aa*n/100+aa;

down:=aa-aa*n/100;

count(BETWEEN(ma(c,5),up,down) and BETWEEN(ma(c,10),up,down) and BETWEEN(ma(c,20),up,down) and BETWEEN(ma(c,30),up,down)and BETWEEN(ma(c,120),up,down) and BETWEEN(ma(c,250),up,down),m)=m;

n(2,1,500) m(10,1,100)調整參數n為粘合程度,n值越小粘合的程度越高,即均線距離越近;m為粘合周期。

16、乖離均線

BIAS1:(CLOSE-MA(CLOSE,N))/MA(CLOSE,N)*100;

當日股價與N日均線的乖離率=(當日股價-N日均價)/N日均價*100;

特别提示:乖離均線是由乖離率的“點”連成的均線。 此線雖非普通均線,因常用,故單提出來。

原理:以當日的均線價格為準,股價和均價之間的差距稱為乖離程度,以乖離程度除以均價的百分比就是乖離率。

第八講 從源碼中提取選股公式

要點:從後往前找,删除沒用條,去掉修飾符,個别加等号。

例一:找出買點

VAR1:=(((HHV(HIGH,36) - CLOSE) / (HHV(HIGH,36) - LLV(LOW,36))) * 100);

VAR2:=SMA(VAR1,5,1);

VAR3:=SMA(VAR2,8,1);

H1:EMA(CLOSE,8),LINETHICK1;

H2:EMA(H1,20),LINETHICK1;

VAR4:=(CROSS(VAR2,VAR3) AND (VAR3 < 20));

VAR5:=((CLOSE > (LLV(CLOSE,60) + (0.3 * LLV(CLOSE,60)))) AND VAR4);

VAR6:=IF((CLOSE > 1000),VAR4,VAR5);

M1:EMA(CLOSE,60);

M2:EMA(CLOSE,89);

M3:EMA(CLOSE,233),LINETHICK1;

M4:EMA(CLOSE,583),LINETHICK1;

STICKLINE((H1 > H2),H1,H2,1,0.8);

STICKLINE((H1 < H2),H1,H2,1,0.8);

DRAWTEXT((CROSS(H1,H2) AND (CLOSE < EMA(CLOSE,60))),(LOW * 0.92),'買');

DRAWTEXT(VAR6,(HIGH * 1.08),'賣');

分解說明:

VAR1:=(((HHV(HIGH,36) - CLOSE) / (HHV(HIGH,36) - LLV(LOW,36))) * 100);

VAR2:=SMA(VAR1,5,1);

VAR3:=SMA(VAR2,8,1);

H1:EMA(CLOSE,8),LINETHICK1;

H2:EMA(H1,20),LINETHICK1;

VAR4:=(CROSS(VAR2,VAR3) AND (VAR3 < 20));

VAR5:=((CLOSE > (LLV(CLOSE,60) + (0.3 * LLV(CLOSE,60)))) AND VAR4);

VAR6:=IF((CLOSE > 1000),VAR4,VAR5);

M1:EMA(CLOSE,60);

M2:EMA(CLOSE,89);

M3:EMA(CLOSE,233),LINETHICK1;

M4:EMA(CLOSE,583),LINETHICK1;

STICKLINE((H1 > H2),H1,H2,1,0.8);

STICKLINE((H1 < H2),H1,H2,1,0.8);

第一步{從後往前找}找到下面這行“買”的輸出語句。然後看這條語句的基本條件。

DRAWTEXT((CROSS(H1,H2) AND (CLOSE < EMA(CLOSE,60))),(LOW * 0.92),'買');

查看結果:輸出文字  交叉 條件,條件   直 接 輸 出 語 句     輸出位置  文字

DRAWTEXT(VAR6,(HIGH * 1.08),'賣');

知道“基本條件”為 H1,H2,那麼與此沒有任何關系的語句從後往前删除。删的辦法有兩種:一是直接删掉;二是先用{}括上,待沒問題時再一次性删除。加藍色的為找到的不輸出語句。

第二步{删除沒用條}後,剩下的有用語句:

H1:EMA(CLOSE,8),LINETHICK1; {加藍的為修飾類函數,原則一律删除。}

H2:EMA(H1,20),LINETHICK1;

DRAWTEXT((CROSS(H1,H2) AND (CLOSE < EMA(CLOSE,60))),(LOW * 0.92),'買');

第三步{去掉修飾符} 分别去掉:指标線粗細、顯示文字、文字位置函數和文字

H1:EMA(CLOSE,8);

H2:EMA(H1,20);

CROSS(H1,H2) AND CLOSE < EMA(CLOSE,60);

第四步{個别加等号} 條件選股隻能輸出一條語句,上面這三行為全部輸出,所以,作為“條件”的前兩行還必須在冒号後面加上等号,表達不輸出。結果:

H1:=EMA(CLOSE,8);

H2:=EMA(H1,20);

CROSS(H1,H2) AND CLOSE < EMA(CLOSE,60);

例二、找出笑臉和買入信号

以本人發過的《跟莊建倉》為例。

A01:=DYNAINFO(7);

A03:=BARSCOUNT(CLOSE);

A04:=(SMA((CLOSE / HHV(HIGH,120)),3,1) * 100);

A05:=IF((A03 > 20),A04,0);

A06:=IF((LOW > A01),0,IF((HIGH < A01),1,(((A01 - LOW) + 0.009) / ((HIGH - LOW) + 0.009))));

A07:=DMA(A06,(VOL / CAPITAL)) * 60;

A09:=IF((((A07 > 0) AND (A07 > REF(A07,1))) AND (A05 <= 88)),A07,0);

Var1:=3*SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1)-2*SMA(SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1),3,1);

Var2:=EMA(Var1,8);

Var3:=3*SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1)-2*SMA(SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1),3,1);

趨勢:=EMA(Var3,3)-10;

FILLRGN(趨勢>80,趨勢,80);

DRAWICON(CROSS(趨勢,0),0,1);

FILLRGN((A09 > 0 AND (趨勢<20 OR 趨勢>REF(趨勢,1)AND 趨勢<50)),0,A09),colorFFFF00;

機構建倉區:0,LINETHICK0,colorFFFF00;

Var4:=(趨勢-REF(趨勢,1))/REF(趨勢,1)*100;

STICKLINE(趨勢<=13,0,20,5,0),colorcc9900;

DRAWTEXT(FILTER(趨勢<=13,15),30,'準備現金'),colorcc9900;

STICKLINE(趨勢<=13 AND Var4>13,0,50,5,0),color0099ff;

Var5:=FILTER((趨勢<=13 AND Var4>13),10);

DRAWTEXT(Var5,60,'買入'),color0099ff;

STICKLINE(趨勢>=90 AND Var4,0,30,5,0),colorgray;

Var6:=FILTER(趨勢>=90,10);

DRAWTEXT(Var6,40,'清倉'),colorgray;

Var7:=LLV(LOW,30);

Var8:=HHV(HIGH,30);

Var9:=EMA((CLOSE-Var7)/(Var8-Var7)*4,4)*25;

STICKLINE(Var9>90,100,105,10,2),COLORRED;

STICKLINE(CROSS(Var4,-40),10,55,6,0),COLORRED;

Var10:=(Var9-LLV(Var9,4))/(HHV(Var9,4)-LLV(Var9,4))*100;

DRAWTEXT(IF(CROSS(Var9,Var10) AND Var9>87,95,0),88,'險'),Color00FF00,ALIGN1;

DRAWICON(CROSS(90,Var9),95,9);

Var11:=SMA(ABS(L-REF(L,1)),3,1)/SMA(MAX(L-REF(L,1),0),3,1)*100;

Var12:=HHV(Var11,30)*8;

火焰山:EMA(IF(LOW<=Var7 AND 趨勢<40,(Var11+Var12),0),3)/618,COLORRED,linethick2;

STICKLINE(火焰山>0,0 ,火焰山*1.2,8,0 ),COLORRED;

Var13:=(MA(C,1)+MA(C,3)+MA(C,5)+MA(C,7)+MA(C,9))/5;

Var14:=(MA(C,2)+MA(C,4)+MA(C,6)+MA(C,8)+MA(C,10))/5;

趨勢線: 趨勢,colorff0000;

Var16:=MAX(EMA(Var13,2)-EMA(Var14,5),0)*200;

Var17:=EMA(Var16,5);

波浪峰:Var17,stick,colorff00ff;

STICKLINE(Var17

Var18:=MA(趨勢線,8);

if(CROSS(Var2,Var18) AND Var2<15,50,0),COLORRED;

DRAWTEXT(CROSS(趨勢線,Var2)AND 趨勢線>REF(趨勢線,1)AND 趨勢線<50,50,'追漲'),COLORFF0000;

分析:這個公式輸出語句非常多,但多數都是用于趨勢判斷的。所以不用管它。仍按我們既定的思路進行。

第一步{從後往前找},先删除發出信号關鍵語句之後的(紅色為輸出語句,它以下的語句已經删去,藍色為等待下步删除的)

A01:=DYNAINFO(7);

A03:=BARSCOUNT(CLOSE);

A04:=(SMA((CLOSE / HHV(HIGH,120)),3,1) * 100);

A05:=IF((A03 > 20),A04,0);

A06:=IF((LOW > A01),0,IF((HIGH < A01),1,(((A01 - LOW) + 0.009) / ((HIGH - LOW) + 0.009))));

A07:=DMA(A06,(VOL / CAPITAL)) * 60;

A09:=IF((((A07 > 0) AND (A07 > REF(A07,1))) AND (A05 <= 88)),A07,0);

Var1:=3*SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1)-2*SMA(SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1),3,1);

Var2:=EMA(Var1,8);

Var3:=3*SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1)-2*SMA(SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1),3,1);

趨勢:=EMA(Var3,3)-10;

FILLRGN(趨勢>80,趨勢,80);

DRAWICON(CROSS(趨勢,0),0,1);

FILLRGN((A09 > 0 AND (趨勢<20 OR 趨勢>REF(趨勢,1)AND 趨勢<50)),0,A09),colorFFFF00;

機構建倉區:0,LINETHICK0,colorFFFF00;

Var4:=(趨勢-REF(趨勢,1))/REF(趨勢,1)*100;

STICKLINE(趨勢<=13,0,20,5,0),colorcc9900;

DRAWTEXT(FILTER(趨勢<=13,15),30,'準備現金'),colorcc9900;

STICKLINE(趨勢<=13 AND Var4>13,0,50,5,0),color0099ff;

Var5:=FILTER((趨勢<=13 AND Var4>13),10);

DRAWTEXT(Var5,60,'買入'),color0099ff;

第二步{删除沒用條}後

Var3:=3*SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1)-2*SMA(SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1),3,1);

趨勢:=EMA(Var3,3)-10;

DRAWICON(CROSS(趨勢,0),0,1);

Var4:=(趨勢-REF(趨勢,1))/REF(趨勢,1)*100;

Var5:=FILTER((趨勢<=13 AND Var4>13),10);

DRAWTEXT(Var5,60,'買入'),color0099ff;

第三步{去掉修飾符後}:

趨勢:=EMA(Var3,3)-10;

CROSS(趨勢,0);

Var4:=(趨勢-REF(趨勢,1))/REF(趨勢,1)*100;

Var5:=FILTER((趨勢<=13 AND Var4>13),10);

Var5;

第四步{個别加等号}本公式中的“條件”語句都是不輸出的,所以此項省略,但因是要笑臉和買入兩個信号,所以還必須把它們連結起來:

Var3:=3*SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1)-2*SMA(SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1),3,1);

趨勢:=EMA(Var3,3)-10;

Var4:=(趨勢-REF(趨勢,1))/REF(趨勢,1)*100;

Var5:=FILTER((趨勢<=13 AND Var4>13),10);

CROSS(趨勢,0)or Var5;

第九講 函數的綜合運用

第一部分:引用已有公式中的數據

基本引用例一

'macd.  diff',   'macd.dea';

基本格式: 指标名稱 語句名稱  (注意:必須用雙引号引上)

加入參數例二

'kdj.   k'     (9,3,3)     ;

基本格式:指标名稱 語句名稱   參數 (指标名稱和語句名稱之間用隔點.隔開)

加入參數例三

周m:'macd.   diff   #WEEK';

引用周線:指标名稱 語句名稱 周函數 (注意:周函數前加#字号)

月K:'kdj.k#MONTH';

引用月線同上,隻是換成月函數。

-

應用實例:主圖 頂底背離

A1:=BARSLAST(ref(cross('macd.diff'(12,26,9),'macd.dea'(12,26,9)),1));

B1:=ref(c,A1+1)>c and ref('macd.diff'(12,26,9),A1+1)<'macd.diff'(12,26,9) and cross('macd.diff'(12,26,9),'macd.dea'(12,26,9));

MACD底背離:STICKLINE(FILTER(B1>0,5),0,0.75,3,0),COLOR00FF00;

DRAWTEXT(FILTER(B1>0,5),0.57,'MACD底背離'),COLOR00FF00;

A2:=BARSLAST(ref(cross('kdj.k'(9,3,3),'kdj.d'(9,3,3)),1));

B2:=ref(c,A2+1)>c and ref('kdj.k'(9,3,3),A2+1)<'kdj.k'(9,3,3) and cross('kdj.k'(9,3,3),'kdj.d'(9,3,3));

KDJ底背離:STICKLINE(FILTER(B2>0,5),0,1,3,0),COLORYELLOW;

DRAWTEXT(FILTER(B2>0,5),0.80,'KDJ底背離'),COLORYELLOW;

A3:=BARSLAST(ref(cross('RSI.RSI1'(6,12,24),'RSI.RSI2'(6,12,24)),1));

B3:=ref(c,A3+1)>c and ref('RSI.RSI1'(6,12,24),A3+1)<'RSI.RSI1'(6,12,24) and cross('RSI.RSI1'(6,12,24),'RSI.RSI2'(6,12,24));

RSI底背離:STICKLINE(FILTER(B3>0,5),0,0.5,3,0),COLORFFCC66;

DRAWTEXT(FILTER(B3>0,5),0.25,'RSI底背離'),COLORFFCC66;

DRAWTEXT(FILTER(D1>0,5),1.47,'MACD頂背離'),COLOR0066FF;

C2:=BARSLAST(ref(cross('kdj.d'(9,3,3),'kdj.k'(9,3,3)),1));

D2:=ref(c,C2+1)'kdj.k'(9,3,3) and cross('kdj.d'(9,3,3),'kdj.k'(9,3,3));

KDJ頂背離:STICKLINE(FILTER(D2>0,5),2,1,3,0),COLORRED;

DRAWTEXT(FILTER(D2>0,5),1.2,'KDJ頂背離'),COLORRED;

C3:=BARSLAST(ref(cross('RSI.RSI2'(6,12,24),'RSI.RSI1'(6,12,24)),1));

D3:=ref(c,C3+1)'RSI.RSI1'(6,12,24) and cross('RSI.RSI2'(6,12,24),'RSI.RSI1'(6,12,24));

RSI頂背離:STICKLINE(FILTER(D3>0,5),2,1.5,3,0),COLORFF00FF;

DRAWTEXT(FILTER(D3>0,5),1.75,'RSI頂背離'),COLORFF00FF;

第二部分 逐步增加函數

以均線為例,主圖:

基本句型

MA5:MA(C,5);

MA10:MA(C,10);

MA30:MA(C,30);

MA60:MA(C,60);

增加顔色(注:在沒有顔色輸出符号時,系統會自動加上顔色)

MA5:MA(C,5),COLORBLUE;

MA10:MA(C,10),COLORF00FF0;

MA30:MA(C,30),COLORFFFF00;

MA60:MA(C,60),COLORYELLOW;

将10日均線變成小圓圈線

MA5:MA(C,5),COLORBLUE;

MA10:MA(C,10),COLORF00FF0,CIRCLEDOT;

MA30:MA(C,30),COLORFFFF00;

MA60:MA(C,60),COLORYELLOW;

将60日均線加粗

MA5:MA(C,5),COLORBLUE;

MA10:MA(C,10),COLORF00FF0,CIRCLEDOT;

MA30:MA(C,30),COLORFFFF00;

MA60:MA(C,60),COLORYELLOW,LINETHICK3;

在5日均線金叉10日均線處顯示符号

MA5:MA(C,5),COLORBLUE;

MA10:MA(C,10),COLORF00FF0,CIRCLEDOT;

MA30:MA(C,30),COLORFFFF00;

MA60:MA(C,60),COLORYELLOW,LINETHICK3;

金叉:=CROSS(MA5,MA10);

DRAWICON(金叉,L,1);

DRAWTEXT(金叉,L,'金叉');

STICKLINE(金叉,H,L,6,0); (注:這三種顯示方式用其中一種就行)

30日均線向上時顯示紅色,否則為綠色

MA5:MA(C,5),COLORBLUE;

MA10:MA(C,10),COLORF00FF0,CIRCLEDOT;

MA30:MA(C,30),COLORFFFF00;

MA60:MA(C,60),COLORYELLOW,LINETHICK3;

金叉:=CROSS(MA5,MA10);

DRAWICON(金叉,L,1);

DRAWTEXT(金叉,L,'金叉');

STICKLINE(金叉,H,L,6,0);

PARTLINE(MA30>=REF(MA30,1),MA30),COLORRED;

PARTLINE(MA30

(注:最後兩行為劃分段線,大智慧沒有此項功能,大智慧2和分析家 同花順用下面這行)

PARTLINE(MA30,MA30>=REF(MA30,1),RGB(255,0,0),MA30

通達信用下面這兩行:

IF(MA30>=REF(MA30,1),MA30,DRAWNULL),COLORRED;

IF(MA30

第十講:常用函數示例

系統中的函數非常多,其中的一些函數隻有在特定的語句中才會用得到。本文介紹幾個能經常用到函數,方便大家在以後編寫時使用。

1、COUNT 統計總數

原理:COUNT (X,N),統計N周期中滿足條件X的周期數,若N=0則從第一個有效值開始。

例如:COUNT(C

以前曾列舉過這個函數,今天單獨拿出來,是想進一步說明它的應用原理。以上面這個例子,單獨使用是沒有任何意義的。如語句:金叉 AND COUNT(C

那麼怎麼才能發揮它的作用呢?還必須在它的後面加上我們要求的條件。如:10周期内收陰的周期數大于7,完整的表達式:金叉AND COUNT(C7;  再舉幾個例子:

成交量連續5天上升:COUNT(VOL>(VOL,1),5)=5;

如果求5天内隻能1天上升:COUNT(VOL>(VOL,1),5)=1;

如果在5天内成交量大于5日均量有2天以上呢COUNT(VOL>MA(VOL,5),5)>=2;

2、FILTER 信号過濾

用法:FILTER(X,N),X滿足條件後,将其後N周期内的數據置為0。此函數常應用于畫圖标、顯示文字以及選股公式出現連續信号時。

例如:當3日均線和5日均線金叉時在最低價位置标記“金叉”:

MA3:=MA(CLOSE,3);

MA5:=MA(CLOSE,5);

AA:=CROSS(MA3,MA5);

DRAWTEXT(AA,L,'金叉');

這樣有時就會出現“金叉”字重疊現象,雜亂難看。若過濾一下,舍去5天内重複出現的,則最後一句改為:

DRAWTEXT(FILTER(AA,5),L,'金叉');就不會出現信号過多的現象了。

3、SUM 求和

用法:SUM(X,N),統計N周期中X的總和,N=0則從第一個有效值開始。

例如:SUM(VOL,10),表示統計從10周期以來的成交量總和。這個好理解,就不多說了。

4、HHV 最高值

用法:HHV(X,N),求N周期内X的最高值,N=0則從第一個有效值開始。

例如:HHV(HIGH,30),表示求30日最高價。那麼10天内的最高收盤價呢?HHV(C,10)。

另外還有一個與此相反的函數 最低值 LLV 原理與此相同。

5、MAX 最大值

用法:MAX(A,B)返回A和B中的較大值

例如:MAX(C,0),表示取得收盤價和開盤價中較大的值。若求開盤價、收盤價和昨天收盤價中的最大值,則:MAX(MAX(C,0),REF(C,1));就是疊加一個最大值函數。

另外,還有一個相反函數:MIN,最小值,原理與最大值相同。

注:最大值與最高值是不能混用的。

6、COST 成本分布

用法:COST(20) 表示20%獲利盤的價格是多少

即有20%的持倉量在該價格以下,其餘80%在該價格以上,為套牢盤。

7、WINNER 獲利盤比例 與成本分布相對應,都是計算獲利情況的。

WINNER(10) 表示10元價格的獲利盤比例;

WINNER(CLOSE) 表示以收盤價賣出的獲利盤比例,如該值返回0.2,表示在當天的收盤價上賣出,隻有20%的人是賺錢的。

以上兩個函數僅對日線分析周期比較有效。

以上兩個函數在有些股軟或《未來函數檢測器》中被認定為未來函數。

據有人考證,該函數的在極個别的情況下确實出現過信号漂移現象。但一般情況下還是比較穩定的。

第十一講:系統常用指标原理解析

例一、BIAS乖離率

指标原理:BIAS是運用股價指數與移動平均值的比值關系,觀測股價偏離移動平均線的程度,以此決定投資者的買賣行為。

計算方法 :(當日收盤價-當日MA均線值)/當日MA均線值*100

BIAS1:(CLOSE,MA(CLOSE,L1))/MA(CLOSE,L1)*100;

BIAS2:(CLOSE,MA(CLOSE,L2))/MA(CLOSE,L2)*100;

BIAS3:(CLOSE,MA(CLOSE,L3))/MA(CLOSE,L3)*100;

應用原則:偏離率與移動平均值一緻時,偏率為0,偏離率為正值時,偏離率在移動平均線上方,說明股市呈上升趨勢;偏離率為負值時,偏離率在移動平均線下方,說明股市有下跌趨勢;Y值偏離移動移動平均線的界定範圍大體在15%至-15%,即:當Y值在0-15%時,可适當賣出股票,股價有可能反跌,當Y值在0-15%時,可适當買入股票,股價有可能反彈。

例二、MACD(柱線的編寫實例)

指标原理:MACD實質上是基于BIAS乖離率的變形應用。它是利用二條不同速度(一條變動的速率快--短期的移動平均線,另一條較慢--長期的移動平均線)的指數平滑移動平均線來計算,二者之間的差異狀況(DIF)作為研判行情的基礎,然後再求其DIF之9日平滑移動平均線,即MACD線,MACD實際就是運用快速與慢速移動平均線聚合與分離的征兆,來研判買進與賣出的時機和訊号。

計算方法:EMA:指數平滑移動平均線

N:周期   DIFF:乖離率  DEA:離差平均值

移動平均線(12日EMA)=前一日EMA*/1-2/(N+1)+今日收盤價*2/(N+1)

DIFF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);

DEA:EMA(DIFF,M);

MACD:2*(DIFF-DEA),COLORSTICK;

在最後一句話當中,2是實際一個常數參數,它在這裡的作用在于放大效果。

應用原則:

1、DIF與DEA均為正值時,大勢屬多頭市場;

2、DIF與DEA均為負值時,大勢屬空頭市場;

3、DIF向上突破DEA時,可買入;

4、DIF向下突破DEA時,應賣出;

例三、RSI指标

指标原理:該指标根據估價“擇強汰弱”的原理,以特定時期内股價的變動情況推測價格未來的變動方向,并根據股價漲跌幅度顯示市場的強弱,通過比較一段時期内的平均收益漲數和平均收盤跌數來分析市場買賣盤的意向和實力,從而作出未來市場的走勢的分析。

計算方法:計算公式為:rsi=n日内收盤漲幅平均值/n日内收盤漲跌幅絕對值的平均值的平均值*100。

編寫要點:該指标由兩條指标線組成,編寫出其一,其他的依次類推;漲幅的表達用“今日收盤-前日收盤”,即“LC:=CLOSE-REF(CLOSE,1)”表示;ABS(X)表示求得絕對值;MAX(CLOSE-LC,0),表示如果本周期上漲即得上漲值,否則取0,很多時候我們利用MAX函數使變量和0進行比較,然後求得變量中的正值。

LC:=REF(CLOSE,1);

RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;

RSI2:SMA(MAX(CLOSE-LC,0),N2,1)/SMA(ABS(CLOSE-LC),N2,1)*100;

RSI3:SMA(MAX(CLOSE-LC,0),N3,1)/SMA(ABS(CLOSE-LC),N3,1)*100;

應用原理: RSI取值超過50,表明市場進入強勢。RSI低于50,表明市場處于弱勢。

短期的RSI在20以下的水平,由下往上交叉長期的RSI時,為買進訊号。短期的RSI在80以上的水平,由上往下交叉長期的RSI時,為賣出訊号。

從RSI與股價的背離方面判斷行情,RSI處于高位,并形成一峰比一峰低的兩個峰,而此時,股價卻對應的是一峰比一峰高,這叫頂背離。股價這一漲是最後的衰竭動作。這是比較強烈的賣出信号。RSI在低位形成兩個依次上升的谷底,而股價還在下降,這是最後一跌或者說是接近最後一跌,是可以開始建倉的信号。

連接RSI連續的兩個底部,劃出一條由左向右上方傾斜的切線,當RSI向下跌破這條切線時,是一個很好的賣出訊号。連接RSI連續的兩個峰頂,劃出一條由左向右下方傾斜的切線,當RSI向上突破這條切線時,是一個很好的買進訊号。

例四、KDJ指标

KDJ随機指标是歐美期貨常用的一套技術分析工具。KD線的随機觀念,遠比移動平均線實用很多。因為移動平均線在習慣上其以收盤價來計算,無法表現出一段行情的真正波幅。

編寫要點:RSV的計算方法為收盤價和N1天内的最高和最低的差的比值,使用函數HHV、LLV可以輕松地得到最高和最低;

RSV:=(CLOSE-LLV(LOW《N1))/(HHV(HIGH,N1)-LLV(LOW,N1))*100;

K:SMA(RSV,N2,1);

D:SMA(K,N3,1);

J:3K-2D

買賣原則:K值由右邊向下交叉D值作賣,K值由右邊向上交叉D值作買。

D值<20%超賣,D值>80%超買;J>100%超買,J<100%超賣,KD值于50%左右徘徊或交叉時,無意義。

例五、OBV指标

指标原理:有些人把每一天的成交量看作像海裡的潮汐一樣,形象地稱OBV為能量潮。我們可以利用OBV驗證當前股價走勢的可靠性,并可以由OBV得到趨勢可能反轉的信号,對于準确預測未來是很有用的,比起單獨使用成交量,OBV比成交量看得清楚。

計算方法:OBV構成的基本原理,是根據潮漲潮落的原理。每一天的成交量可以理解成潮水,但這股潮水是向上還是向下,是保持原來的方法,還是中途回落?這個問題就有當天的收盤價與昨天的收盤價的大小比較而決定。

1、如果今收盤價≥昨收盤價,則這一潮水屬于多方的潮水,

2、如果今收盤價<昨收盤價,則這一潮水屬于空方的潮水。

SUM(IF(CLOSE>REF(CLOSE,1),VOL,IF(CLOSE

買賣原則:OBV不能單獨使用,必須用股價曲線結合使用才能發揮作用。從OBV的取值大小不能得到任何結論。我們關心的隻是近日的OBV曲線的相對走勢,而OBV的取值的絕對數字對我們是沒有用處的。OBV曲線的上升和下降對我們進一步确認當前股價的趨勢有着很重要的作用。股價上升(或下降),而OBV也相應地上升(或下降),則我們可以更相信當前的上升(或下降)趨勢。股價上升(或下降),但OBV并未相應的上升(或下降),則我們對目前的上升(或下降)趨勢的認可程度就要打折扣。這就是背離現象。OBV已經提前告訴我們趨勢的後勁不足,有反轉的可能。在股價進入盤整區後,OBV曲線會率先顯露出脫離盤整的信号,向上或向下突破。

例六、BOLL指标

指标原理:利用統計學原理,求出股價的标準差及其信賴區間,其上下限的範圍不被固定,随股價的變動而表動。

計算方法:先規定一個标準差,再求算出一個上下限波動區間,其波動的上下限随股價浮動。

MID=N天的收盤價的均價;

STD=N天的收盤價的标準差;

UPPER=MID+離差系數*STD;

LOWER=MIN-離差系數*STD;

編寫要點:STD(X,N)表示計算标準差。首先得到一段時間N天的MA,然後按照您要設定的參數賦與标準差之後加減即得到上下兩根BOLL線,中間的通道為BOLL通道。

MID:MA(CLOSE,N);

UPPER:MID+P*STD(CLOSE,N);

LOWER:MID-P*STD(CLOSE,N);

買賣原則:

1、當布林通道由寬變窄時,說明股價逐漸向中值回歸,股市進入一個整理區間,投資者應以觀望為主。

2、當通道由窄變寬時,意味着行情開始發生變化,如果股價逼近或穿過上限值,表明超買力量增強,股市可能會短期下跌,此時應賣出股票,反之,當股價逼近或穿過下限值時,表明超賣力量增強,股市可能會短期反彈,此時應買進股票。

3、柱體在布林通道中沿上限線運行,意味漲幅會持續。

例七、威廉指标W&R

指标原理:威廉指标是一種利用振蕩點來反映市場超買超賣現象,預測循環周期内的高點和低點,從而提出有效的信号來分析市場短期行情走勢,判斷股市強弱分界的技術指标。

AA:=(HHV(HIGH,N)-CLOSE);

BB:=(HHV(HIGH,N)-LLV(LOW,N));

W&R:100*AA/BB

買賣原則:當W&R高于80%,即處于超賣狀态,行情即将見底,應當考慮買入。W&R低于20%,即處于超買狀态,行情即将見頂,應當考慮賣出。在W&R進入高位後,一般要回頭,如果這時股價還繼續下跌,這就産生背離,是進貨的信号。在W&R進入低位後,一般要反轉,如果這時股價還繼續上升,這就産生背離,是賣出的信号。W&R連續幾次撞頂(底),局部形成雙重或多重底(頂)則是(進貨)出貨的信号。

你可能想看:

有話要說...

取消
掃碼支持 支付碼