函數(shù):COUNT(X,N) 參數(shù): X為數(shù)組,N為計算周期
說明:統(tǒng)計N周期中滿足X條件的周期數(shù),若N=0則從第一個有效值開始。
示例:COUNT(CLOSE>OPEN,20);表示統(tǒng)計20周期內(nèi)收陽的周期數(shù)。看下面的指標(自己取名吧),有幾條語句用了COUNT函數(shù):
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;
穩(wěn)賺: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;
回調(diào)買入: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;{畫黃色粗線}
買點:條件函數(shù)(交叉函數(shù)(神奇線,0) AND 最低價/向前引用(最高價,1)<1.012,0.5,0), 棒狀線;{在坐標0--0.5處畫棒狀線}
穩(wěn)賺:條件函數(shù)(統(tǒng)計總數(shù)(神奇線>向前引用(神奇線,1),3)=3 AND 統(tǒng)計總數(shù)(神奇線<0,10)=10 AND 向前引用(神奇線,3)=最低值(神奇線,10),0.5,0);{在坐標0--0.5處顯示脈沖信號}
V2:=(收盤價-向前引用(收盤價,1))/向前引用(收盤價,1)*100;
V3:=(指數(shù)平滑移動平均(收盤價, 6)-指數(shù)平滑移動平均(收盤價, 12))*100;
獵莊:V3<13 AND V2>9,棒狀線,ColorFFFFFF,linethick2;{默認在坐標0--1處畫白色棒狀線}
YD:=(統(tǒng)計總數(shù)(收盤價<向前引用(開盤價,1),13)>=10 OR 統(tǒng)計總數(shù)(收盤價<向前引用(收盤價,2),13)>=10) and 統(tǒng)計總數(shù)(最高價/最低價>1.048,13)>=7;
DTJJ:=動態(tài)移動平均(收盤價,成交量/簡單移動平均(成交量,13)/13);
XJPL:=收盤價/DTJJ<0.91;
a1:=YD and XJPL;{兩個條件同時成立}
畫柱線(a1,0,0.50,4,1),colorffcccc;{在坐標0--0.5處畫寬度為4的青色空心棒狀線}
回調(diào)買入:0,colorffcccc;{在指標圖上方顯示'回調(diào)買入'}
aa1:=交叉函數(shù)(向前引用(收盤價,3),向前引用(簡單移動平均(收盤價,20),3));
bb1:=統(tǒng)計總數(shù)(收盤價>簡單移動平均(收盤價,20),3)=3;
cc1:=交叉函數(shù)(收盤價,簡單移動平均(收盤價,20)) and (收盤價-簡單移動平均(收盤價,20))/簡單移動平均(收盤價,20)>0.03;
突破月線:條件函數(shù)((aa1 and bb1) or cc1,0.5,0),棒狀線,linethick2,colorred;{在坐標0--0.5處畫紅色粗棒狀線}
畫圖標((aa1 and bb1) or cc1,0.6,1);{在坐標0.6處顯示紅臉}
下面是幾個運用COUNT函數(shù)的指標例句:
(1)、n日內(nèi)陰線多于陽線
count(open>close,n)/n<0.5;
注:n為指標參數(shù),可在參數(shù)設(shè)定范圍內(nèi)設(shè)定參數(shù)范圍。同時可以自由編輯里面的數(shù)值(如0.5等,達到確定陰線占全部K線個數(shù)的比例)。
(2)、n日內(nèi)陽線多于陰線
count(open<close,n)/n>0.5;
注:n為指標參數(shù),可在參數(shù)設(shè)定范圍內(nèi)設(shè)定參數(shù)范圍。同時可以自由編輯里面的數(shù)值(如0.5等,達到確定陽線占全部K線個數(shù)的比例)。
(3)、n日內(nèi)上漲多于下跌(第二天開盤高于前一天收盤)
count(c>ref(c,1),n)/n>0.5;
注:n為指標參數(shù),可在參數(shù)設(shè)定范圍內(nèi)設(shè)定參數(shù)范圍。同時可以自由編輯里面的數(shù)值(如0.5等,達到確定其中比例)。
(4)、n日內(nèi)上漲少于下跌(第二天開盤低于前一天收盤)
count(c>ref(c,1),n)/n<0.5;
注:n為指標參數(shù),可在參數(shù)設(shè)定范圍內(nèi)設(shè)定參數(shù)范圍。同時可以自由編輯里面的數(shù)值(如0.5等,達到確定其中比例)。
(5)、連續(xù)n日收陽線
up:=close>open;
count(up,n)=n;
注:count(x,n),統(tǒng)計n周期中滿足x條件的周期數(shù),若n=0則從第一個有效值開始。n為指標參數(shù),可在參數(shù)設(shè)定范圍內(nèi)設(shè)定參數(shù)范圍。
(6)、連續(xù)n日內(nèi)收陰線
up:=close<open;
count(up,n)=n;
注:count(x,n),統(tǒng)計n周期中滿足x條件的周期數(shù),若n=0則從第一個有效值開始。N為指標參數(shù),可在參數(shù)設(shè)定范圍內(nèi)設(shè)定參數(shù)范圍。
(7)、連續(xù)n天上漲
count(close>ref(close,1),n)=n;
注:count(x,n),統(tǒng)計n周期中滿足x條件的周期數(shù),若n=0則從第一個有效值開始。N為指標參數(shù),可在參數(shù)設(shè)定范圍內(nèi)設(shè)定參數(shù)范圍。
(8)、連續(xù)n天下跌
count(c<ref(c,1),n)=n;
注:count(x,n),統(tǒng)計n周期中滿足x條件的周期數(shù),若n=0則從第一個有效值開始。N為指標參數(shù),可在參數(shù)設(shè)定范圍內(nèi)設(shè)定參數(shù)范圍。
以上的參數(shù)n只要添入你所需要的周期數(shù)即可,如5、10、30等日期就是一個完整的指標或選股指標。
股市的不隨機規(guī)律,隱藏在統(tǒng)計概率之中。用這兩個函數(shù),可以統(tǒng)計很多概率性的規(guī)律。
比如,以兩天的收盤價相比,昨天是下跌的,今天的下跌的概率是多少?看下面指標:
{當日升跌概率}
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;
從指數(shù)的輸出看,概率更明顯了。
連跌三天之后呢?看下面指標:
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;
規(guī)律就更明顯了。
不要小看這些數(shù)據(jù)。雖然沒有有些“高手”做出的成功率達百分之九十左右的公式那么夸張,但很有意義的。要知道股市中的隨機因素太多,平衡性很強,稍稍的統(tǒng)計偏向,足可作為有用的參考。
飛狐軟件函數(shù)多,運行效率高,公式發(fā)燒友都知道,而其中DATACOUNT函數(shù)非常有用,許多創(chuàng)意通過它很方便就能表達出來,而大智慧沒有這個函數(shù),通過VC編程轉(zhuǎn)DLL方式可以做出這個函數(shù),然而,更簡單的方法是通過大智慧新一代提供的HHVALL函數(shù)在一定程度上可以模仿飛狐的DATACOUNT函數(shù),就是下面這行代碼:
DATACOUNT:=HHVALL(HHV(BARPOS,COUNT(C,0)));
為什么說只能在一定程度上模仿哪,因為這個仿制的DATACOUNT仍是個函數(shù),只不過是個值不變的函數(shù),所以做為數(shù)組下標雖然不會報錯,但沒做用。如果你拉動光標發(fā)現(xiàn)DATACOUNT的值在變,但畫在圖上的DATACOUNT那條線沒變,這應(yīng)該是COUNT(C,0)變化導(dǎo)致。即便它是個“準DATACOUNT”函數(shù),但還是有用的,只要不用于數(shù)組(也許我還沒有找到解決辦法)都可以當DATACOUNT來用,這給公式編寫帶來了一定的幫助,下面舉個例子:
例:找任意區(qū)間最高值和最低值,代碼如下:
{--------示例開始----------}
INPUT:N(5,1,100),M(10,1,100);
DATACOUNT:=HHVALL(HHV(BARPOS,COUNT(C,0)));
a:=ref(datacount,m);{其實直接用DATACOUNT即可,這名話是多此一舉,目的在于驗證制作的這個DATACOUNT函數(shù)值的唯一性,也就是說你在任一根K線處引用DATACOUNT,它的值都是一樣的。}
VERTLINE(BARPOS=a-M,1);
VERTLINE(BARPOS=a-N,1);
區(qū)間高:REF(HHV(H,BARSLAST(BARPOS=a-M-1)),BARSLAST(BARPOS=a-N))+0.005,PRECIS2;
區(qū)間低:REF(LLV(L,BARSLAST(BARPOS=a-M-1)),BARSLAST(BARPOS=a-N))+0.005,PRECIS2;
{-----示例完--------------}
大智慧引用函數(shù)FILTER、SUMBARS運用
1、函數(shù):FILTER 信號過濾 過濾連續(xù)出現(xiàn)的信號。 用法:FILTER(X,N),X滿足條件后,刪除其后N周期內(nèi)的數(shù)據(jù)置為0。例如:FILTER(CLOSE>OPEN,5),查找陽線,5天內(nèi)再次出現(xiàn)的陽線不被記錄在內(nèi)。請看下面指標:
頂?shù)妆畴x: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天內(nèi)B1>0的條件不被記錄在內(nèi),在當前周期內(nèi)出現(xiàn)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天內(nèi)B2>0的條件不被記錄在內(nèi),在當前周期內(nèi)出現(xiàn)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天內(nèi)B3>0的條件不被記錄在內(nèi),在當前周期內(nèi)出現(xiàn)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天內(nèi)D1>0的條件不被記錄在內(nèi),在當前周期內(nèi)出現(xiàn)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天內(nèi)D2>0的條件不被記錄在內(nèi),在當前周期內(nèi)出現(xiàn)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天內(nèi)D3>0的條件不被記錄在內(nèi),在當前周期內(nèi)出現(xiàn)D3>0畫粉色柱線}
DRAWTEXT(FILTER(D3>0,5),1.75,'RSI頂背離'),COLORFF00FF;
這是一個引用FILTER函數(shù)比較多的指標,請認真研究和體會一下語句的用法。
2、函數(shù):SUMBARS 累加到指定周期數(shù) 向前累加到指定值到現(xiàn)在的周期數(shù)。用法:SUMBARS(X,A),將X向前累加直到大于等于A,返回這個區(qū)間的周期數(shù)。例如:SUMBARS(VOL,CAPITAL),求完全換手到現(xiàn)在的周期數(shù)。
這個函數(shù)好用,在于它不但能精確地得到統(tǒng)計結(jié)果,而且能得到“模糊”的結(jié)果。
就以SUMBARS(VOL,CAPITAL)為例:
日期數(shù):SUMBARS(VOL,CAPITAL);{返回成交量累加到流通盤的日期數(shù)}
驗證:SUM(V,日期數(shù))/CAPITAL;{把返回的日期數(shù)之內(nèi)的成交量累計,再除以流通盤}
運行的結(jié)果中,我們可以看到,“驗證”的輸出,除了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);{求完全換手到現(xiàn)在的周期數(shù)}
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);
關(guān)注: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);{求完全換手到現(xiàn)在的周期數(shù)}
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的坐標處顯示黃色脈沖信號}
大智慧統(tǒng)計函數(shù)
(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 數(shù)據(jù)偏差平方和 用法:DEVSQ(X,N) 含義:數(shù)據(jù)偏差平方和,求X的N日數(shù)據(jù)偏差平方和。數(shù)據(jù)偏差平方和除以N,即為方差。比較一下這2句在圖上的區(qū)別:
a1:DEVSQ(C,5)/5;{0.025}
a2:DEVSQ(C,5);{0.126}
(3)、FORCAST 線性回歸預(yù)測值 用法:FORCAST(X,N)為X的N周期線性回歸預(yù)測值。示例: FORCAST(CLOSE,10) 表示求10周期線性回歸預(yù)測。用最小二乘法求出N周期內(nèi)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日內(nèi)A的線性回歸預(yù)測和10日線性回歸預(yù)測}
上漲:if(A>分水嶺,A,分水嶺),LINETHICK2,colorred;
下跌:if(A<分水嶺,A,分水嶺),LINETHICK2,COLORGREEN;
分水嶺1:forcast(forcast(A,31),10),linethick2,COLORYELLOW;{求出31日內(nèi)A的線性回歸預(yù)測和10日線性回歸預(yù)測}
(4)、SLOPE 線性回歸斜率用法:SLOPE(X,N)為X的N周期線性回歸線的斜率。例如:SLOPE(CLOSE,10)表示求10周期線性回歸線的斜率。請看指標:
XLB:forcast(V,8)/EMA(forcast(V,36),7);{forcast(V,8)求8周期線性回歸預(yù)測}
XLL:if(slope(XLB,2)>0,slope(XLB,2)*XLB,0),linethick2;{slope(XLB,2)求2周期線性回歸線的斜率}
drawicon(XLL<0.8,0,11);
drawicon(XLL>=0.8,0,10);
{排序,用于抓住量比放大,正在快速上漲的股。}
(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;
強勢區(qū)上軌:(MA(VAR5,20)+1.7*STDP(VAR5,20)),COLOR10FFFF;{STDP(VAR5,20)求20周期var5的總體標準差}
強勢區(qū)下軌:(MA(VAR5,20)-1.7*STDP(VAR5,20)),COLOR10FFFF;{STDP(VAR5,20)求20周期var5的總體標準差}
標準線:VAR5,COLORWHITE;
下面這2個函數(shù)用的比較少,略做簡單介紹:
(7)、VAR 估算樣本方差 用法:VAR(X,N)為X 的N日估算樣本差。
(8)、VARP 總體樣本方差 用法:VARP(X,N)為X的N日總體樣本方差。
大智慧診斷指標的編寫。
大智慧的診斷指標形同于飛狐、分析家的解盤指標,都是通過文字來提供當前盤面?zhèn)€股的趨勢、均線、基本面、K線形態(tài)等技術(shù)指標的演化狀態(tài)的,這對盤面分析很有幫助。
診斷指標是通過引用技術(shù)指標來完成文字診斷的。此外,還要用到文字診斷字符串輸出函數(shù),下面分別介紹所用到的函數(shù):
1、IFS 字符串IF函數(shù) 用法:IFS(A>B,'返回A','返回B');
該函數(shù)返回一個字符串,上例表示:
如果A大于B,則返回'返回A'串,否則返回'返回B'串;
2、STR 數(shù)據(jù)到字符串轉(zhuǎn)換函數(shù) 用法:STR(X,N);
該函數(shù)返回一個字符串.上例子表示:范圍精度為N的X的字符串;
診斷指標分兩部分組成,前一部分是指標公式,后一部分是文字診斷。下面我們用實例來說明指標的編制:
{基本面 參數(shù) n1:1 999 50 n2:1 999 10 p1:1 999 20 p2:1 999 50 s1:1,99999,40000;s2:1,99999,10000}
m1:=FINANCE(33);{每股收益}
m2:=FINANCE(34);{每股凈資產(chǎn)}
m3:=CAPITAL/1000000;{流通盤}
m4:=FINANCE(34);{凈資產(chǎn)}
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);
{以上部分是公式,不能設(shè)有返回值,也就是全用":="賦值符。以下部分是引用上面的公式所做的文字診斷}
'【理想解盤】'+
'該股為'+
IFS(FINANCE(33)>=N1/100,'績優(yōu)、','')+IFS(FINANCE(33)<N1/100 AND FINANCE(33)>=N2/100,'中等業(yè)績、','')+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)+'。每股凈資產(chǎn)為'+str(m4,2)+',收益為'+str(m1,2)+',市盈率為'+str(c/m1,3)+',市凈率為'+str(c/m2,2)+',公積金為'+str(m5,2)+',未分配利潤為'+str(m6,2)+'。'+
{''之間的漢字作為字符串輸出會顯示在評價窗口中,str函數(shù)把數(shù)字轉(zhuǎn)化為字符串輸出。數(shù)據(jù)到字符串轉(zhuǎn)換函數(shù)。
STR 用法:STR(X,N);該函數(shù)返回一個字符串.此例子表示:范圍精度為N的X的字符串;}
{' '+}
IFS(REF(L4,1)>0 AND REF(L4,1)>REF(L4,2),'該股中長期走勢強于大盤,且近期繼續(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),'該股中長期走勢弱于大盤,但近期有所轉(zhuǎn)強。','')+
IFS(REF(L4,1)<=0 AND REF(L4,1)<=REF(L4,2),'該股中長期走勢弱于大盤,且近期繼續(xù)走弱。','')+
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),'但上漲趨勢有所減緩,短線投資者可逢高賣出,但當回落至均線或其他支撐位時應(yīng)及時回補。','')+
IFS(DIFF>=0 AND MACD<0 AND MACD>=REF(MACD,1),',目前正處于回落整理階段,但整理即將結(jié)束,可在均線或其他支撐位附近逢低買入,但當整理完成后選擇再次向下突破時應(yīng)注意及時止損。','')+
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),',目前正處于反彈階段,投資者應(yīng)保持謹慎。','')+
IFS(DIFF<0 AND MACD>0 AND MACD<REF(MACD,1),',短線反彈已經(jīng)結(jié)束,應(yīng)繼續(xù)堅持謹慎原則。','')+
IFS(CROSS(DIFF,0),'該股今日從空頭市場轉(zhuǎn)換為多頭行情。','')+
IFS(CROSS(0,DIFF),'該股今日從多頭市場轉(zhuǎn)換為空頭行情。','')+
IFS(K>80 AND CROSS(D,K)=0,'KD指標提示該股已經(jīng)處于超買狀態(tài),如果KD指標死叉應(yīng)及時賣出。','')+
IFS(K<20 AND CROSS(K,D)=0,'KD指標提示該股已經(jīng)處于超賣狀態(tài),如果KD指標金叉應(yīng)及時買入。','')+
IFS(CROSS(K,D) AND LLV(K,3)<20,'KD低位金叉,建議買入。','')+
IFS(CROSS(D,K) AND HHV(K,3)>80,'KD高位死叉,建議賣出。','')
{每條語句以“+”符號結(jié)束,指標最后一句沒有“+”的符號。}
注意:引用技術(shù)指標要準確無誤以外,還要注意格式,否則不能通過測試。為了讓朋友更明白一些,再舉一例:
{KDJ解盤}
K:="KD.K"(17,4,4);
D:="KD.D"(17,4,4);
'【理想解盤】'+
IFS(K>80 AND CROSS(D,K)=0,'KD指標提示該股已經(jīng)處于超買狀態(tài),如果KD指標死叉應(yīng)及時賣出。','')+
IFS(K<20 AND CROSS(K,D)=0,'KD指標提示該股已經(jīng)處于超賣狀態(tài),如果KD指標金叉應(yīng)及時買入。','')+
IFS(CROSS(K,D) AND LLV(K,3)<20,'KD低位金叉,建議買入。','')+
IFS(CROSS(D,K) AND HHV(K,3)>80,'KD高位死叉,建議賣出。','')
朋友們可以照貓畫虎自編一個,只要有一個成功了,你也就掌握了方法。
大智慧引用函數(shù)SUM的運用
函數(shù):SUM(X,N) 參數(shù): X為數(shù)組,N為計算周期
說明:統(tǒng)計N周期中X的總和,N=0則從第一個有效值開始。
示例:SUM(VOL,0) 表示統(tǒng)計從上市第一天以來的成交量總和。
SUM和COUNT這兩個函數(shù)不同之處在于COUNT,計數(shù)。SUM,總數(shù)、和。請注意這兩個函數(shù)的區(qū)別。
當數(shù)組為邏輯運算判斷的結(jié)果時,SUM和COUNT的返回值是一樣的。一般習(xí)慣上,對于邏輯運算信號,用COUNT統(tǒng)計,返回其它數(shù)值的,用SUM統(tǒng)計。當COUNT統(tǒng)計一般數(shù)值時,數(shù)組大于等于1時,計入;小于1時,不計入。這兩個函數(shù),主要用于統(tǒng)計。
用COUNT(CROSS(MA(C,5),MA(C,10)),0);就可以統(tǒng)計出全部的五天均線上穿十天均線的金叉數(shù)。
用SUM(CROSS(MA(C,5),MA(C,10)),0);和以上得出的結(jié)果應(yīng)該是一樣的。
請看下面的指標如何運用SUM函數(shù)的。
{多空曲 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;
a=(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:=求和(條件函數(shù)(收盤價>向前引用(收盤價,1),成交量,條件函數(shù)(收盤價<向前引用(收盤價,1),0-成交量,0)),0);
ah:=(求和(最高價,2)*(求和(1+獲利盤比例(最高價),2))*求和(obv,2))/2;
al:=(求和(最低價,2)*(求和(1+獲利盤比例(最低價),2))*求和(obv,2))/2;
a=(求和(開盤價,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函數(shù)的指標例句:
(1)、階段縮量
sum(vol,n1)/capital<=n2;
注:n1為要統(tǒng)計的階段時間,n2為縮量比例,可在參數(shù)設(shè)定范圍內(nèi)設(shè)定參數(shù)范圍。
(2)、階段放量
sum(vol,n1)/capital>=n2;
注:n1為要統(tǒng)計的階段時間,n2為y放量比例,可在參數(shù)設(shè)定范圍內(nèi)設(shè)定參數(shù)范圍。
(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日內(nèi)累計換手率大于n2%,并且成交量連續(xù)在n3日內(nèi)放大。
(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參數(shù)的表達格式為yymmdd,注意在2000年前的表達為年份的后兩位,例如1999年為99,從2000年開始以100依次向后累加,例如2001年9月17日為1010917,indexc函數(shù)表示同期大盤的收盤價,該函數(shù)對分筆成交分析周期無效。
(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參數(shù)的表達格式為yymmdd,注意在2000年前的表達為年份的后兩位,例如1999年為99,從2000年開始以100依次向后累加,例如2001年9月17日為1010917,indexc函數(shù)表示同期大盤的收盤價,該函數(shù)對分筆成交分析周期無效。