學習編輯指標
2、EMA 指數平滑移動平均 意思是求指數平滑移動平均。 演算法:若Y=EMA(X,N) 則Y=[1/N*X+(1-1/N)*Y『『]其中Y『表示上一周期Y值。 {主圖指標2} EMA5:EMA(CLOSE,5),COLOR00FF00,LINETHICK2; EMA10:EMA(CLOSE,10),COLORWHITE,LINETHICK2; EMA20:EMA(CLOSE,20),COLORFF00FF,LINETHICK2;
3、DMA 動態移動平均 意思是求動態移動平均。 演算法: 若Y=DMA(X,A) 則 Y=A*X+(1-A)*Y『,其中Y『表示上一周期Y值,A必須小於1。 {主圖指標3} DMA5: DMA((CLOSE+OPEN)/2,VOL/(SMA(VOL,5,1)*5)),COLOR00FF00,LINETHICK2;{5日成本} DMA10: DMA((CLOSE+OPEN)/2,VOL/(SMA(VOL,10,1)*10)),COLORWHITE,LINETHICK2;{10日成本} DMA20: DMA((CLOSE+OPEN)/2,VOL/(SMA(VOL,20,1)*20)),COLORFF00FF,LINETHICK2;{20日成本}
4、SMA 移動平均 求移動平均。 演算法: 若Y=SMA(X,N,M) 則 Y=[M*X+(N-M)*Y『)/N, 其中Y『表示上一周期Y值,N必須大於M。 {主圖指標4} SMA5:SMA(close,5,1),COLOR00FF00,LINETHICK2; SMA10:SMA(close,10,1),COLORWHITE,LINETHICK2; SMA20:SMA(close,20,1),COLORFF00FF,LINETHICK2;
5、WMA 求加權移動平均。 演算法:WMA[X,N]=(1*X1+2*X2+3*X3+......+N*Xn)/(1+2+3+......+N); 用法:WMA(X,N);求X的N日加權移動平均. {主圖指標5} wma5:wma(close,5),color00ff00,LINETHICK2; wma10:wma(close,10),colorwhite,LINETHICK2; wma20:wma(close,20),colorff00ff,LINETHICK2;
有比較才有鑒別。上面5張圖依次排列並一一與下面5個均線主圖指標相對應的,通過比較可以看出,由於計算方法的不同,相同周期的均線排列和分布也略有不同。有的線條分布的分散一些,有的分布緊密一些。但差別不大,究其原因在於編製的思路和機理上的差異。運用到實戰中,看你如何選擇了,如果喜歡看成本均線,應該選擇DMA均線,看均價其它4個就行了。總之,結合實際需要靈活運用。由於有的均線系統計算複雜,再深層次的解釋本人也難以做到了。顏色代碼供選擇設置: 各種顏色表示: 紅色colorred、灰色colorgray、綠色color00ff00、黃色coloryellow、藍色colorblue、白色colorwhite. 另外顏色還有: 粉紅colorf00ff0、草綠color00ff00、淡藍colorf0f000、紫色colorff0099、金黃色color008364、紫紅color000999、綜色color0055ff、深黃色color00cccc、紫羅藍colore66878、天藍色colorff937f 深草綠color399c7f 實際上只要在color後面加上0-9、A-F中任6個數字字母組成,如要其它顏色,可自己調。
1、條件表達式:在設計公式中,需要大量使用條件表達式,根據條件表達式的結果,作出判斷,以便確定下一步該做什麼,不該做什麼。基本的條件表達式由「>、>=、<、<>、<=、=、and、or」等比較運算符、邏輯運算符組成,其中"and"表示並、並且,"or"表示或、或者。條件表達式的值只有2個,1和0,條件成立則返回1,條件不成立則返回0,下面舉例說明: 例1:close>open{表示收盤價大於開盤價,如果成立返回1,否則這個條件表達式的值為0}; 例2:close>open and close>ma(close,5){表示收盤價大於開盤價並且close大於5日均價,and 是"且、並且",意思是兩個條件同時滿足才能作出判斷}; 例3:close<ref(close,1) or close<=ref(close,2){今收盤小於昨收盤或今收盤小於等於前2天收盤價,"or"表示或、或者。意思是兩個條件只要有一個條件滿足就能作出判斷}; 說明:上面例子中,包含在半形的一對大括弧"{"、"}"里的內容是注釋語句,不會被運行。一個好公式設計,需要花費很多心血,時間久了有可能自己也會忘記當時是怎麼設計的,此外也為了別人能看懂公式,適當的加入注釋是個好習慣。 2、IF條件函數:設計公式時,條件函數IF很重要,經常都要用到,注釋如下: IF 條件函數,根據條件求不同的值。 用法:IF(X,A,B)若X不為0則返回A,否則返回B 例如:IF(CLOSE>OPEN,HIGH,LOW)表示該周期收陽則返回最高值,否則返回最低值} 3、CROSS 交叉函數,這也是常用的函數。用法:CROSS(A,B) ,A:變數或常量,判斷交叉的第一條線。 B:變數或常量,判斷交叉的第二條線。 例如:CROSS(MA(CLOSE,5),MA(CLOSE,10)),5日均線與10日均線金叉;CROSS(CLOSE,12),價格由下向上突破12元。 明白了條件表達式的意義和IF條件函數、CROSS 交叉函數後,我們來設計二個有點實用價值的公式: 第一個公式: {135戰法} 股道短:=MA(C,13);{13日收盤價的均線,":=" 在圖上不顯示均線} 股道中:=MA(C,34);{34日收盤價的均線,":=" 在圖上不顯示均線} 股道長:=MA(C,55);{55日收盤價的均線,":=" 在圖上不顯示均線} 短交長:=CROSS(股道短,股道長);{股道短向上穿過股道長,金叉} 中交長:=CROSS(股道中,股道長);{股道中向上穿過股道長,金叉} 粗選:短交長 OR 中交長,COLORYELLOW;{短交長或者中交長這兩個條件有一個成立顯示黃色脈衝信號} 空頭排列:=股道短<股道中 AND 股道短<股道長 AND 股道中<股道長;{三個條件同時成立} 走平上行:=股道短>=REF(股道短,1);{大於等於昨日的13日收盤價的均線} 紅杏出牆:O<股道短 AND C>股道短 AND 走平上行 AND 空頭排列,COLORRED;{四個條件同時成立顯示紅色脈衝信號} 多頭排列:=股道短>股道中 AND 股道短>股道長 AND 股道中>股道長;{三個條件同時成立} 滿園春色:O<股道短 AND C>股道短 AND 多頭排列,COLOR00FF00;{三個條件同時成立顯示綠色脈衝信號} 基礎:=股道長>REF(股道長,1) AND 股道短>股道長 AND 股道中>股道長;{三個條件同時成立} 梅開二度:基礎 AND CROSS(股道短,股道中),COLORWHITE;{兩個條件同時成立顯示白色脈衝信號} 三線齊推:O<股道短 AND O<股道中 AND O<股道長 AND C>股道短 AND C>股道中 AND C>股道長,COLORFFCC66;{六個條件同時成立顯示淺藍色脈衝信號}如圖: 第二個公式: {啟動在即} 趨勢: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),coloryellow; 股價啟動在即: IF(CROSS(趨勢,3),100,0),colorff00ff; 捕食秘密買點: IF(趨勢<=3,25,0),color00ff00; 機構建增補倉: IF(趨勢<5,45,0),colorwhite; 如圖: 公式解釋: 趨勢:3*移動平均((收盤價-最低值(最低價,27))/(最高值(最高價,27)-最低值(最低價,27))*100,5,1)-2*移動平均(移動平均((收盤價-最低值(最低價,27))/(最高值(最高價,27)-最低值(最低價,27))*100,5,1),3,1),coloryellow;{畫一條黃色趨勢線,數字27表示周期,也就是27天,數字5和3也表示周期5天和3天} 股價啟動在即: 條件函數(交叉函數(趨勢,3),100,0),colorff00ff;{趨勢上穿坐標3,在0至100坐標處顯示粉色脈衝信號} 捕食秘密買點: 條件函數(趨勢<=3,25,0),color00ff00;{趨勢小於等於坐標3,在0至25坐標處顯示綠色脈衝信號} 機構建增補倉: 條件函數(趨勢<5,45,0),colorwhite;{趨勢小於坐標5,在0至45坐標處顯示白色脈衝信號} 以上2個指標建議你對照指標語句和圖反覆多看幾遍,你也可以動手修改如修改脈衝信號的長度等,更重要的是要理解指標組合、嵌套的含義,只有讀懂了指標,你才能把自己的想法、理念編成指標。 |
|
繪圖函數的功能是在主圖或副圖上設定條件輸出圖標、直線、文字、數字、指標線、指標柱等。運用恰當使編製出的主副圖指標給以視覺上的美感。 1、函數:DRAWICON 用法:DRAWICON(COND,PRICE,TYPE),當COND條件滿足時,在PRICE位置畫TYPE號圖標。 說明:在圖形上繪製小圖標,其中TYPE可選3種圖標,編碼為1-3(1為紅臉、2為綠臉、3為平臉)。 示例:DRAWICON(CLOSE>OPEN,LOW,1);表示當收陽時在最低價位置畫1號圖標,也就是紅臉。 DRAWICON(CLOSE<OPEN,high,2);表示當收陰時在最高價位置畫2號圖標,也就是綠臉。 指標示例: {月均線主圖} 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 用法:DRAWLINE(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、函數:DRAWTEXT 說明:在圖形上顯示文字。 用法:DRAWTEXT(COND,PRICE,TEXT),當COND條件滿足時,在PRICE位置書寫文字TEXT,可顯示多行文本。 示例:DRAWTEXT(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<O OR (C=O AND C<=REF(C,1)),C,O,4,0),colorffcc66;{畫出青K實體} STICKLINE(C<O OR (C=O AND C<=REF(C,1)),L,H,0.1,0),colorffcc66;{畫出青K影線。因為青K是實心的,所以影線從中穿過} ma5:MA(C,5),colorwhite; ma10:ma(c,10),colorff00ff; 如圖:
繪圖函數結合示例介紹完了,相信你一定有所收穫吧,舉一反三自己動手編個指標。不要怕失敗,失敗是成功之母。函數:COUNT(X,N) 參數: X為數組,N為計算周期 說明:統計N周期中滿足X條件的周期數,若N=0則從第一個有效值開始。 示例:COUNT(CLOSE>OPEN,20);表示統計20周期內收陽的周期數。 看下面的指標(自己取名吧),有幾條語句用了COUNT函數: V1:=(MA(CLOSE,80)-MA(CLOSE,13)/3); 神奇線:MA((CLOSE-V1)/V1,1),coloryellow,linethick2; 買點:IF(CROSS(神奇線,0) AND LOW/REF(HIGH,1)<1.012,0.5,0), STICK; 穩賺:IF(COUNT(神奇線>REF(神奇線,1),3)=3 AND COUNT(神奇線<0,10)=10 AND REF(神奇線,3)=LLV(神奇線,10),0.5,0); V2:=(CLOSE-REF(CLOSE,1))/REF(CLOSE,1)*100; V3:=(EMA(CLOSE, 6)-EMA(CLOSE, 12))*100; 獵庄:V3<13 AND V2>9,stick,ColorFFFFFF,linethick2; YD:=(count(c<ref(O,1),13)>=10 OR count(c<ref(c,2),13)>=10) and count(H/L>1.048,13)>=7; DTJJ:=DMA(c,V/MA(V,13)/13); XJPL:=c/DTJJ<0.91; a1:=YD and XJPL; STICKLINE(a1,0,0.50,4,1),colorffcccc; 回調買入:0,colorffcccc; aa1:=cross(ref(c,3),ref(ma(c,20),3)); bb1:=count(c>ma(c,20),3)=3; cc1:=cross(c,ma(c,20)) and (c-ma(c,20))/ma(c,20)>0.03; 突破月線:if((aa1 and bb1) or cc1,0.5,0),stick,linethick2,colorred; drawicon((aa1 and bb1) or cc1,0.6,1);{如圖}
指標解析: V1:=(簡單移動平均(收盤價,80)-簡單移動平均(收盤價,13)/3); 神奇線:簡單移動平均((收盤價-V1)/V1,1),coloryellow,linethick2;{畫黃色粗線} 買點:條件函數(交叉函數(神奇線,0) AND 最低價/向前引用(最高價,1)<1.012,0.5,0), 棒狀線;{在坐標0--0.5處畫棒狀線} 穩賺:條件函數(統計總數(神奇線>向前引用(神奇線,1),3)=3 AND 統計總數(神奇線<0,10)=10 AND 向前引用(神奇線,3)=最低值(神奇線,10),0.5,0);{在坐標0--0.5處顯示脈衝信號} V2:=(收盤價-向前引用(收盤價,1))/向前引用(收盤價,1)*100; V3:=(指數平滑移動平均(收盤價, 6)-指數平滑移動平均(收盤價, 12))*100; 獵庄:V3<13 AND V2>9,棒狀線,ColorFFFFFF,linethick2;{默認在坐標0--1處畫白色棒狀線} YD:=(統計總數(收盤價<向前引用(開盤價,1),13)>=10 OR 統計總數(收盤價<向前引用(收盤價,2),13)>=10) and 統計總數(最高價/最低價>1.048,13)>=7; DTJJ:=動態移動平均(收盤價,成交量/簡單移動平均(成交量,13)/13); XJPL:=收盤價/DTJJ<0.91; a1:=YD and XJPL;{兩個條件同時成立} 畫柱線(a1,0,0.50,4,1),colorffcccc;{在坐標0--0.5處畫寬度為4的青色空心棒狀線} 回調買入:0,colorffcccc;{在指標圖上方顯示『回調買入『} aa1:=交叉函數(向前引用(收盤價,3),向前引用(簡單移動平均(收盤價,20),3)); bb1:=統計總數(收盤價>簡單移動平均(收盤價,20),3)=3; cc1:=交叉函數(收盤價,簡單移動平均(收盤價,20)) and (收盤價-簡單移動平均(收盤價,20))/簡單移動平均(收盤價,20)>0.03; 突破月線:條件函數((aa1 and bb1) or cc1,0.5,0),棒狀線,linethick2,colorred;{在坐標0--0.5處畫紅色粗棒狀線} 畫圖標((aa1 and bb1) or cc1,0.6,1);{在坐標0.6處顯示紅臉} 下面是幾個運用COUNT函數的指標例句: (1)、n日內陰線多於陽線 count(open>close,n)/n<0.5; 註:n為指標參數,可在參數設定範圍內設定參數範圍。同時可以自由編輯裡面的數值(如0.5等 ,達到確定陰線佔全部K線個數的比例)。 (2)、n日內陽線多於陰線 count(open<close,n)/n>0.5; 註:n為指標參數,可在參數設定範圍內設定參數範圍。同時可以自由編輯裡面的數值(如0.5等 ,達到確定陽線佔全部K線個數的比例)。 (3)、n日內上漲多於下跌(第二天開盤高於前一天收盤) count(c>ref(c,1),n)/n>0.5; 註:n為指標參數,可在參數設定範圍內設定參數範圍。同時可以自由編輯裡面的數值(如0.5等 ,達到確定其中比例)。 (4)、n日內上漲少於下跌(第二天開盤低於前一天收盤) count(c>ref(c,1),n)/n<0.5; 註:n為指標參數,可在參數設定範圍內設定參數範圍。同時可以自由編輯裡面的數值(如0.5等,達到確定其中比例)。 (5)、連續n日收陽線 up:=close>open; count(up,n)=n; 註:count(x,n),統計n周期中滿足x條件的周期數,若n=0則從第一個有效值開始。n為指標參數,可在參數設定範圍內設定參數範圍。 (6)、連續n日內收陰線 up:=close<open; count(up,n)=n; 註:count(x,n),統計n周期中滿足x條件的周期數,若n=0則從第一個有效值開始。N為指標參數,可在參數設定範圍內設定參數範圍。 (7)、連續n天上漲 count(close>ref(close,1),n)=n; 註:count(x,n),統計n周期中滿足x條件的周期數,若n=0則從第一個有效值開始。N為指標參數,可在參數設定範圍內設定參數範圍。 (8)、連續n天下跌 count(c<ref(c,1),n)=n; 註:count(x,n),統計n周期中滿足x條件的周期數,若n=0則從第一個有效值開始。N為指標參數,可在參數設定範圍內設定參數範圍。 以上的參數n只要添入你所需要的周期數即可,如5、10、30等日期就是一個完整的指標或選股指標。 股市的不隨機規律,隱藏在統計概率之中。用這兩個函數,可以統計很多概率性的規律。 比如,以兩天的收盤價相比,昨天是下跌的,今天的下跌的概率是多少?看下面指標: {當日升跌概率} A:=C<REF(C,1); B:=REF(A,1) AND C>REF(C,1);{昨天下跌,今天上漲} D:=REF(A,1) AND C=REF(C,1);{昨天下跌,今天平盤} E:=REF(A,1) AND C<REF(C,1);{昨天下跌,今天下跌} F:=COUNT(B,0)+COUNT(D,0)+COUNT(E,0); 上升概率:100*COUNT(B,0)/F; 下跌概率:100*COUNT(E,0)/F; 平盤概率:100*COUNT(D,0)/F;{如圖}
那麼連跌兩天之後,第三天收盤的各種概率是多少?看下面指標: A:=C<REF(C,1) and ref(c,1)<ref(c,2); B:=REF(A,1) AND C>REF(C,1);{前兩天下跌,今天上漲} D:=REF(A,1) AND C=REF(C,1);{前兩天下跌,今天平盤} E:=REF(A,1) AND C<REF(C,1);{前兩天下跌,今天下跌} F:=COUNT(B,0)+COUNT(D,0)+COUNT(E,0); 上升概率:100*COUNT(B,0)/F; 下跌概率:100*COUNT(E,0)/F; 平盤概率:100*COUNT(D,0)/F;
從指數的輸出看,概率更明顯了。 連跌三天之後呢?看下面指標: A:=C<REF(C,1) and ref(c,1)<ref(c,2) and ref(c,2)<ref(c,3); B:=REF(A,1) AND C>REF(C,1);{前三天下跌,今天上漲} D:=REF(A,1) AND C=REF(C,1);{前三天下跌,今天平盤} E:=REF(A,1) AND C<REF(C,1);{前三天下跌,今天下跌} F:=COUNT(B,0)+COUNT(D,0)+COUNT(E,0); 上升概率:100*COUNT(B,0)/F; 下跌概率:100*COUNT(E,0)/F; 平盤概率:100*COUNT(D,0)/F;
規律就更明顯了。 不要小看這些數據。雖然沒有有些「高手」做出的成功率達百分之九十左右的公式那麼誇張,但很有意義的。要知道股市中的隨機因素太多,平衡性很強,稍稍的統計偏向,足可作為有用的參考。函數:SUM(X,N) 參數: X為數組,N為計算周期 說明:統計N周期中X的總和,N=0則從第一個有效值開始。 示例:SUM(VOL,0) 表示統計從上市第一天以來的成交量總和。 SUM和COUNT這兩個函數不同之處在於COUNT,計數。SUM,總數、和。請注意這兩個函數的區別。 當數組為邏輯運算判斷的結果時,SUM和COUNT的返回值是一樣的。一般習慣上,對於邏輯運算信號,用COUNT統計,返回其它數值的,用SUM統計。當COUNT統計一般數值時,數組大於等於1時,計入;小於1時,不計入。這兩個函數,主要用於統計。 用COUNT(CROSS(MA(C,5),MA(C,10)),0);就可以統計出全部的五天均線上穿十天均線的金叉數。 用SUM(CROSS(MA(C,5),MA(C,10)),0);和以上得出的結果應該是一樣的。 請看下面的指標如何運用SUM函數的。 {多空曲 n:1 100 13 m:1 100 34} obv:=sum(if(close>ref(close,1),vol,if(close<ref(close,1),0-vol,0)),0); ah:=(sum(h,2)*(sum(1+winner(h),2))*sum(obv,2))/2; al:=(sum(l,2)*(sum(1+winner(l),2))*sum(obv,2))/2; ao:=(sum(o,2)*(sum(1+winner(o),2))*sum(obv,2))/2; ac:=(sum(c,2)*(sum(1+winner(c),2))*sum(obv,2))/2; stickline(ac>=ao,ah,al,0.1,0),colorred;{在ah與al之間畫寬度為0.1的實心紅柱線} stickline(ac>=ao,ao,ac,4,0),colorred;{在ao與ac之間畫寬度為4的實心紅柱線} stickline(ac<ao,ah,al,0.1,0),colorffcc66;{在ah與al之間畫寬度為0.1的實心青柱線} stickline(ac<ao,ao,ac,4,0),colorffcc66;{在ao與ac之間畫寬度為4的實心青柱線} 兩日參考:polyline(c>0,ma(ac,2)),colorff00ff; ka1:=(hhv(ah,m)-llv(al,m))/m; ka2:=sum(ac,n)/n; m1:ka2-ka1*n,colorwhite; m2:ka2+ka1*n,colorwhite; 多空分界:(m1+m2)/2,coloryellow;{見下圖}
指標解析: {多空曲 n:1 100 13 m:1 100 34} obv:=求和(條件函數(收盤價>向前引用(收盤價,1),成交量,條件函數(收盤價<向前引用(收盤價,1),0-成交量,0)),0); ah:=(求和(最高價,2)*(求和(1+獲利盤比例(最高價),2))*求和(obv,2))/2; al:=(求和(最低價,2)*(求和(1+獲利盤比例(最低價),2))*求和(obv,2))/2; ao:=(求和(開盤價,2)*(求和(1+獲利盤比例(開盤價),2))*求和(obv,2))/2; ac:=(求和(收盤價,2)*(求和(1+獲利盤比例(收盤價),2))*求和(obv,2))/2; 畫柱線(ac>=ao,ah,al,0.1,0),colorred; 畫柱線(ac>=ao,ao,ac,4,0),colorred; 畫柱線(ac<ao,ah,al,0.1,0),colorffcc66; 畫柱線(ac<ao,ao,ac,4,0),colorffcc66; 兩日參考:畫折線(收盤價>0,簡單移動平均(ac,2)),colorff00ff; ka1:=(最高值(ah,m)-最低值(al,m))/m; ka2:=求和(ac,n)/n; m1:ka2-ka1*n,colorwhite; m2:ka2+ka1*n,colorwhite; 多空分界:(m1+m2)/2,coloryellow; 下面是幾個運用sum函數的指標例句: (1)、階段縮量 sum(vol,n1)/capital<=n2; 註:n1為要統計的階段時間,n2為縮量比例,可在參數設定範圍內設定參數範圍。 (2)、階段放量 sum(vol,n1)/capital>=n2; 註:n1為要統計的階段時間,n2為y放量比例,可在參數設定範圍內設定參數範圍。 (3)、放量上攻 a:=(c-ref(c,1))/ref(c,1)>=(n/100); sum(vol,n1)/capital>=(n2/100) and count(vol>ref(vol,1),n3 )=n3 and count(a,n3)=n3; 完整含義:每日股價漲幅均大於n%,n1日內累計換手率大於n2%,並且成交量連續在n3日內放大。 (4)、階段強勢股 a:=sum(if(date-n=0,indexc,0),0); b:=sum(if(date-n1=0,indexc,0)0); e:=sum(if(date-n=0,c,0),0); f:=sum(if(date-n1=0,c,0),0); ((f-e)/e)>((b-a)/a); 註:該公式求的是n日-n1日之間漲幅高於大盤的股票。n、n1參數的表達格式為yymmdd,注意在2000年前的表達為年份的後兩位,例如1999年為99,從2000年開始以100依次向後累加,例如2001年9月14日為1010914,indexc函數表示同期大盤的收盤價,該函數對分筆成交分析周期無效。 (5)、階段弱勢股 a:=sum(if(date=n,indexc,0),0); b:=sum(if(date=n1,indexc,0)0); e:=sum(if(date=n,c,0),0); f:=sum(if(date=n1,c,0),0); ((f-e)/e)<((b-a)/a); 註:該公式求的是n日-n1日之間漲幅低於大盤的股票。n、n1參數的表達格式為yymmdd,注意在2000年前的表達為年份的後兩位,例如1999年為99,從2000年開始以100依次向後累加,例如2001年9月14日為1010914,indexc函數表示同期大盤的收盤價,該函數對分筆成交分析周期無效。1、引用函數HHV 最高值 求最高值。 用法:HHV(X,N),求N周期內X最高值,N=0則從第一個有效值開始。 例如:HHV(HIGH,30),表示求30日最高價。 2、引用函數LLV 最低值 求最低值。 用法:LLV(X,N),求N周期內X最低值,N=0則從第一個有效值開始。 例如:LLV(LOW,0),表示求歷史最低價。 例1、如指標(主圖) CG:=Ma(C,18),color00ff00;{18日簡單移動平均} FL:=hhv(CG,3),COLOR00ff00;{取3日CG的最高值} FL3:hhv(CG,9),COLOR00FF00,linethick2;{取9日CG的最高值,畫綠色粗線} FS3:if(CG<FL3,(CG-(FL3-CG)),FL3),COLORred,linethick2;{根據括弧內所求的值及條件畫紅色粗線}。如圖:
例2、根據走勢特徵編製n日內創新高選股公式: hhv(high,n)=hhv(high,0) and barscount(c)>=n; 註:n為指標參數,可在參數設定範圍內設定參數範圍。Hhv(x,n),求n周期內x最高值,n=0則從第一個有效值開始; 例2、指標(副圖) {三線開花 n:1 100 20} C0:=(h+l+c)/3; a1:=HHV(C0,n);a2:=LLV(C0,n);a3:=a1-a2; a4:=ema((C0-a2)/a3,2)*100; b1:=HHV(C0,4*n);b2:=LLV(C0,4*n);b3:=b1-b2; b4:=ema((C0-b2)/b3,2)*100; C1:=HHV(C0,16*n);C2:=LLV(C0,16*n);C3:=C1-C2; C4:=ema((C0-C2)/C3,2)*100; 短期相對價位:a4,color66dddd,linethick2; 中期相對價位:b4,color6699ff,linethick2; 長期相對價位:C4,color6600ff,linethick2; 天線:95,linethick2,coloreeee33,pointdot; 地線:5,linethick2,color33ee33,pointdot; 中線:50,linethick2,coloreeeeee,pointdot; 如圖:
指標解析: {三線開花 n:1 100 20} C0:=(最高價+最低價+收盤價)/3; a1:=最高值(C0,n);a2:=最低值(C0,n);a3:=a1-a2; a4:=指數平滑移動平均((C0-a2)/a3,2)*100; b1:=最高值(C0,4*n);b2:=最低值(C0,4*n);b3:=b1-b2; b4:=指數平滑移動平均((C0-b2)/b3,2)*100; C1:=最高值(C0,16*n);C2:=最低值(C0,16*n);C3:=C1-C2; C4:=指數平滑移動平均((C0-C2)/C3,2)*100; 短期相對價位:a4,color66dddd,linethick2; 中期相對價位:b4,color6699ff,linethick2; 長期相對價位:C4,color6600ff,linethick2; 天線:95,linethick2,coloreeee33,點狀線; 地線:5,linethick2,color33ee33,點狀線; 中線:50,linethick2,coloreeeeee,點狀線; 例4、選股指標n日內創新低 llv(low,n)=llv(low,0) and barscount(close)>=n; 注n為指標參數,可在參數設定範圍內設定參數範圍。Llv(x,n),求n周期內x最低值,n=0則從第一個有效值開始 以上這兩個函數在指標編寫中被廣泛採用。1、函數:HHVBARS(X,N) 參數:X為數組,N為計算周期。上一高點位置 求上一高點到當前的周期數。 說明:求N周期內X最高值到當前周期數,N=0表示從第一個有效值開始統計 用法: HHVBARS(HIGH,0) 求得歷史新高到當前的周期數。 請看下面的指標: Var1:=VOL/CAPITAL*100; Var2:=HHVBARS(HIGH, 50);{求得50日最高點到當前的周期數} Var3:=(CLOSE-REF(OPEN, Var2))/REF(OPEN, Var2)*100;{收盤價-50日最高點到當前的周期數/50日最高點到當前的周期數*100} Var4:=REF(CLOSE,2)*0.865; Var5:=REF(CLOSE,13)*0.772; Var6:=MIN(Var4,Var5); 超跌:IF((CLOSE-Var6)/CLOSE<0.030 AND Var3<(-35) AND SUM(Var1,5)/5<1.800,1,0)*10;{通過計算比較在低於50日最高點並符合其它幾個條件的位置上顯示脈衝信號}如圖
2、函數: LLVBARS(X,N) 參數:X為數組,N為計算周期。上一低點位置 求上一低點到當前的周期數。 說明:求N周期內X最低值到當前周期數,N=0表示從第一個有效值開始統計 用法:LLVBARS(HIGH,20) 求得20日最低點到當前的周期數。 你可以參照上面的指標示例運用該函數編寫符合自己設計思路的指標。1、函數:BACKSET 向前賦值 將當前位置到若干周期前的數據設為1。 用法:BACKSET(X,N),X非0,則將當前位置到N周期前的數值設為1。 例如:BACKSET(CLOSE>OPEN,2),若收陽則將該周期及前一周期數值設為1,否則為0。 請看下面指標: CSAR:SAR(10,2,20),LINETHICK2;{表示計算10日拋物轉向,步長為2%,極限值為20%。} drawtext(CSAR>=H,CSAR,『°『),color00ff00;{當CSAR大於等於最高價,在CSAR上畫。狀線} drawtext(CSAR<=L,CSAR,『°『),colorred;{當CSAR小於等於最低價,在CSAR上畫。狀線} TJ1:=BACKSET(SARTURN(10,2,20)<>0,2);{若10日拋物轉向,步長為2%,極限值為20%,則將該周期及前一周期數值設為1,否則為0。} TJ2:=REF(TJ1,1);{引用上一周期TJ1} drawtext(TJ2,CSAR,『°『),coloryellow;{TJ2條件滿足在CSAR畫。狀線} STICKLINE(C>O,O,C,4,0),COLORRED; STICKLINE(C>O,H,C,1,1),COLORRED; STICKLINE(C>O,O,L,1,1),COLORRED; STICKLINE(C<=O,O,C,4,0),COLORffcc66; STICKLINE(C<=O,H,O,1,1),COLORffcc66; STICKLINE(C<=O,L,C,1,1),COLORffcc66; {1.向下跌破轉向點,賣出;向上突破轉向點,買入 2.市道趨勢明顯時,轉向點信號準確} 上面是一個拋物轉向指標,在第二步句用到了BACKSET函數,與另一個拋物轉向點函數SARTURN構成了一個指標語句。如圖:
2、函數:BARSCOUNT 有效值周期數 求總的周期數。 用法:BARSCOUNT(X),第一個有效數據到當前的天數。 例如:BARSCOUNT(CLOSE),對於日線數據取得上市以來總交易日數,對於分筆成交取得當日成交筆數,對於1分鐘線取得當日交易分鐘數。請看下面指標: bb1:=REF(CLOSE,1); bb2:=SMA(MAX(CLOSE-bb1,0),7,1)/SMA(ABS(CLOSE-bb1),7,1)*100; bb3:=SMA(MAX(CLOSE-bb1,0),13,1)/SMA(ABS(CLOSE-bb1),13,1)*100; bb4:=BARSCOUNT(CLOSE);{取得上市以來總交易日數} bb5:=bb2<20 AND bb3<23 AND bb4>35;{這幾個條件同時滿足} bb5 AND COUNT(bb5,30)=1; DRAWTEXT(bb5 AND COUNT(bb5,30)=1,{-5}45,『定海神針『),COLORYELLOW; STICKLINE(bb5 AND COUNT(bb5,30)=1,0,50,4,0),COLORWHITE; 如圖:
3、函數:BARSLAST 上一次條件成立位置 上一次條件成立到當前的周期數。 用法:BARXLAST(X),上一次X不為0到現在的天數。 例如:BARSLAST(CLOSE/REF(CLOSE,1)>=1,1),表示上一個漲停到當前的周期數。請看下面指標: i:=MA(BARSLAST(HIGH=HHV(HIGH,16))*IF(CLOSE<OPEN,VOL,1),3);{求上一次條件成立到當前的周期數平均值} r:=MA(BARSLAST(LOW=LLV(LOW,18))*IF(CLOSE>OPEN,VOL,1),4);{求上一次條件成立到當前的周期數平均值} 短線逃頂:IF(i,0,90),color00ff00;{顯示高度為90的綠色脈衝信號} DRAWICON(短線逃頂,95,2);{在坐標95處顯示綠臉} 如圖:
4、函數:BARSSINCE 第一個條件成立位置 第一個條件成立到當前的周期數。 用法:BARSSINCE(X),第一次X不為0到現在的天數。 例如:BARSSINCE(HIGH>10),表示股價超過10元時到當前的周期數。請看下面指標: A1:=VOL=HHV(VOL,120); A2:=CLOSE/OPEN>1.05; TJ:=A1 AND A2; 黑馬起步:if(TJ OR BARSSINCE(TJ)=0,30,0),COLORWHITE,STICK ,LINETHICK3;{TJ條件成立或者在當前周期股票平均漲幅大於5%及成交量在120日內最高畫白色柱線} 如圖:
1、函數:FILTER 信號過濾 過濾連續出現的信號。 用法:FILTER(X,N),X滿足條件後,刪除其後N周期內的數據置為0。 例如:FILTER(CLOSE>OPEN,5),查找陽線,5天內再次出現的陽線不被記錄在內。請看下面指標: 頂底背離:0,COLORYELLOW; 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;{5天內B1>0的條件不被記錄在內,在當前周期內出現B1>0畫綠色柱線} 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;{5天內B2>0的條件不被記錄在內,在當前周期內出現B>0畫黃色柱線} 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;{5天內B3>0的條件不被記錄在內,在當前周期內出現B3>0畫青色柱線} DRAWTEXT(FILTER(B3>0,5),0.25,『RSI底背離『),COLORFFCC66; 2,COLORRED; C1:=BARSLAST(ref(cross("macd.dea"(12,26,9),"macd.diff"(12,26,9)),1)); D1:=ref(c,C1+1)<c and ref("macd.diff"(12,26,9),C1+1)>"macd.diff"(12,26,9) and cross("macd.dea"(12,26,9),"macd.diff"(12,26,9)); MACD頂背離:STICKLINE(FILTER(D1>0,5),2,1.25,3,0),COLOR0066FF;{5天內D1>0的條件不被記錄在內,在當前周期內出現D1>0畫橘黃色柱線} 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)<c and ref("kdj.k"(9,3,3),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;{5天內D2>0的條件不被記錄在內,在當前周期內出現D2>0畫紅色柱線} 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)<c and ref("RSI.RSI1"(6,12,24),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;{5天內D3>0的條件不被記錄在內,在當前周期內出現D3>0畫粉色柱線} DRAWTEXT(FILTER(D3>0,5),1.75,『RSI頂背離『),COLORFF00FF; 如圖:
這是一個引用FILTER函數比較多的指標,請認真研究和體會一下語句的用法。 2、函數:SUMBARS 累加到指定周期數 向前累加到指定值到現在的周期數。 用法:SUMBARS(X,A),將X向前累加直到大於等於A,返回這個區間的周期數。 例如:SUMBARS(VOL,CAPITAL),求完全換手到現在的周期數。 這個函數好用,在於它不但能精確地得到統計結果,而且能得到「模糊」的結果。 就以SUMBARS(VOL,CAPITAL)為例: 日期數:SUMBARS(VOL,CAPITAL);{返回成交量累加到流通盤的日期數} 驗證:SUM(V,日期數)/CAPITAL;{把返回的日期數之內的成交量累計,再除以流通盤} 運行的結果中,我們可以看到,「驗證」的輸出,除了SUMBARS起算點附近之外,從來沒有小於1的。可見SUMBARS只往多算,不往少算。請看下面指標: Var1:=(CLOSE-LLV(LOW,45))/(HHV(HIGH,45)-LLV(LOW,45))*100; Var2:=SMA(Var1,3,1); Var3:=SMA(Var2,3,1); VarB:=SUM(IF(CLOSE>REF(CLOSE,7),VOL,IF(CLOSE<REF(CLOSE,7),0-VOL,0)),0); VarC:=SUMBARS(VOL,CAPITAL);{求完全換手到現在的周期數} VarD:=IF(CLOSE>LLV(CLOSE,VarC),1,-1); VarE:=IF(VarB>LLV(VarB,VarC),1,-1); VarF:=VarD*VarE; Var10:=IF(VarF=-1,1,0); 關注:IF(Var10 AND CLOSE=LLV(CLOSE,20) AND Var3<12,70,1),colorffcc66;{在圖上0--70的坐標處顯示青色脈衝信號} V1:=SUM(IF(CLOSE>REF(CLOSE,1),VOL,IF(CLOSE<REF(CLOSE,1),0-VOL,0)),0); V2:=SUMBARS(VOL,CAPITAL);{求完全換手到現在的周期數} V3:=IF(CLOSE>LLV(CLOSE,V2),1,-1); V4:=IF(V1>LLV(V1,V2),1,-1); V5:=V3*V4; V6:=IF(V5=-1,1,0); V7:=COUNT(V6=1,8)>2; V8:=AMOUNT/VOL/100; V9:=(3*HIGH+LOW+OPEN+2*CLOSE)/7; VA:=SUM(AMOUNT,13)/V8/100; VB:=DMA(V9,VOL/VA); VC:=(CLOSE-VB)/VB*100<-15; VD:=(CLOSE-MIN(REF(CLOSE,5)*0.865,REF(CLOSE,21)*0.772))/CLOSE<0.05; 長針:(VC AND VD AND V7)*60,coloryellow;{在圖上0--60的坐標處顯示黃色脈衝信號} 如圖:
下面這組函數用於算術運算,相對簡單。 1、ABS 絕對值 求絕對值。 用法:ABS(X)返回X的絕對值。 例如:ABS(-34)返回34。 請看下面指標: {真實量比} V1:=AMOUNT/10000; 對敲: FINANCE(33), POINTDOT,colorffcc66; Var1:=ref(c,1); var2:=(var1-l)/(h-l); var3:=v1*var2; var4:=V*var2; var5:=abs(var4);{返回var4} var6:=abs(var3);{返回var3} var7:=abs(v1-var6);{返回v1-var6差} 大單賣盤:abs(v-var5)/100,color00ffff;{返回v-var5差除100} 買盤:var3/100,colorff00ff; 成交金額:V1/1000,color00ff00; 買賣盤比%:abs(v-var3)/v*100,colorc0c0c0;{返回v-var3差} stickline(c>0,0,var6,5,0),colorffff00;{畫天蘭色柱} 換手:100*v/capital,colorred; STICKLINE(換手<3,var6,v1 ,5 ,0),colorred;{畫紅色柱} STICKLINE(換手>=3 and 換手<7,var6, V1,5.5,0),coloryellow;{畫黃色柱} STICKLINE(換手>=7,var6, V1, 4,0) ,color00ff00;{畫綠色柱} 如圖:
2、BETWEEN 介於 介於兩個數之間。 用法:BETWEEN(A,B,C),表示A處於B和C之間時返回1,否則返回0。 例如:BETWEEN(CLOSE,MA(CLOSE,10),MA(CLOSE,5)),表示收盤價介於5日均線和10日均線之間。請看下面指標: {智慧探庄 參數:下%:1 100 5 上%:1 100 5} VAR1:=((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27)))*(100); VAR2:=SMA(VAR1,9,1); A:SMA(VAR2,5,1),Color00FFFF; B:SMA(A,3,1),ColorFF00FF; F:(3)*(A)-(2)*(B),Color00FF00; 趨勢線:MA(CLOSE,20)-(MA(CLOSE,20))/(3),ColorFFFFFF; X:=((CLOSE)/(趨勢線)-1)*(100); AA:=BETWEEN(X,下%,上%);{表示x介於參數下%,上%之間} 智慧探庄:IF((AA>0),5,80),ColorFFFF00; VAR3:=(MA(WINNER(CLOSE),5))*(100); 智慧出擊:=(CROSS(VAR3,2.5))*(85); 出擊:IF((智慧出擊>0),60,0),Color0000FF; BB:IF(((智慧出擊>0) or (出擊>0)),2,20),Color008000,Stick; 如圖:
3、LONGCROSS 維持交叉函數 兩條線維持一定周期後交叉。 用法:LONGCROSS(A,B,N)表示A在N周期內都小於B,本周期從下方向上穿過B時返回1,否則返回0。 例如:LONGCROSS(MA(CLOSE,5),MA(CLOSE,10),5),表示5日均線維持5周期後與10日均線金叉。 4、CEILING 向上舍入 向數值增大方向舍入。 用法:CEILING(A)返回沿A數值增大方向最接近的整數。 例如:CEILING(12.3)求得13,CEILING(-3.5)求得-3。 5、FLOOR 向下舍入 向數值減小方向舍入。 用法:FLOOR(A)返回沿A數值減小方向最接近的整數。 例如:FLOOR(12.3)求得12,FLOOR(-3.5)求得-4。CEILING與FLOOR用法一樣,區別在於向上舍入和向下舍入。 下面指標用到了這幾個函數: aa1:=(EMA(CLOSE,12)-EMA(CLOSE,26))*100+50; aa2:=EMA(aa1,9); aa3:=(HHV(HIGH,21)-CLOSE)/(HHV(HIGH,21)-LLV(LOW,21))*100-10; aa4:=(CLOSE-LLV(LOW,21))/(HHV(HIGH,21)-LLV(LOW,21))*100; aa5:=SMA(aa4,13,8); 走勢:CEILING(SMA(aa5,13,8));{向上舍入 向數值增大方向舍入,aa5的13日均線求得8} aa6:=SMA(aa3,21,8); 買觀注: STICKLINE(走勢-aa6<-65,0,5,15,1); 買進:=LONGCROSS(aa1,aa2*1.05,15) AND aa1<40;{表示aa1維持aa2*1.05後與15日金叉} 賣觀注: STICKLINE(走勢-aa6>85,95,90,15,1); 賣出:STICKLINE(LONGCROSS(aa2,aa1*0.95,7) AND aa1>0,100,80,6,0),color00ff00;{表示aa2維持aa1*0.95後與7日死叉,畫綠色柱線} 如圖:
6、MAX 最大值 求最大值。 用法:MAX(A,B)返回A和B 中的較大值。 例如:MAX(CLOSE-OPEN,0),表示若收盤價大於開盤價返回它們的差值,否則返回0。 7、MIN 最小值 求最小值。 用法:MIN(A,B)返回A和B中的較小值。 例如:MIN(CLOSE,OPEN),返回開盤價和收盤價中的較小值。這2個函數通常成雙成對使用,請看下面指標: Var1:=(HIGH+LOW+CLOSE)/3;{(最高價+最低價+收盤價)/3} Var2:=IF(HIGH=LOW,1,HIGH-MAX(OPEN,CLOSE));{條件函數(最高價=最低價,1,最高價-最大值(開盤價,收盤價))} Var3:=IF(HIGH=LOW,1,MAX(CLOSE,OPEN)-Var1);{條件函數(最高價=最低價,1,最大值(收盤價,開盤價)-Var1)} Var4:=IF(HIGH=LOW,1,MIN(OPEN,CLOSE)-LOW);{條件函數(最高價=最低價,1,最小值(開盤價,收盤價)-最低價)} Var5:=IF(HIGH=LOW,1,Var1-MIN(CLOSE,OPEN));{條件函數(最高價=最低價,1,Var1-最小值(收盤價,開盤價))} Var6:=VOL/IF(HIGH=LOW,4,HIGH-LOW);{成交量/條件函數(最高價=最低價,4,最高價-最低價)} Var7:=Var2*Var6; Var8:=Var3*Var6; Var9:=Var4*Var6; VarA:=Var5*Var6; STICKLINE(CLOSE>0,0,Var7+VarA,4,1),COLORRED;{畫柱線(收盤價>0,0,Var7+VarA,4,1),紅色柱} 買入量: Var7+VarA,POINTDOT,COLORRED;{紅色點狀線} STICKLINE(CLOSE>0,(Var8+Var9)*(-1),0,4,1),COLORFFCCCC;{畫柱線(收盤價>0,(Var8+Var9)*(-1),0,4,1),淡青色柱} 賣出量:(Var8+Var9)*(-1),POINTDOT,COLORFFCCCC;{淡青色點狀線} 如圖:
8、MOD 求模運算 求模運算。 用法:MOD(A,B)返回A對B求模。 例如:MOD(26,10)返回6。 9、INTPART 取整 絕對值減小取整,即取得數據的整數部分。 用法:INTPART(A)返回沿A絕對值減小方向最接近的整數。 例如:INTPART(12.3)求得12,INTPART(-3.5)求得-3。下面的指標用到了這兩個函數: RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;{(收盤價-最低值(最低價,9))/(最高值(最高價,9)-最低值(最低價,9))*100} K:=(SMA(RSV,3,1));{(移動平均(RSV,3,1))} D:=(SMA(K,3,1));{(移動平均(K,3,1))} KK:=INTPART(SMA(RSV,3,1));{取整(移動平均(RSV,3,1))} DD:=INTPART(SMA(K,3,1));{取整(移動平均(K,3,1))} N:KK+DD,LINETHICK2,COLORff00ff;{畫粗粉色線} 精確漲停:IF(CROSS(N,50),90,50),,COLORYELLOW;{條件函數(交叉函數(N,50),90,50)畫黃色線} 接近頭部:IF(CROSS(160,N),95,160),,COLOR00ff00;{條件函數(交叉函數(160,N),95,160)畫綠色線} 尾數:MOD(n,10),LINETHICK0,COLORWHITE;{求模運算(n,10)畫白色線} N的尾數:IF(尾數=0,65,25),,COLORFFCC66;{條件函數(尾數=0,65,25)畫青色線} 如圖:
10、NOT 求邏輯非。 用法:MOT(X)返回非X,即當X=0時返回1,否則返回0。 例如:MOT(ISUP)表示平盤或收陰。請看這個函數在指標中的用法: Var1:=(MA(CLOSE,80)-MA(CLOSE,13)/3); 神奇線:= MA((CLOSE-Var1)/Var1,1); 買點:IF(REF(神奇線,2)=LLV(神奇線,20) AND REF(神奇線,2)<0.071 AND REF(神奇線,2)<REF(神奇線,1) AND NOT(REF(LOW,1)>REF(HIGH,2) AND LOW>REF(HIGH,1)) AND CLOSE>REF(CLOSE,1),0.5,0);{這句用到了MOT函數} 如圖:
11、RANGE 範圍 介於某個範圍之間。 用法:RANGE(A,B,C)表示A大於B同時小於C時返回1,否則返回0。 例如:RANGE(CLOSE,MA(CLOSE,5),MA(CLOSE,10))表示收盤價大於5日均線並且小於10日均線。請看下面指標: a1:=1; a2:=ma(c,30); a3:=(c-a2)/a2*100; a4:=ma(a3,3); a5:=a1-1.01*1000000; a6:=barslast(cross(-10,a4)=1); a7:=if(a4<-10 and a6>=5,a4,0),colorwhite; 機會:a7,colorstick,colorffff00;{畫青色柱線} a8:=range(a5,(1-0.618)*1000,(1+1.9/100)*1000);{在這句中用到了mange函數,其格式含義請慢慢體會} drawtext(filter(a7=a4 and a8=0,8)=1,a7*1.2 ,『注意反彈『),coloryellow; 如圖:
12、REVERSE 求相反數 求相反數。 用法:REVERSE(X)返回-X。 例如:REVERSE(CLOSE)返回-CLOSE。請看指標: Var1:=(CLOSE-REF(OPEN,29))/REF(OPEN,29)*100; Var2:=HHV(HIGH,60); VarA:=(CLOSE-LLV(LOW,36))/(HHV(HIGH,36)-LLV(LOW,36))*100; VarB:=SMA(VarA,5,1); VarC:=SMA(VarB,3,1); 跌: Var2*0.382,colorwhite; 底部: REVERSE(IF(CROSS(VarB,VarC) AND VarC<10 AND Var1<-30,跌*2,-5)),color00ff00;{返回CROSS(VarB,VarC)} DRAWTEXT(REVERSE(CROSS(VarB,VarC)) AND VarC<10 AND Var1<-30,跌-5,『底部『),color00ff00;{返回CROSS(VarB,VarC)} 如圖:
13、ATAN 反正切值 用法:ATAN(X)返回X的反正切值。請看指標: lc1:=ma(c,9); jxjd:=atan((lc1-ref(lc1,1))/ref(lc1,1)*100)/3.1416*180;{返回((lc1-ref(lc1,1))的反正切值} smk:sma(jxjd,3,1),colorstick;{畫柱線} smd:sma(smk,3,1); 如圖:
14、EXP 指數 用法:EXP(X)為e的X次冪。 例如:EXP(CLOSE)返回e的CLOSE次冪。 15、LOG 以10為底的對數 用法:LOG(X)取得X的對數。 例如:LOG(100)等於2。下面指標用到了這兩個函數: Var1:=IF(VOL/CAPITAL>0.001,1,EXP(ABS(LOG(VOL/CAPITAL*100))));{返回e的(ABS(LOG(VOL/CAPITAL*100)))次冪} STICKLINE(Var1>2 AND VOL<MA(VOL,5)/2,0,VOL,4,0),COLORFF00FF;{畫柱線} 相對地量:0,COLORFF00FF; 如圖:
16、POW 乘冪 用法:POW(A,B)返回A的B次冪。 例如:POW(CLOSE,3)求得收盤價的3次方。請看黑馬預測指標: Var2:=EMA(CLOSE,100)-EMA(CLOSE,50); Var3:=EMA(Var2,60); Var4:=(Var2-Var3)*2; ZX: IF( Var4>0.3,POW(Var4,3)*10/10+POW(Var4,2),0); ZY: EMA(ZX,3); LING: 0; 如圖:
17、SQRT 開平方 用法:SQRT(X)為X的平方根。 例如:SQRT(CLOSE)收盤價的平方根。請看指標: 底:(((-SQRT(SQRT(FLOOR(SQRT((MA(((1)/(WINNER(CLOSE)))*(100),4))/(10000)))))))*(5)),Color4455EE; STICKLINE((底<(-2)),0,底,1.5,1),Color2222FF; 如圖:
18、SIN 正弦值 用法:SIN(X)返回X的正弦值。 19、COS 餘弦值 用法:COS(X)返回X的餘弦值。 正弦波是自然界最常見的波形。正弦波和餘弦波的波形是一樣的,無非是相差π/2弧度(90度)的相位。 主要應用在技術分析中的周期分析上。那麼在指標中畫出正弦波應該是很容易了吧。看看這2個函數在指標中的運用: A:=COUNT(C,0)=1; B:=BARSLAST(A);{1,2,3,4,.....} 正弦值:SIN(B); 餘弦值:COS(B); 正余平方和:POW(正弦值,2)+POW(餘弦值,2); 正弦180度:SIN(3.1415926); 如圖:
但是看起來不太光滑.究其原因,是因為正弦波的周期是2π,當X取值較大時(1,2,3,...)時,返回值就不太「精密」了,也就是說構成波形的點數不夠。這個就好辦了,我們可以把數列的值都減小N倍,再來看看效果。 A:=COUNT(C,0)=1; B:=BARSLAST(A)/N;{參數N:1 999 10} 正弦值:SIN(B); 餘弦值:COS(B); 如圖:
調整參數N,就可以發現,N取值越大,波形就越光滑。當N取3時,就有不錯的光滑度。當N取10時,就非常光滑了。 N調整得越大,在2π周期中的點數就越多,一個完整波形的周期內所含的日期差(在日K線中)就越大了。 20、TAN 正切值 TAN(X)返回X 的正切值。正切值的絕對值,最小是0,最大趨向於無窮大。當正弦值接近1時,正切值接近於無窮大。請看: A:=COUNT(C,0)=1; B:=BARSLAST(A)/N;{參數N:1 999 10} 正弦值:SIN(B); 餘弦值:COS(B); TAN(B); 如圖:
以下幾個函數很少用到,做一下簡單了解就行了。你可以挖掘這幾個函數的運用,也許會有出乎意料的收穫。 21、ASIN 反正弦值 用法:ASIN(X)返回X的反正弦值。 22、SGN 符號值 求符號值。 用法:SGN(X),當X>0,X<0分別順1,0,-1。 23、ACOS 反餘弦值 用法:ACOS(X)返回X的反餘弦值。 23、LN自然對數 求自然對數。 用法:LN(X)以e為底的對數。 例如:LN(CLOSE)求收盤價的對數。LN(X)是取自然對數。自然數e=2.718281828... 25、SIN 正弦值 用法:SIN(X)返回X的正弦值。(1)、AVEDEV 平均絕對偏差 用法:AVEDEV(X,N) 含義:平均絕對偏差,求X的N日平均絕對偏差。請看指標: TYP:=(HIGH+LOW+CLOSE)/(3);{最高+最底+收盤價/3} 趨勢線:(TYP-MA(TYP,100))/((0.015)*(AVEDEV(TYP,100))),Color00FFFF;{(AVEDEV(TYP,100)求TYP的100日平均絕對偏差.} 如圖:
(2)、DEVSQ 數據偏差平方和 用法:DEVSQ(X,N) 含義:數據偏差平方和,求X的N日數據偏差平方和。數據偏差平方和除以N,即為方差。比較一下這2句在圖上的區別: a1:DEVSQ(C,5)/5;{0.025} a2:DEVSQ(C,5);{0.126} 見圖:
(3)、FORCAST 線性回歸預測值 用法:FORCAST(X,N)為X的N周期線性回歸預測值。示例: FORCAST(CLOSE,10) 表示求10周期線性回歸預測。用最小二乘法求出N周期內X的一元線性回歸線上的當天的值。請看指標: 平均價:=(HIGH+4*LOW+OPEN+CLOSE)/7; 均價差:= EMA(平均價,13) - EMA(平均價,34); 移動均價:= EMA(均價差,5); 差:=(均價差-移動均價)*5; A:=IF(差>=1000 ,1000 ,IF(差<=平均價,平均價,差) ); 分水嶺:=forcast(forcast(A,31),10),linethick3,COLORYELLOW;{求出31日內A的線性回歸預測和10日線性回歸預測} 上漲:if(A>分水嶺,A,分水嶺),LINETHICK2,colorred; 下跌:if(A<分水嶺,A,分水嶺),LINETHICK2,COLORGREEN; 分水嶺1:forcast(forcast(A,31),10),linethick2,COLORYELLOW;{求出31日內A的線性回歸預測和10日線性回歸預測} 見圖:
(4)、SLOPE 線性回歸斜率 用法:SLOPE(X,N)為X的N周期線性回歸線的斜率。例如:SLOPE(CLOSE,10)表示求10周期線性回歸線的斜率。請看指標: XLB:forcast(V,8)/EMA(forcast(V,36),7);{forcast(V,8)求8周期線性回歸預測} XLL:if(slope(XLB,2)>0,slope(XLB,2)*XLB,0),linethick2;{slope(XLB,2)求2周期線性回歸線的斜率} {排序,用於抓住量比放大,正在快速上漲的股。} 見圖:
(5)、STD 估算標準差 用法:STD(X,N)為X的N日估算標準差。例如:STD(CLOSE,10),求10周期收盤價的估算標準差。請看指標: var1:=ema((high+low+close)/3,3); 重心: var1,colorwhite; varb:=amount/(100*vol); varc:=ma(varb,34); vard:=ma(close,26); 通道: (vard+varc)/2, coloryellow; 壓力l: vard+2*std(close,49), colorred;{求49周期收盤價的估算標準差} 支持l: (vard-2*std(close,26)),colorgreen;{求26周期收盤價的估算標準差} 通道*1.062,colorff00ff; 通道*0.938,colorff00ff; vare:=ma(winner(close),5)*100; 頂: drawtext(vare>60 and high>壓力l,high,『賣『), color00ff00; 底: drawtext(vare<15 and cross(var1,通道),low,『買『),colorwhite; 見圖:
(6)、STDP 總體標準差 用法:STDP(X,N)為X的N日總體標準差。例如:STDP(CLOSE,10),求10周期收盤價的總體標準差。請看指標: VAR1:=AMOUNT/VOL/100; VAR2:=(3*HIGH+LOW+OPEN+2*CLOSE)/7; VAR3:=SUM(AMOUNT,34)/VAR1/100; VAR4:=DMA(VAR2,VOL/VAR3); VAR5:=100*(C-VAR4)/VAR4; 次強上軌:(MA(VAR5,20)+STDP(VAR5,20)),COLORRED;{STDP(VAR5,20)求20周期var5的總體標準差} 次強下軌:(MA(VAR5,20)-STDP(VAR5,20)),COLORRED;{STDP(VAR5,20)求20周期var5的總體標準差} 強弱線:(次強上軌+次強下軌)/2,POINTDOT,COLORYELLOW; 強勢區上軌:(MA(VAR5,20)+1.7*STDP(VAR5,20)),COLOR10FFFF;{STDP(VAR5,20)求20周期var5的總體標準差} 強勢區下軌:(MA(VAR5,20)-1.7*STDP(VAR5,20)),COLOR10FFFF;{STDP(VAR5,20)求20周期var5的總體標準差} 標準線:VAR5,COLORWHITE; 見圖:
下面這2個函數用的比較少,略做簡單介紹: (7)、VAR 估算樣本方差 用法:VAR(X,N)為X 的N日估算樣本差。 (8)、VARP 總體樣本方差 用法:VARP(X,N)為X的N日總體樣本方差。1、IF 條件函數 根據條件求不同的值。 用法:IF(X,A,B)若X不為0則返回A,否則返回B。 例如:IF(CLOSE>OPEN,HIGH,LOW),表示該周期收陽則返回最高值,否則返回最低值。 2、CROSS 交叉函數 CROSS(A,B) A:變數或常量,判斷交叉的第一條線。 B:變數或常量,判斷交叉的第二條線。 例如:CROSS(MA(CLOSE,5),MA(CLOSE,10)),5日均線與10日均線金叉;CROSS(CLOSE,12),價格由下向上突破12元。 上面這兩個函數我們在前面已經講過,在此就不做介紹了。講一講下面幾個邏輯函數。 下面這幾個邏輯函數比較好理解,用法簡單,只是用的很少。 3、ISDOWN 當日下跌 該周期是否收陰。 用法:ISDOWN當收盤<開盤時,返回值為1,否則為0。 4、ISEQUAL 當日平盤 該周期是否平盤。 用法:ISEQUAL當收盤=開盤時,返回值為1,否則為0。 5、ISUP 該周期是否收陽。 用法:ISUP當收盤>開盤時,返回值為1,否則為0。請看指標: Var1:=EMA(CLOSE,3); Var2:=EMA(CLOSE,21); Var3:=BARSLAST(CROSS(Var2,Var1))>15; Var4:=VOL>MA(VOL,5)*2 AND VOL<MA(VOL,5)*5; Var5:=CROSS(Var1,Var2) AND ISUP AND Var4 AND Var3;{交叉(var1,var2) 並且 當日上漲 並且VAR4 並且VAR3} 黑馬:if(Var5,80,0),stick,linethick4,colorf00ff0; drawtext(Var5,70,『黑馬!『),colorf00ff0; 見圖:
6、NOT 求邏輯非 NOT(X) 求邏輯非,返回非X,即當X=0時返回1,否則返回0。 例如:NOT(ISUP),是否平盤或收陰。請看指標: XX2:=(MA(CLOSE,80)-MA(CLOSE,13)/3); 神奇線: MA((CLOSE-XX2)/XX2,1); 買點1: IF(CROSS(神奇線,0) AND LOW/REF(HIGH,1)<1.012,0.5,0), STICK,COLORWHITE; 穩賺: IF(COUNT(神奇線>REF(神奇線,1),3)=3 AND COUNT(神奇線<0,10)=10 AND REF(神奇線,3)=LLV(神奇線,10),0.5,0); 買點2: IF(REF(神奇線,2)=LLV(神奇線,20) AND REF(神奇線,2)<0.071 AND REF(神奇線,2)<REF(神奇線,1) AND NOT(REF(LOW,1)>REF(HIGH,2) AND LOW>REF(HIGH,1)) AND CLOSE>REF(CLOSE,1),0.5,0),COLORRED;{這段語句NOT(REF(LOW,1)>REF(HIGH,2)的意思,是否昨天最低價大於前天最高價,這幾個條件都滿足顯示脈衝信號,否則不顯示} DRAWTEXT( 買點1>0,0.2 ,『神奇線『),COLORWHITE; DRAWTEXT( 買點2>0,0.4 , 『神奇線『),COLORRED; 見圖:
(1)、COST 成本分布 用法:COST(10),表示10%獲利盤的價格是多少,即有10%的持倉量在該價格以下,其餘90%在該價格以上為套牢盤,該函數僅對日線分析周期有效。 (2)、WINNER 獲利盤比例 用法:WINNER(CLOSE)表示以當前收市價賣出的獲利盤比例。例如:返回0.1表示10%獲利盤:WINNER(10.5)表示10.5元價格的獲利盤。該函數僅對日線分析周期有效。 COST,成本。WINNER,優勝者,獲利。這兩個函數兩者互相換算。COST是根據獲利盤估算價格,WINNER是根據價格估算獲利盤。之所以說估算,是因為要精確算,必須把每筆成交的價格和成交量都記錄下來,一般這是很難做到的。就算能做到,籌碼分布方面的技術分析有效么?這就看各人自己的取捨了,股市中目前還沒有發現包賺不賠的技術指標。示例: COST(WINNER(C)*100); 此兩者趨於相等。也說明這兩個函數支持序列變數。指標示例: var1:=COST(10); var2A:=(CLOSE-var1)/var1*100; var2B:=COUNT(var2A<-2.05,3)*1; 主力吸貨: IF(var2B>=3,10,0),COLORWHITE;
平均成本價的計算。將剛好完全換手的每筆成交量和成交價格相乘,然後除以這期間總的成交量,即為平均成本價。示例: 平均成本價格:COST(50); AA:=SUMBARS(VOL,CAPITAL); 平均成本價:SUM(C*V,AA)/SUM(V,AA); 實際上這兩種方法都是估算出來的,後者的誤差可能更大一些。相當於一箱蘋果是2元一斤,另兩箱蘋果是5元一斤。三箱蘋果的平均價格就是(2*1+5*2)/(1+2)=4元。 這有點統計學中的調和平均值的味道了。籌碼分布,要搞得複雜,可以計算中位值、眾位值,研究正態分布、偏態分布,還有集中度、穿透力,當真是花樣繁多,只能留給有興趣的朋友自己研究了。 籌碼分布的峰位在哪個價格區域,是籌碼分布愛好者很想知道的一個指標。用COST可以估算出來,留作思考題吧。 (3)、PEAK 前M個波峰值――――――前M 個ZIG轉向波峰值。用法:PEAK(K,N,M)表示之字轉向ZIG(K,N)的前M個波峰的數值,M必須大於等於1。例如:PEAK(1,5,1)表示%5最高價ZIG轉向的上一個波峰的數值。示例: a1:PEAK(1,5,1);{表示%5最高價ZIG轉向的上一個波峰的數值} a2:PEAK(MA(C,20),5,1);{表示均線的5%的ZIG轉向的上一個波峰的數值} (4)、PEAKBARS 前M個波峰位置――――――前M個ZIG轉向波峰到當前距離。用法:PEAKBARS(K,N,M)表示之字轉向ZIG(K,N)的前M個波峰到當前的周期,M必須大於等於1。例如:PEAKBARS(0,5,1)表示%5開盤價ZIG轉向的上一個波峰到當前的周期數。示例: a1:PEAKBARS(1,5,1);{表示%5開盤價ZIG轉向的上一個波峰到當前的周期數} a2:PEAKBARS(MA(C,20),5,1);{表示均線的5%的ZIG轉向的上一個波峰到當前的周期數} (5)、SAR 拋物轉向 用法:SAR(N,S,M0,N為計算周期,S為步長,M為極值。例如:SAR(10,2,20)表示計算10日拋物轉向,步長為2%,極限值為20%。 附、SAR的畫法。 SAR(N,S,M),參數:N為計算天數,STEP=調整係數×100,MAXP=調整係數上限×100。 以sar(5,2,20),circledot;用在日線中為例。 SAR只跟K線中的H、L有關,與O、C無關。 1、起畫點 當N取5時,起畫點就在第六根K線上。第一步要做的事,就是由第一根K線到第五根K線判斷是看漲還是看跌。如是看漲,就要把起畫點畫成看漲SAR,如是看跌,就要把起畫點畫成看跌SAR。 A:(H-REF(H,1)+L-REF(L,1))>0 AND BARSCOUNT(C)=2; 如果A成立,則先畫看跌SAR(SAR在K線之上);如果A不成立,則先畫看漲SAR(SAR在K線之下)。這是我的觀察所得,各位不妨去看看是不是如此。就是說不管N取多少,起畫點是根據第一、二根K線上的H、L決定的。 2、看漲SAR 第一個看漲SAR的值,是前五天的最低價,即REF(LLV(L,5),1);然後看看SAR值是不是比L小,是的話繼續,否則在下一天跳轉。第二個看漲SAR的值是SAR(2)=SAR(1)+AF1*(REF(HHV(H,5),1)-SAR(1)), SAR(1)即為第一個看漲SAR的值。AF1是調整係數,如果當天的H比前五天的最高H大,則要+0.02(得0.04),否則還是取0.02。然後看看SAR值是不是比L小,是的話繼續,否則在下一天跳轉。 第三個看漲SAR的值,是 SAR(3)=SAR(2)+AF2*(REF(HHV(H,5),1)-SAR(2)), 計算方法與求第二個看漲SAR類同,只是當天的H是否比前五天的最高H大還要判斷,是的話AF2=AF1+0.02,否則取AF1。 然後看看SAR值是不是比L小,是的話繼續,否則在下一天跳轉。 因為沒有跳轉的話,REF(HHV(H,5),1)-SAR(2)的值肯定大於0,所以看漲SAR一直是向上升的。 如此循環往複,直到跳轉條件成立就跳轉,去畫看跌SAR了。而調整係數AF的值,經過反覆累積的話,最大是不能超過0.2的。 1、看跌SAR 第一個看跌SAR的值,是前五天的最高價,即REF(HHV(H,5),1);然後看看SAR值是不是比H大,是的話繼續,否則要在下一天跳轉。 第二個看跌SAR的值,是 SAR(2)=SAR(1)+AF1*(REF(LLV(L,5),1)-SAR(1)), SAR(1)即為第一個看跌SAR的值。AF1是調整係數,如果當天的L比前五天的最低L小,則要+0.02(得0.04),否則還是取0.02。然後看看SAR值是不是比H大,是的話繼續,否則在下一天跳轉。 第三個看跌SAR的值,是SAR(3)=SAR(2)+AF2*(REF(LLV(L,5),1)-SAR(2)), 計算方法與求第二個看跌SAR類同,只是當天的L是否比前五天的最低L小還要判斷,是的話AF2=AF1+0.02,否則取AF1。 然後看看SAR值是不是比H大,是的話繼續,否則在下一天跳轉。 因為沒有跳轉的話,REF(LLV(L,5),1)-SAR(2)的值肯定小於0,所以看跌SAR一直是向下跌的。 如此循環往複,直到跳轉條件成立就跳轉,去畫看漲SAR了。而調整係數AF的值,經過反覆累積的話,最大是不能超過0.2的。 SAR沒有未來之嫌,但是N、S、M的調整對SAR影響都很大,感覺靈敏性過大。大智慧有這個主圖指標,請參考。 (6)、SARTURN 拋物轉向點 用法:SARTURN(N,S,M),N為計算周期,S為步長,M為極值,若發生向上轉向則返回1,若發生向下轉向則返回-1,否則為0,其用法與SAR函數相同。說明:若發生向上轉向則返回1,若發生向下轉向則返回-1,否則為0, 由於可以返回三個值,就可以判斷是向上的跳轉還是向下的跳轉。示例: SA:=SAR(3,2,20); A:=SARTURN(3,2,20); B:=A=1; D:=A=-1; E:=BARSLAST(B)>BARSLAST(D); F:=NOT(E); DRAWTEXT(e,sa,『°『); DRAWTEXT(f,sa,『°『);
(7)、TROUGH 前M個波谷值――――――前M個ZIG轉向波谷值。用法:TROUGH(K,N,M)表示之字轉向ZIH(K,N)的前M個波谷的數值,M必須大於等於1。例如:TROUGH(2,5,2)表示%5最低價ZIG轉向的前2個波谷的數值。示例: a1:TROUGH(2,5,2);{表示%5最低價ZIG轉向的前2個波谷的數值} a2:TROUGH(MA(C,20),5,2);{表示均線的5%的ZIG轉向的前2個波谷的數值} (8)、TROUGHBARS 前M個波谷位置――――――前M個ZIG轉向波谷到當前距離。用法:TROUGHBARS(K,N,M)表示之字轉向ZIG(K,N)的前M個波谷到當前的周期數,M必須大於等於1,例如:TROUGHBARS(2,5,2)表示%5最低價ZIG轉向的前2個波谷到當前的周期數。示例: a1:TROUGHBARS(2,5,2);{表示%5最低價ZIG轉向的前2個波谷到當前的周期數} a2:TROUGHBARS(MA(C,20),5,2);{表示均線的5%的ZIG轉向的前2個波谷到當前的周期數} (9)、ZIG 之字轉向 用法:ZIG(K,N),當價格變化量超過N%時轉向,K表示0:開盤價,1:最高價,2:最低價,3:收盤價。例如:ZIG(3,5)表示收盤價的5%的ZIG轉向。示例: ZIG(3,5);{表示收盤價的5%的ZIG轉向} ZIG(MA(C,20),5);{表示均線的5%的ZIG轉向} 1、K可以作為參數調整,也可以直接寫其它的指標線,如"kd.k"。N也可以做成參數調整。 2、在K線中,ZIG只能對一根指標線進行轉向處理。要想高點在H位置,低點在L位置,ZIG是做不到的。 3、ZIG輸出的是數值,不是直線。 4、ZIG一般使用在看波浪、看形態上。 5、ZIG到底是如何體現「未來」的?即它是怎麼畫出來的?見說明。 附、ZIG線的畫法。 假設在手工畫線年代,ZIG線是怎麼畫出來的,實際上也介紹了演算法。 以zig(3,5),即收盤價轉向,轉向要求5%,可以任意找只股票舉例。 從第一根K線上的收盤價到當天的C,和以前的K線的最低C值相比的漲幅,或與最高C值相比的跌幅超過5%時,才在當天作出記號,稱之為拐點。漲幅超過5%的,稱為向上的拐點,跌幅超過5%的,稱為向下的拐點。先有向下的拐點,於是第一根K線上的C值,就是高點了。在向下的拐點出現之後的每根K線上,相比較記錄最低之C值。然後把當天的C值,與記錄的最低C值比較,看有沒有漲幅超過5%。滿足條件之後向上出現拐點。向上的拐點出現之後,回過頭,在與上一個向下的拐點之間,找到一個最低的C,作為ZIG的低點。產生向上拐點之後,就在之後的K線中記錄C的最大值。當出現當天的C值,與最大C值相比,跌幅超過5%時,產生向下的拐點。於是從向下的拐點回過頭來,再與上一個向上的拐點之間,找到一個最高的C,作為ZIG的高點。如此循環。也就是說,ZIG的高點和低點,是根據向上和向下的拐點出來之後,回溯過去才找到的。這就是ZIG未來數據的實質所在。ZIG函數是未來函數之第二大嫌疑。在交易系統中用未來函數,就是用BACKSET或ZIG,可以使許多人「夢想成真」。由於「未來函數」在交易系統中可以大大作弊,才使其在指標和選股公式中也一起「臭名昭著」。 判斷未來數據的簡單方法: 1、含有未來數據指標的基本特徵是買賣信號不定,常常是某日發出了買入信號,第二日如果繼續下跌該信號就會消失,這也正是該指標的危害所在,從歷史上看信號很准,但應用時切不可信以為真。這個特徵也是驗證一個指標是否含有未來數據的基本方法。大智慧能夠帶來未來數據的函數不多,下面列出全部可能的函數,如果公式中含有這些函數就要警惕,需要說明的是含有這些函數不一定表明就含有未來數據,還要分析清楚它的詳細演算法才能確定。 ZIG之字轉向, BACKSET(X,N),若X非0,則將當前位置到N周期前的數值設為1。 PEAK 前M個ZIG轉向波峰值 PEAKBARS 前M個ZIG轉向波峰到當前距離。 TROUGH前M個ZIG轉向波谷值。 TROUGHBARS 前M個ZIG轉向波谷到當前距離。 2、驗證指標是否含有未來數據的方法: 前面已經提到基本方法是看信號是否確定,即一個信號出現後是否會隨著未來k線圖的走勢消失或指標線發生變化。當然這種方法不能立刻知道是否含有未來數據,需要使用一段時間才能判定。 另一種方法是搞清公式的演算法,是否含有未來數據立刻便知。 3、可能帶來未來數據函數的用途: 事實上,設計前面列舉的這些函數時,並不是為使用未來數據的,在公式中恰當運用不會帶來未來數據。在指標的使用當中,它僅做為一種參考工具來用,當指標發出信號時,還是加以分析它發出這個信號是不是合理,等,如有的指標在實戰中發現當它發出信號時,可能觀察1到3天量能變化等,因為這個指標發出信號時只是提示你股價振蕩幅度在減小,底可能在未來的幾天內完成,如果底部沒有完成跡象,信號會消失,等到下一個環節,股價振蕩幅度小時在發出信號,這就是某個指標的結果,還有就是指標請不要用於股價大幅殺跌行情中,並對個股業績行業等進行研究,說這麼多隻想了解指標中的未來數據,因為如果正確理解和使用它並沒有壞處。 4、未來數據主要有以下兩種類型: 第一種類型:在某一天發出買入信號,幾天後如股票上漲則提示當時的信號成功,如股票下跌則信號消失。投資者根本無所適從,更不要說盈利。 第二種類型:如果今天股票上漲,會在幾天前低價位的某一天出現買入信號。你會經常看到有信號成功,但永遠也無法介入,因為沒有人能買到幾天前的股票。這種手法比較隱蔽,許多號稱沒有使用未來數據、信號不會消失的公式使用的就是這種方法。 檢查未來數據的方法: 1、如果公式中使用了zig,backset,week,month,year,troughb,trough,peak等函數語句,可以判定使用了未來數據。 2、通過股軟來判斷,如飛狐,分析家中的「時空隧道」或專門的軟體來判斷。一、大盤函數 INDEXA 表示同期大盤的成交額。 INDEXADV 表示同期大盤的上漲家數。 INDEXC 表示同期大盤的收盤價。 INDEXDEC 表示同期大盤的下跌家數。 INDEXH 表示同期大盤的最高價。 INDEXL 表示同期大盤的最低價。 INCEXO 表示同期大盤的開盤價。 INDEXV 表示同期大盤的成交量。 引用個股數據時使用下列格式:」股票代碼$數據」,在以上格式當中調用CLOSE、VOL、AMOUNT等等,例如,」Z000002$VOL」表示000002該股本周期的成交量。同時大盤也可視為一隻個股來引用,例如,上證」H000001$CLOSE」表示為大盤本周期的收盤價,深市」Z399001$CLOSE」同樣表法大盤本周期的收盤價。 指標示例一: {均衡定價 參數 m:1,2,1 (m表示半年報)} 均衡定價:(FINANCE(34)*0.32+3.8+FINANCE(33)*3.9*m)*"H000001$CLOSE"/1000,coloryellow,linethick2;{調用了上證」H000001$CLOSE」大盤本周期的收盤價} 股價上限:均衡定價*1.8,colorblue; 股價下限:均衡定價/1.8,colorblue; 股票價格:close,colorffcc66,linethick2;
指標示例二: {拉升在即} A:=((VOL)/(CAPITAL))*(100); S:((MA(A,30))/(MA(INDEXA,10)))*(MA(INDEXA,60)),Color00FFFF;{引用了10日、60日大盤的成交額} Y:((MA(A,120))/(MA(INDEXA,10)))*(MA(INDEXA,60)),ColorFF00FF;{引用了10日、60日大盤的成交額} X:1,Color00AA00; 如圖:
二、常用函數 (1)、CAPITAL 流通盤大小 CAPITAL,返迴流通盤大小,單位為手。對於A股得到流通A股,B股得到B股總股本,指數為0。 該函數返回常數。示例: 流通盤萬股:CAPITAL/100; 換手率:100*VOL/CAPITAL;{VOL為當期成交量,CAPITAL為流通股本} (2)、VOLUNIT 每手股數 VOLUNIT,返回每手股數。對於股票值為100,債券為10。 該函返回常數。 (3)、HOLDEDRNUM 取得該周期散戶人數評估值。用法:HOLDEDRNUM (4)、TYPE 股票類別 用法:TYPE,返回類別;指數為0;A股為1;B股為2;國債為3;基金為4;其它為5;注意:該函數返回常數。 (5)、PRECISION 數據精度。用法:TYPE 返回數據精度類別;基金精度為3,其它為2。注意:該函數返回常數。 財務數據函數 動態行情: 財務指標: DYNAINFO(3)昨收 FINANCE(1)總股本(萬股) DYNAINFO(4)今開 FINANCE(2)國家股(萬股) DYNAINFO(5)最高 FINANCE(3)發起人法人股 DYNAINFO(6)最低 FINANCE(4)法人股 DYNAINFO(7)最新 FINANCE(5)B股 DYNAINFO(8)總手 FINANCE(6)H股 DYNAINFO(9)現手 FINANCE(7)目前流通 DYNAINFO(10)總額(持倉) FINANCE(8)職工股 DYNAINFO(11)均價 FINANCE(9)A2轉配股 DYNAINFO(12)漲跌 FINANCE(10)總資產(千元) DYNAINFO(13)振幅 FINANCE(11)流動資產(千元) DYNAINFO(14)漲幅 FINANCE(12)固定資產(千元) DYNAINFO(15)委比 FINANCE(13)無形資產(千元) DYNAINFO(16)委差 FINANCE(14)長期投資(千元) DYNAINFO(17)量比 FINANCE(15)流動負債(千元) DYNAINFO(18)委買 FINANCE(16)長期負債(千元) DYNAINFO(19)委賣 FINANCE(17)資本公積金(千元) DYNAINFO(20)委買價 FINANCE(18)每股公積金 DYNAINFO(21)委賣價 FINANCE(19)股東權益(千元) DYNAINFO(22)內盤 FINANCE(20)主營收入(千元) DYNAINFO(23)外盤 FINANCE(21)主營利潤(千元) DYNAINFO(24)漲速 FINANCE(22)其他利潤(千元) DYNAINFO(25)買一量 FINANCE(23)營業利潤(千元) DYNAINFO(26)買二量 FINANCE(24)投資收益(千元) DYNAINFO(27)買三量 FINANCE(25)補貼收入(千元) DYNAINFO(28)買一價 FINANCE(26)營業外收支(千元) DYNAINFO(29)買二價 FINANCE(27)上年損益調整(千元) DYNAINFO(30)買三價 FINANCE(28)利潤總額(千元) DYNAINFO(31)賣一量 FINANCE(29)稅後利潤(千元) DYNAINFO(32)賣二量 FINANCE(30)凈利潤(千元) DYNAINFO(33)賣三量 FINANCE(31)未分配利潤(千元) DYNAINFO(34)賣一價 FINANCE(32)每股未分配 DYNAINFO(35)賣二價 FINANCE(33)每股收益 DYNAINFO(36)賣三價 FINANCE(34)每股凈資產 DYNAINFO(37)換手率 FINANCE(35)調整每股凈資(千元) DYNAINFO(38)5日均量 FINANCE(36)股東權益比率 DYNAINFO(39)市盈率 FINANCE(37)凈資收益率 DYNAINFO(40)成交方向 DYNAINFO(41)買四量 DYNAINFO(42)買四價 DYNAINFO(43)賣四量 DYNAINFO(44)賣四價 DYNAINFO(45)持倉量(暫無數值) DYNAINFO(46)買五量 DYNAINFO(47)買五價 DYNAINFO(48)賣五量 DYNAINFO(49)賣五價 指標示例一: VOL,VOLSTICK; MA(VOL,5); MA(VOL,10); 流通:capital*0.000001,pointdot; 凈資產:finance(34); 收益:finance(33); MA(VOL,34); 如圖:
指標示例二: {量比漲幅選股 換手N:1 10 5} var1:=dynainfo(14)>=1;{漲幅>=2%} var2:=dynainfo(17)>=2;{量比>=2} var3:=dynainfo(37)>=換手N;{換手>=5%} var1 and var2 and var3 三、時間函數 1、DATE 年月日 函數返回有效值範圍為(700101-1341231),表示19700101-20341231,取得該周期從1900以來的年月日。 2、DAY 日期 函數返回有效值範圍為(1-31),取得該周期的日期。 3、HOUR 小時 函數返回有效值範圍為(0-23),對於日線及更長的分析周期值為0,取得該周期的小時數。 4、MINUTE 分鐘 函數返回有效值範圍為(0-59),對於日線及更長的分析周期值為0,取得該周期的分鐘數。 5、MONTH 月份 函數返回有效值範圍為(1-12),取得該周期的月份。 6、TEME 時分秒 函數返回有效值範圍為(000000-235959),取得該周期的時分秒。 7、WEEK 星期 函數返回有效值範圍為(0-6),0表示星期天,取得該周期的星期數。 8、YEAR 年份 函數返回有效值範圍為(1970-2038),取得該周期的年份。 舉例: 1、區間統計指標示例: 例如,要取得2002年2月1日到2002年12月30日間的最低價。思考一下,一段時間的最低價必然是該段時間內每個分析周期的最低價中最小的那個。所以我們要引用的數據是該段時間各分析周期的最低價,而不需要用到開盤價、收盤價或最高價;還要將不需要的數據,即區間外的數據設為0。語句為: LL:=IF(YEAR=2002 AND MONTH>=2 AND MONTH<=12,LOW,0);{LL賦值:如果年份>=2002 AND 月份>=2 AND 月份<=12,若是返回最低價,否則返回0} 該語句用一個條件函數來判斷時間是否處於規定區間,我們再用LLV函數,就可求得該段時間最低的最低價: LLV(LL,0);完整指標就是: LL:=IF(YEAR=2002 AND MONTH>=2 AND MONTH<=12,LOW,0); LLV(LL,0); 2、時間限制指標示例: Var1:=IF(YEAR>=2034 AND MONTH>=1,0,1);{VAR1賦值:如果年份>=2034 AND 月份>=1,返回0,否則返回1} {這個語句在配合其它語句使用的情況下可起到時間限制作用} VarC:=MA(SUM(IF(CLOSE>REF(CLOSE,1),VOL,IF(CLOSE<REF(CLOSE,1),0-VOL,0)),0)/25000,2)*Var1; {VARC賦值:如果收盤價>昨收,返回成交量(手),否則返回(如果收盤價<昨收,返回0-成交量(手),否則返回0)的歷史累和/25000的2日簡單移動平均*VAR1} {在這句用到了VAR1,當VAR1符合條件即:年份>=2034 和 月份>=1時,則VAR1=0,這樣以後計算出來的結果全是0,這時該指標便毫無意義了,起到了時間限制的作用。} 分界線: EMA(VarC,26)*Var1, LINETHICK2, COLORf0f000; 莊家線1: EMA(VarC,1)*Var1, COLORRED; 莊家線2: EMA(VarC,6)*Var1, COLORYELLOW; 莊家線3: EMA(VarC,12)*Var1, COLOR00ff00 ; 例如:每月15日顯示一行或一個字。 a1:=if(month>=1 and day=15,15,0); DRAWTEXT(a1,10,『漲『);什麼是條件選股? 簡單講,就是按照您設定的條件用電腦幫助您完成一些太多太複雜的挑選--比如您有一些好的心得和方法,可是有1300多隻股票,您就是有100雙眼睛有時也不一定可以看得過來,這時條件選股公式+電腦就派上用場了!編寫條件選股公式其實很簡單,它是在技術公式的基礎上編寫而成的,我們還可以將任意一個技術指標公式改寫成選股公式。值得注意的是,選股公式與技術公式的區別是它只有一個返回值,通俗的講就是選股公式只有一個不帶「=」號的語句,其它語句都要有「=」號,否則在測試時會提示"選股公式必須只有一個返回值",如圖: 好了,我們開始建立一個選股公式。點擊」條件選股「選項,選擇」新建「,開始編寫,寫完後給指標起個名字,點擊測試通過後保存。我們舉例來說明: {龍行KDJ} RSV:=(CLOSE-LLV(LOW,7))/(HHV(HIGH,7)-LLV(LOW,7))*100; 短K:SMA(RSV,3,1),COLORFF00FF; 短D:SMA(短K,3,1),COLORYELLOW; RSV1:=(CLOSE-LLV(LOW,38))/(HHV(HIGH,38)-LLV(LOW,38))*100; 長K:SMA(RSV1,5,1),COLORRED; 長D:SMA(長K,10,1),COLOR66CC33; 18,COLORWHITE; 85,COLORBLUE; STICKLINE(短K>短D,短K,短D,4,0),COLORYELLOW; STICKLINE(短K<=短D,短K,短D,4,0),COLORGREEN; STICKLINE(長K>長D,長K,長D,4,0),COLORRED; STICKLINE(長K<=長D,長K,長D,4,0),COLOR669933; 上面是《龍行KDJ》技術指標,根據這個指標改編成選股指標。 {龍行短線選股} RSV:=(CLOSE-LLV(LOW,7))/(HHV(HIGH,7)-LLV(LOW,7))*100; 短K:=SMA(RSV,3,1); 短D:=SMA(短K,3,1); cross(短K,短D) {配合龍行kdj指標使用} {龍行長線選股} RSV:=(CLOSE-LLV(LOW,38))/(HHV(HIGH,38)-LLV(LOW,38))*100; 長K:=SMA(RSV1,5,1); 長D:=SMA(長K,10,1); cross(長K,長D) {配合龍行KDJ指標使用} 看明白了吧!我們把一個技術指標改編成了2個選股指標,而且每個只用了4條語句就OK啦!那麼我們就可以開始選股啦,把選出的股票存放在大智慧自選1板塊里,用龍行KDJ技術指標對照比較一下,看看選出的股票走勢都是在技術指標的什麼位置上,是處在低位還是處在階段低位,你就可以根據判斷擇機介入了。凡是用技術指標改編的選股公式建議你都這樣做。條件選股的優勢在於語句少、速度快,凡是符合條件的股票一個不漏的選出來存放在自選1或自選2等自定義的板塊里供你挑選。下面選擇一些各種走勢特徵和形態特徵的指標供朋友參考。 一、放量、縮量(成交量函數為VOL) 1、放量: (1).今天成交量較昨天增加了1倍,表示如下: VOL/REF(VOL,1)>2 (2).今天成交量較10個交易日平均成交量放大了1倍,表示如下: a:=ma(vol,10); Vol/a>2 或者直接用如下公式表示: vol/ma(vol,10)>2; (3).今日的5日均量較10個交易日平均成交量放大了1倍,表示如下: a:=ma(vol,10); b:=ma(vol,5); b/a>2; (4).今日的成交量超過了整個流通盤的5%,表示如下: vol/capital>0.05;{其中capital代表流通盤。} 2、縮量 (1).今日成交量較昨日減少了一半,表示如下: vol/ref(vol,1)<0.5; (2).今日成交量較10個交易日平均成交量減少一倍,表示如下: a:=ma(vol,10); vol/a<2; 或者直接用如下公式表示: vol/ma(vol,10)<2; (3).今日的5日均量較10個交易日平均成交量減少1倍,表示如下: a:=ma(vol,10); b:=ref(a,5); a/b<2; (4).今日的成交量低於了整個流通盤的5%,表示如下: vol/capital<0.05; 二、上漲、下跌 上漲: 今天的漲幅達到5%以上,表示如下: close/ref(close,1)>1.05; 5日均價連續上漲,表示如下: a:=ma(close,5); b:=ref(a,1); b; 下跌: 今天的跌幅達到5%以上,表示如下: close/ref(close,1)<0.95; 5日均價連續下跌,表示如下: a:=ma(close,5); b:=ref(a,1); a<b; (3)、K線的描述 close>open;陽線 close<open;陰線 open>ref(close,1);高開 open<ref(close,1);低開 open>ref(high,1);跳空高開(high為最高價) open<ref(low,1);跳空低開(low為最低價) 三、走勢特徵選股公式的編製 (1)、n日內創新高 hhv(high,n)=hhv(high,0) and barscount(c)>=n; 註:n為指標參數,可在參數設定範圍內設定參數範圍。Hhv(x,n),求n周期內x最高值,n=0則從第一個有效值開始;barscount(x),將當前位置到n周期前的數值設為1,若x非0,則將當前位置到n周期前的數值設為1。 (2)、n日內創新低 llv(low,n)=llv(low,0) and barscount(close)>=n; 注n為指標參數,可在參數設定範圍內設定參數範圍。Llv(x,n),求n周期內x最低值,n=0則從第一個有效值開始;barscount(x)第一個有效數據到當前的天數,例如,barscount(close)以於日線數據取得上市以來總交易日數。 (3)、n日內陰線多於陽線 count(open>close,n)/n<0.5; 註:n為指標參數,可在參數設定範圍內設定參數範圍。同時可以自由編輯裡面的數值(如0.5等 ,達到確定陰線佔全部K線個數的比例)。 (4)、n日內陽線多於陰線 count(open<close,n)/n>0.5; 註:n為指標參數,可在參數設定範圍內設定參數範圍。同時可以自由編輯裡面的數值(如0.5等 ,達到確定陽線佔全部K線個數的比例)。 (5)、n日內上漲多於下跌(第二天開盤高於前一天收盤) count(c>ref(c,1),n)/n>0.5; 註:n為指標參數,可在參數設定範圍內設定參數範圍。同時可以自由編輯裡面的數值(如0.5等 ,達到確定其中比例)。 (6)、n日內上漲少於下跌(第二天開盤低於前一天收盤) count(c>ref(c,1),n)/n<0.5; 註:n為指標參數,可在參數設定範圍內設定參數範圍。同時可以自由編輯裡面的數值(如0.5等 ,達到確定其中比例)。 (7)、連續n日收陽線 up:=close>open; count(up,n)=n; 註:count(x,n),統計n周期中滿足x條件的周期數,若n=0則從第一個有效值開始。n為指標參數,可在參數設定範圍內設定參數範圍。 (8)、連續n日內收陰線 up:=close<open; count(up,n)=n; 註:count(x,n),統計n周期中滿足x條件的周期數,若n=0則從第一個有效值開始。N為指標參數,可在參數設定範圍內設定參數範圍。 (9)、連續n天上漲 count(close>ref(close,1),n)=n; 註:count(x,n),統計n周期中滿足x條件的周期數,若n=0則從第一個有效值開始。N為指標參數,可在參數設定範圍內設定參數範圍。 (10)、連續n天下跌 count(c<ref(c,1),n)=n; 註:count(x,n),統計n周期中滿足x條件的周期數,若n=0則從第一個有效值開始。N為指標參數,可在參數設定範圍內設定參數範圍。 (11)、首次創新高 barssince(c>hhv(if(barscount(c)=1,high,0),0))+1=1; 註:barscount(x),若x非0,則將當前位置到n周期前的數值設為1。 (12)、創歷史新高 hhv(close,0)=close; 註:hhv(x,n),求n周期內x最高值,n=0則從第一個有效值開始。 (13)、創歷史新低 llv(close,0)=close; 註:llv(x,n),求n周期內x最小值,n=0則從第一個有效值開始。 (14)、單日放量 a:=ref(ma(vol,5),1); vol/a>n and vol/capital*100>m; 註:n為指標參數,代表今日成交量和前一日的5日均量的比值,可在參數設定範圍內設定參數範圍。 (15)、階段縮量 sum(vol,n1)/capital<=n2; 註:n1為要統計的階段時間,n2為縮量比例,可在參數設定範圍內設定參數範圍。 (16)、階段放量 sum(vol,n1)/capital>=n2; 註:n1為要統計的階段時間,n2為y放量比例,可在參數設定範圍內設定參數範圍。 (17)、持續放量 a:=vol>ref(vol,1); count(a,n)=n; 註:其中條件a的含義為成交量較上一交易日放大,n為要統計的階段時間,可在參數設定範圍內設定參數範圍。 (18)、持續縮量 a:=vol<ref(vol,1); count(a,n)=n; 註:其中條件a的含義為成交量較上一交易日縮小,n為要統計的階段時間,可在參數設定範圍內設定參數範圍。 (19)、間隔放量 a:=ma(vol,5); barscount(c)>=n and hhv(a,n)<n1*llv(a,n) and count(vol>n2*a,n)>n3; 註:a.barscount(x)第一個有效數據到當前的天數。Barscount(c)對於日線數據取得上市以來總交易日數。 b.完整含義:n日內五日均量的最大值小於最小值的n1倍,成交量大於等於五日均量的n2倍的情況發生的次數多於n3次。 (20)、放量上攻 a:=(c-ref(c,1))/ref(c,1)>=(n/100); sum(vol,n1)/capital>=(n2/100) and count(vol>ref(vol,1),n3 )=n3 and count(a,n3)=n3; 完整含義:每日股價漲幅均大於n%,n1日內累計換手率大於n2%,並且成交量連續在n3日內放大。 (21)、溫和放量上攻 股價小幅上揚 a1:=close/ref(close,1); a2:=a1>1 and a1<1.03; 成交量小幅上揚 b1:=vol/ref(vol,1); b2:=b1>1 and b1<2; c1:=ma(vol,n)/capital<0.05; count(a2 and b2,n)/n>0.6 and c1; 完整公式為: a1:=close/ref(close,1); a2:=a1>1 and a1<1.03; b1:=vol/ref(vol,1); b2:=b1>1 and b1<2; c1:=ma(vol,n)/capital<0.05; count(a2 and b2,n)/n>0.6 and c1; 註:公式分為股價小幅上揚和成交量小幅上揚兩個部分,請在指標編寫時注意其結構。 (22)、突然放量 vol>ref(hhv(vol,n),1*m; 註:當前成交量高於n個周期中最大成交量的m倍。 (23)、平台整理 count(close,0)>n and (hhv(close,n)-llv(close,n))/llv(close,n)<=(n1/100); 註:count(close,0)>n為平台整理n個周期的設定。(hhv(close,n)-llv(close,n))/llv(close,n)<=(n1/100)為平台整理幅度n1%的設定。 (24)、突破長期盤整 ref(((hhv(h,n)-llv(l,n))/llv(l,n))/llv(l,n)),1)<=(n1/100) and c>=ref(hhv(h,n),1) and barscount(c)>n; 註:前n日在上下n1%的幅度內整理:ref(((hhv(h,n)-llv(l,n))/llv(l,n))/llv(l,n)),1)<=(n1/100); 今日突破:c>=ref(hhv(h,n),1); (25)、階段強勢股 a:=sum(if(date-n=0,indexc,0),0); b:=sum(if(date-n1=0,indexc,0)0); e:=sum(if(date-n=0,c,0),0); f:=sum(if(date-n1=0,c,0),0); ((f-e)/e)>((b-a)/a); 註:該公式求的是n日-n1日之間漲幅高於大盤的股票。n、n1參數的表達格式為yymmdd,注意在2000年前的表達為年份的後兩位,例如1999年為99,從2000年開始以100依次向後累加,例如2001年9月14日為1010914,indexc函數表示同期大盤的收盤價,該函數對分筆成交分析周期無效。 (26)、階段弱勢股 a:=sum(if(date=n,indexc,0),0); b:=sum(if(date=n1,indexc,0)0); e:=sum(if(date=n,c,0),0); f:=sum(if(date=n1,c,0),0); ((f-e)/e)<((b-a)/a); 註:該公式求的是n日-n1日之間漲幅低於大盤的股票。n、n1參數的表達格式為yymmdd,注意在2000年前的表達為年份的後兩位,例如1999年為99,從2000年開始以100依次向後累加,例如2001年9月14日為1010914,indexc函數表示同期大盤的收盤價,該函數對分筆成交分析周期無效。 (27)、大盤同步 count((c>o and indexc>indexo) or (c<o and indexc<indexo),n)/n>m/100; 註:含義為n周期中與大盤走勢相同(同收陰線或同收陽線)的例超過m%。此處的o不是數字的零,而是開盤價open的首寫字母o。 (28)、n日內強勢股 a:=(c-ref(o,n))/ref(o,n); b:=(indexc-ref(indexo,n))/ref(indexo,n); a>b and a/b>=m; 註:n日內個股漲幅大於等於大盤漲幅的m倍。 四、形態特徵選股公式的編製 (1)、均線多頭排列 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 and isup; 註:n1、n2、n3、n4j日均線呈多頭排列,isup也可以用close>open表示。 (2)、均線空頭排列 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 and not(isup); 註:n1、n2、n3、n4j日均線呈空頭排列,isup也可以用close<open表示。 (3)、早晨之星 ref(close,2)/ref(open,2<0.95 and ref(open,1)<ref(close,2) and abs(ref(open,1)-ref(close,1)/ref(close,1)<0.03 and close/open>1.05 and close>ref(close,2); 註:早晨之星,這種形態和叫法自然是後市向好,為買進信號。早晨之星由三根K線組成,其順序是: 第一天在下跌過程中已形成一根陰線: ref(close,2)/ref(open,2<0.95 第二天呈裂口下跌,K線實體較短,構成星的主體部分,陰線或陽線均可,有無上下影線均不重要。 ref(open,1)<ref(close,2) and abs(ref(open,1)-ref(close,1)/ref(close,1)<0.03 關鍵是第三根K線必須是陽線,且其長度至少要升至第一根陰線實體(如果能夠「包容」第一根陰線則最好不過了) close/open>1.05 and close>ref(close,2) (4)、強勢整理 a1:=abs(close-open)/open<0.015; a2:=count(a,m)=m; a3:=ref(o,m)<ref(c,m) and ref (c,m)/ref(c,m+1)>1+n/100; a2 and a3; 註:一根實體超過n的長陽,後面跟m個K線實體不超過1.5%的K線。 (5)、高開大陰線 open>close and open/ref(c,1)>=1+m/100 and close/open<=1-n/100; 註:跳空高開m%,當日股價較開盤價跌幅大於n。股價經過一段持續攀升之後,某一日突然跳高開盤: open/ref(c,1)>=1+m/100 後股價一路下行,尾市以接近最低點收市: close/open<=1-n/100 此信號出現,往往意味著股價已形成短期頭部,應注意迴避風險。 (6)、低開大陽線 open<close and open/ref(c,1)<=1-m/100 and close/open>=1+n/100; 註:跳空低開m%,當日股價較開盤價漲幅大於n,其他描述請參見(5)。 (7)、黃昏之星 ref(close,2)/ref(open,2)>1.03 and ref(open,1)>ref(close,2) and abs(ref(open,1)-ref(close,1)/ref(close,1)<0.02 and close/open<0.97 and close<ref(close,2); 註:黃昏之星表示股價回落,是賣出信號,應伺機拋貨。幕星同樣由三根K線組成,其形態和晨星正好相反: 第一天股價繼續上升,拉出一根陽線: ref(close,2)/ref(open,2)>1.03 第二天波動較小,形成一根小陽線或小陰線,構成星的主體部分: ref(open,1)>ref(close,2) and abs(ref(open,1)-ref(close,1)/ref(close,1)<0.02 第三天形成一根包容第二天並延伸至第一天陽線實體: close/open<0.97 and close<ref(close,2) (8)、跳空缺口 high<ref(low,1) or low>ref(high,1); 註:從內容上看,分別是向下跳空缺口和向上跳空缺口。 (9)、均線金叉 a;=ma(c,5); b:=ma(c,10); cross(a,b); 註:前二句是5、10日均線,cross是交叉函數,cross(a,b)表示5日均線與10日均線金叉。 (10)、均線死叉 a;=ma(c,5); b:=ma(c,10); cross(b,a); 註:前二句是5、10日均線,cross是交叉函數,cross(b,a)表示5日均線與10日均線死叉。 (11)、均線粘合 ma1:=ma(c,5); ma2:=ma(c,10), ma3:=ma(c,20); p1:=abs(ma1-ma2)+abs(ma2-ma3); p1/c<m/100 and ma1>ref(ma1,1) and ma2>ref(ma2,1); 註:前三句是三根均線,p1是第一根均線減第二根均線差的絕對值與第二根均線減第三根均線差的絕對值之和,最後一句是p1與收盤價的比值小於一定比率m%(一般該比率為2%以下,同時前二均線今日比昨日上翹。 交易系統指標是通過大智慧的函數及條件所編製的在主圖K線圖上顯示買賣紅綠箭頭的指標,是大智慧在條件選股功能上的一個大的延伸,旨在建立一套完整的交易規則體系,系統可以通過此平台對我們的買入、賣出等操作發出明確的買賣信號指示。 一、 編輯交易系統公式 進入大智慧「公式編輯器」 (1) 、點擊「交易系統」選項,選擇「新建」,可以建立一個新的交易系統。 (2) 、選中一個具體的交易系統,雙擊名稱或者點擊「修改」,可能瀏覽並編輯該系統的公式內容。 二、 交易提示編輯時常用的函數: (1)、前提:交易系統一共包含多頭買入(賣出)、空頭買入(賣出)四種情況,但是由於我們只允許多頭買入、賣出,故我們這裡不討論空頭情況。 (2)、函數 ENTERLONG:多頭買入函數。 EXITLONG:多頭賣出函數。 簡單的交易系統模型應該如下表示: ENTERLONG:條件A; EXITLONG:條件B; 注意:一個完整的交易系統必須有進出兩個條件組成,也就是說是ENTERLONG、EXITLONG或者ENTERSHORT、EXITSHORT(空頭買入、賣出函數)中其中一組組成。 三、 交易系統的編製方法 首先,要確定的是交易系統是多個條件的組合。通過不同條件的疊加、修正,系統自動在滿足我們組合條件的個股K線圖中添加買賣信號。 (1)、均線交易系統 如果個股5日均線上穿10日均線時,我要買入;相反,個股5日均線下穿10日均線我就賣出,這樣的一個思路我們怎麼來編寫交易系統呢?很簡單 {均線交易} a1:=CROSS(MA(CLOSE,5),MA(CLOSE,10));{5日均線上穿10日均線(買入條件)} a2:=CROSS(MA(CLOSE,10),MA(CLOSE,5));{10日均線下穿5日均線(賣出條件)} ENTERLONG:CROSS(MA(CLOSE,5),MA(CLOSE,10));{多頭買入ENTERLONG:條件a1} EXITLONG:CROSS(MA(CLOSE,10),MA(CLOSE,5));{多頭賣出EXITLONG:條件a2} 同時按照自己的需求選擇正確的介入點,如果不作選擇,系統將默認在滿足條件時發出提示信號。 為了方便修改指標參數,也可以將5日均線、10日均線設定成參數:N(1 100 5)和M(1 100 10),並將其默認為5、10。參數自述中加上「短期均線上穿長期均線買入,長期均線上穿短期均線賣出。」 那麼在使用該交易系統時,用滑鼠右健點擊發出的買賣提示點,選擇「調整指標參數」,就可以很方便的修改裡面的2條均線參數。 (2)、KDJ交易系統 我們知道如果在K小於20的區域發生了K線上穿過D線是很好的買入條件;相反,K>80並且K線下穿過了D線,則是很好的賣出條件。如何編輯呢? 第一步:在公式編寫欄中分別設定公式的名稱、分析周期、參數的各項內容,並編寫KD的表達式,並且將K、D表達為兩個中間表達式。中間表達式用符號「:=」 RSB:=(CLOSE-LLV(LOW,N))/(HHV(HIGN,N)-LLV(LOW,N)0*100; K:=SMA(RSV,M1,1); D:=SMA(K,M2,1); 第二步:完成交易系統的結構 ENTERLONG:CROSS(K,D) AND K<20; EXITLONG:CROSS(D,K) AND K>80; 完整表達式: RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100; K:=SMA(RSV,3,1); D:=SMA(K,3,1); ENTERLONG:CROSS(K,D) AND K<20; EXITLONG:CROSS(D,K) AND K>80; 測試通過,退出。 但是,假設在一個KD強勢的市場中,如果股價從下方穿過了30日均線,並且當天的成交量有比較明顯的放大,我會買入;我的賣出條件是股價跌下10日均線之下立即拋出。這個交易系統怎麼編輯呢? 買入條件: KDJ強勢: AA:="KDJ.D"(9,3,3);{因為KDJ指標中3個參數默認值分別為9、3、3,故我們應在指標中增加默認值}。 A1:=AA>40; A2:=VOL/MA(VOL,5)>2;{成交量明顯放大,量化為大於5日均量的一倍} A3:=CROSS(CLOSE,MA(CLOSE,30));{股價從下方上穿過了30日均線} ENTERLONG:A1 AND A2 AND A3;{買入條件} A4:=CROSS(MA(CLOSE,5),CLOSE);{股價從上方下穿過了5日均線} EXITLONG:A4 AND COUNT(A1 AND A2 AND A3,20)=1;{賣出條件:注意其後的COUNT( )是用來限定賣出信號發生在買入條件發生的20天內。} 那麼,完整的公式為: AA:="kdj.d"(9,3,3); A1:=AA>40; A2:=VOL/MA(VOL,5)>2; A3:=CROSS(CLOSE,MA(CLOSE,30)); A4:=CROSS(MA(CLOSE,5),CLOSE); ENTERLONG:A1 AND A2 AND A3; EXITLONG:A4 AND COUNT(A1 AND A2 AND A3,20)=1; 測試通過,退出。 交易系統公式最好找自己熟悉的且常用的技術指標(主副圖)或選股指標公式來改編,一是容易上手;二是使用放心。 公式舉例: {均線軌道 參數 N: 1 100 26} VAR1:=MA(CLOSE,N);{對「VAR1」賦值} VAR2:=MA(CLOSE,2*N);{對「VAR2」賦值} VAR3:=MA(CLOSE,3*N);{對「VAR3」賦值} VAR4:=MA(CLOSE,4*N);{對「VAR4」賦值} VAR5:=MA((VAR1+VAR2+VAR3+VAR4)/4,5);{一條多條均線的平均線} 上軌:=VAR5*1.08;{在均線「VAR5」上加上8%的幅度變成「上軌」} 下軌:=VAR5*0.92; {在均線「VAR5」上減去8%的幅度變成「下軌」} {多頭買入} ENTERLONG:CLOSE<下軌; {多頭賣出} EXITLONG:CLOSE>上軌;一、五彩K線簡介 簡單地說五彩K線,就是對於我們事先描述好的K線形態,大智慧將自動地給我們找出來,同時對滿足條件的K線形態賦於顏色,以區別於其他的K線。依據K 線的形態,我們將五彩K線分為「上漲」、「下跌」、「反轉」三大類。 二、五彩K線編輯時常用的函數 (1)、BACKSET(X,N) 五彩K線就是對滿足條件的K線形態賦於顏色,在這裡,我們就需要賦值函數BACKSET賦予滿足條件的K線時段以不同的顏色,區分不滿足條件的其它時段的K線。 函數BACKSET(X,N)中,X是由邏輯判斷語句組合的一個綜合條件,N為你意欲賦予顏色的時間長度,該時間長度的取值法為「從當前周期開始向前到N個當前周期」。 (2)、更改顏色 如果不進行任何的顏色設定,系統將以黃色顯示五彩K線,目前我們在每個指標中以紅色顯示五彩K線。如果要更改顏色,只需要將指標中「COLORRED」改為其他顏色即可。 三、五彩K線的編製方法 五彩K線的編製並沒有和前面介紹的其他公式有很大的區別,一般的公式編輯是作為特定的指標來顯示,五彩K線將滿足條件的連續K線形態賦予顏色,區別於其它的K線,則是把滿足設定條件的個股以其顏色來標明。 下面我們動手編製: 1. 點擊「自編指標」; 2. 點擊「五彩K線」選項; 3. 點擊「新建」按鈕,在「指標編輯器」輸入指標語句。 (一)編寫陽包陰五彩K線 這裡的陽包陰就是說某一天的陽線將前一天的陰線全部包容起來,使得在K線組合上出現前小後大的形態。該動態表明前日所有價位買進而未出局者都能獲利,從而大鼓舞了人氣,為此後的持續上升奠定了基礎,是典型的底部信號。 原理:某一天的陽線將前一天的陰線全部包容起來。 編寫思路: REF(OPEN,1)>REF(CLOSE,1) 上一交易日收陰線。 CLOSE>REF(OPEN,1) 收盤價高於上一交易日開盤價。 OPEN<REF(CLOSE,1) 開盤價小於上一交易日收盤價。 HIGH>REF(HIGH,1) 最高價高於上一交易日最高價。 LOW<REF(LOW,1) 最低價小於上一交易日最低價。 CLOSE>OPEN 收陽線 (CLOSE-OPEN)>(EMA((HIGH-LOW),N)) 為了避免小陰小陽的「陽包陰」,我們設定幅度超過市場N個交易日內平均漲幅。 COLORRED 五彩K線顏色為紅色。 BACKSET(我們假定的條件,2),COLORRED; 把參數N設為5日(N:1 100 5),起一個<陽包陰>的名字,那麼整體的公式為: BACKSET (REF(OPEN,1)>REF(CLOSE,1) AND CLOSE>REF(OPEN,1) AND OPEN<REF(CLOSE,1) AND HIGH>REF(HIGH,1) AND LOW<REF(LOW,1) AND CLOSE>OPEN AND (CLOSE-OPEN)>(EMA((HIGH-LOW),N)),2),COLORRED; (二)、編寫三隻烏鴉五彩K線 在股價頂部,莊家已獲利豐厚,準備出逃時會連續拉出二根、三根或三根以上的小陰線,且每日的K線均低於上一日的收盤價。這促頂部特徵不一定要伴隨著大的成交量,因此具有較大的欺騙性。 原理: 1、連續三支陰線; 2、每日收盤價均向下跌; 3、收盤價接近每日的最低價位; 4、每日的開盤價都下跌。 編寫思路: REF(CLOSE,2)<REF(OPEN,2) 前二個交易日收陰線。 REF(CLOSE,1)<REF(OPEN,1) 前一個交易日收陰線。 CLOSE<OPEN 最後交易日收陰線。 REF(CLOSE,1)<REF(CLOSE,2) AND CLOSE<REF(CLOSE,1) 每日收盤價都向下跌。 REF(OPEN,1)<REF(OPEN,2) AND OPEN<REF(OPEN,1) 每日開盤價都向下跌。 REF(C,3)/REF(O,3)>=1.02 第一根陰線跌幅超過2%。 COLORRED 五彩K線顏色為紅色。 BACKSET(我們假定的條件,3),COLORED 起一個<三隻烏鴉>的名字,那麼整體的公式為: BACKSET(REF(CLOSE,2)<REF(OPEN,2) AND REF(CLOSE,1)<REF(OPEN,1) AND CLOSE<OPEN AND REF(CLOSE,1)<REF(CLOSE,2) AND CLOSE<REF(CLOSE,1) AND REF(OPEN,1)<REF(OPEN,2) AND OPEN<REF(OPEN,1) AND REF(C,3)/REF(O,3)>=1.02,3),COLORRED; 註:三隻烏鴉形態發生在上升趨勢中,三隻烏鴉出現前必須有一段明顯的上升趨勢,無論這段上升趨勢是長或短,在此之後出現該形態才較為有效。三隻烏鴉形態如果出現在前期的形態壓力位附近,則其反轉的可靠性進一步增強。對行情的研判更具意義。在一段上升行情的關健位置在歷史高價位區域,且是重要的支撐阻擋位時,出現三隻烏鴉形態,則其意義顯得重要,在很大的程度上趨勢將反轉下跌。 (三)、編寫紅三兵五彩K線 在本形態中,相繼出現的3根陽線K線組成,它們的收市價一個比一個高(並且每根K線的收市價均接近當日的最高價),表示多頭勢力的加強。如果這樣的3根陽線K線出現在一貫相對穩定的價格階段之後,而且處於一個低價區,則預示著市場將進一步堅挺。 編寫思路: REF(CLOSE,2)>REF(OPEN,2) 第一根K線收陽。 REF(CLOSE,1)>REF(OPEN,1) 第二根K線收陽。 CLOSE>OPEN 第三根K線收陽。 (CLOSE-OPEN)>=REF((CLOSE-OPEN),1) 第三根陽線實體大於第二根陽線實體。 REF((CLOSE-OPEN),1)>=REF((CLOSE-OPEN),2) 第二根陽線實體大於第一根陽線實體。 OPEN>REF(OPEN,1) 第三根陽線開盤高於第二根陽線開盤。 REF(OPEN,1)>REF(OPEN,2) 第二根陽線開盤高於第一根陽線開盤。 COLORRED 標明為紅色。 BACKSET(我們假定的條件,3),COLORED; 起一個<上漲紅三兵>的名字,那麼整體的公式為: BACKSET(REF(CLOSE,2)>REF(OPEN,2) AND REF(CLOSE,1)>REF(OPEN,1) AND CLOSE>OPEN AND (CLOSE-OPEN)>=REF((CLOSE-OPEN),1) AND REF((CLOSE-OPEN),1)>=REF((CLOSE-OPEN),2) AND OPEN>REF(OPEN,1) AND REF(OPEN,1)>REF(OPEN,2),3),COLORRED; 註:如果紅三兵出現在V型底、W底的附近,則構成了底部反轉形態的確認信號;紅三兵形態發生在下降趨勢中,紅三兵出現前必須有一段明顯的下降趨勢,無論這段下降趨勢是長或短,在此之後出現該形態更為有效;紅三兵形態如果出現在底部,是一種底部反轉信號,此時買進;紅三兵形態如果出現在高位,則是一種較為危險的頂部反轉信號,此時不宜買進。 陽線三兵形態有三種類似的構成,表現為一個逐漸而穩定的上升過程,其中每根陽線K線的開市價都處於前一天的陽線實體之內,或者處在其附近的位置上;每一根陽線K線的收市價都應當位於當日的最高點或接近當日的最高點,如果其中第二根和第三根K線,或者僅僅是第三根K線,表現出上漲勢頭減弱的跡象,就構成了一個前方受阻(陽線三兵)形態。在前方受阻形態中,作為上漲勢頭減弱的具體表現,既可能是其中的陽線實體一個比一個小,也可能是後兩根陽線K線具有相當較長的上影線,如果在後兩根K線中,前一個為長長的陽線實體,並且向上創出了新高,後一根只是一個小的陽線K線,那麼就構成了一個(陽線三兵)停頓形態。有時候,這種形態也稱為(陽線三兵)深思形態。 公式舉例: {均線通道 參數 N: 1 100 26} VAR1:=MA(CLOSE,N);{對「VAR1」賦值} VAR2:=MA(CLOSE,2*N);{對「VAR2」賦值} VAR3:=MA(CLOSE,3*N);{對「VAR3」賦值} VAR4:=MA(CLOSE,4*N);{對「VAR4」賦值} VAR5:=MA((VAR1+VAR2+VAR3+VAR4)/4,5);{一條多條均線的平均線} 上軌:=VAR5*1.08;{在均線「VAR5」上加上8%的幅度變成「上軌」} 下軌:=VAR5*0.92; {在均線「VAR5」上減去8%的幅度變成「下軌」} CLOSE<下軌,COLORRED; {小於下軌提示買入紅色} CLOSE>上軌,COLORYELLOW; {高於上軌提示賣出黃色} HIGH>上軌*1.06,COLORBLUE;{高於上軌6%提示清倉藍色} LOW<下軌*0.94, COLORFF00FF;{低於下軌6%提示加倉粉紅色} 大智慧的診斷指標形同於飛狐、分析家的解盤指標,都是通過文字來提供當前盤面個股的趨勢、均線、基本面、K線形態等技術指標的演化狀態的,這對盤面分析很有幫助。 診斷指標是通過引用技術指標來完成文字診斷的。此外,還要用到文字診斷字元串輸出函數,下面分別介紹所用到的函數: 1、IFS 字元串IF函數 用法:IFS(A>B,『返回A『,『返回B『); 該函數返回一個字元串,上例表示: 如果A大於B,則返回『返回A『串,否則返回『返回B『串; 2、STR 數據到字元串轉換函數 用法:STR(X,N); 該函數返回一個字元串.上例子表示:範圍精度為N的X的字元串; 診斷指標分兩部分組成,前一部分是指標公式,後一部分是文字診斷。下面我們用實例來說明指標的編製: {基本面 參數 n1:1 999 50 n2:1 999 10 p1:1 999 20 p2:1 999 50} m1:=FINANCE(33);{每股收益} m2:=FINANCE(34);{每股凈資產} m3:=CAPITAL/1000000;{流通盤} m4:=FINANCE(34);{凈資產} m5:=FINANCE(18);{公積金} m6:=FINANCE(32);{未分配利潤} c1:=c/ref(ema(c,30),30); c2:=indexc/ref(ema(indexc,30),30); l1:=c1/c2*10-10; c3:=c/ma(c,60); c4:=indexc/ma(indexc,60); l2:=c3/c4*10-10; c5:=c/ma(c,120); c6:=indexc/ma(indexc,120); l3:=c5/c6*10-10; L4:=MA(L1+L2+L3,5); DIFF:="MACD.DIFF"(12,26,9); DEA:="MACD.DEA"(12,26,9); MACD:="MACD.MACD"(12,26,9); K:="KD.K"(17,4,4); D:="KD.D"(17,4,4); {以上部分是公式,不能設有返回值,也就是全用":="賦值符。以下部分是引用上面的公式所做的文字診斷} 『【陽之光解盤】『+ 『該股為『+ IFS(FINANCE(33)>=N1/100,『績優、『,『『)+IFS(FINANCE(33)<N1/100 AND FINANCE(33)>=N2/100,『中等業績、『,『『)+IFS(FINANCE(33)<N2/100 AND FINANCE(33)>=0,『績差、『,『『)+IFS(FINANCE(33)<0,『虧損、『,『『)+ IFS(DYNAINFO(39)<=P1 AND DYNAINFO(39)>0,『低市盈率、『,『『)+IFS(DYNAINFO(39)>P1 AND DYNAINFO(39)<=P2,『中等市盈率、『,『『)+IFS(DYNAINFO(39)>P2,『高市盈率、『,『『)+IFS(FINANCE(7)>=S1,『大盤股。『,『『)+IFS(FINANCE(7)<S1 AND FINANCE(7)>=S2,『中盤股。『,『『)+IFS(FINANCE(7)<S2,『小盤股。『,『『)+『流通盤(萬)『+str(m3,4)+『。每股凈資產為『+str(m4,2)+『,收益為『+str(m1,2)+『,市盈率為『+str(c/m1,3)+『,市凈率為『+str(c/m2,2)+『,公積金為『+str(m5,2)+『,未分配利潤為『+str(m6,2)+『。『+ {『 『之間的漢字作為字元串輸出會顯示在評價窗口中,str函數把數字轉化為字元串輸出。數據到字元串轉換函數。 STR 用法:STR(X,N);該函數返回一個字元串.此例子表示:範圍精度為N的X的字元串;} {『 『+} IFS(REF(L4,1)>0 AND REF(L4,1)>REF(L4,2),『該股中長期走勢強於大盤,且近期繼續走強。『,『『)+ IFS(REF(L4,1)>0 AND REF(L4,1)<=REF(L4,2),『該股中長期走勢強於大盤,但近期有所走弱。『,『『)+ IFS(REF(L4,1)<=0 AND REF(L4,1)>REF(L4,2),『該股中長期走勢弱於大盤,但近期有所轉強。『,『『)+ IFS(REF(L4,1)<=0 AND REF(L4,1)<=REF(L4,2),『該股中長期走勢弱於大盤,且近期繼續走弱。『,『『)+ IFS(DIFF>=0,『MACD指標顯示該股處於多頭行情中『,『MACD指標顯示該股處於空頭行情中『)+ IFS(DIFF>=0 AND MACD>=0 AND MACD>REF(MACD,1),『且有加速上漲趨勢。『,『『)+ IFS(DIFF>=0 AND MACD>=0 AND MACD<=REF(MACD,1),『但上漲趨勢有所減緩,短線投資者可逢高賣出,但當回落至均線或其他支撐位時應及時回補。『,『『)+ IFS(DIFF>=0 AND MACD<0 AND MACD>=REF(MACD,1),『,目前正處於回落整理階段,但整理即將結束,可在均線或其他支撐位附近逢低買入,但當整理完成後選擇再次向下突破時應注意及時止損。『,『『)+ IFS(DIFF>=0 AND MACD<0 AND MACD<REF(MACD,1),『,目前正處於回落整理階段,且回落有加速趨勢。『,『『)+ IFS(DIFF<0 AND MACD<=0 AND MACD<REF(MACD,1),『且有加速下跌趨勢。『,『『)+ IFS(DIFF<0 AND MACD<=0 AND MACD>=REF(MACD,1),『但下跌趨勢有所減緩,可在W&R指標大於90時逢低買入,但有可能再次加速下跌,注意及時止損。『,『『)+ IFS(DIFF<0 AND MACD>0 AND MACD>REF(MACD,1),『,目前正處於反彈階段,投資者應保持謹慎。『,『『)+ IFS(DIFF<0 AND MACD>0 AND MACD<REF(MACD,1),『,短線反彈已經結束,應繼續堅持謹慎原則。『,『『)+ IFS(CROSS(DIFF,0),『該股今日從空頭市場轉換為多頭行情。『,『『)+ IFS(CROSS(0,DIFF),『該股今日從多頭市場轉換為空頭行情。『,『『)+ IFS(K>80 AND CROSS(D,K)=0,『KD指標提示該股已經處於超買狀態,如果KD指標死叉應及時賣出。『,『『)+ IFS(K<20 AND CROSS(K,D)=0,『KD指標提示該股已經處於超賣狀態,如果KD指標金叉應及時買入。『,『『)+ IFS(CROSS(K,D) AND LLV(K,3)<20,『KD低位金叉,建議買入。『,『『)+ IFS(CROSS(D,K) AND HHV(K,3)>80,『KD高位死叉,建議賣出。『,『『) {每條語句以+符號結束,指標最後一句沒有+的符號。} 注意:引用技術指標要準確無誤以外,還要注意格式,否則不能通過測試。為了讓朋友更明白一些,再舉一例: {KDJ解盤} K:="KD.K"(17,4,4); D:="KD.D"(17,4,4); 『【陽之光解盤】『+ IFS(K>80 AND CROSS(D,K)=0,『KD指標提示該股已經處於超買狀態,如果KD指標死叉應及時賣出。『,『『)+ IFS(K<20 AND CROSS(K,D)=0,『KD指標提示該股已經處於超賣狀態,如果KD指標金叉應及時買入。『,『『)+ IFS(CROSS(K,D) AND LLV(K,3)<20,『KD低位金叉,建議買入。『,『『)+ IFS(CROSS(D,K) AND HHV(K,3)>80,『KD高位死叉,建議賣出。『,『『) 朋友們可以照貓畫虎自編一個,只要有一個成功了,你也就掌握了方法。
你的讚賞是我堅持原創的動力
讚賞共 0 人讚賞推薦閱讀:
※大智慧乾坤簡化指標公式
※如何看一個男人對你是否真心?10個指標讓你看透他的心~
※大數據將如何影響社會媒體指標和Facebook的廣告策略
※BIAS,一個很少人用但是卻能輕易賺錢的實用指標
※腫瘤標誌物CA153指標解讀