我們可以通過下面的幾個常用的例子來進壹步了解如何編寫選股公式:
例壹:
壹根K線有四個價格組成:
最高價:HIGH
收盤價:CLOSE
最低價:LOW
開盤價:OPEN
成交量:VOL
成交額:AMO
例二:
兩條均線不斷地交叉,就專門設定了壹條函數來描述兩條線交叉:CROSS(X,Y)
假如下圖中的兩條均線壹條名叫X,另外壹條叫Y
CROSS(X,Y)表示X向上穿過了Y
CROSS(Y,X)表示Y向上穿過了X
例三:
前面的CLOSE,還是VOL,都表示當天,或者您使用的不是日線,那就表示本周期的數據,那麽前幾天的怎麽表示呢?
REF(X,M)
例如:
REF(Close,5)表示5天前的收盤;
REF(Vol,10)表示10天前的成交量;
這裏的M就是參數
如果我想把兩個條件並列在壹起怎麽辦?
AND
X AND Y就表示條件X和條件Y
以上就是我對如何編寫選股公式的回答,希望對您有多幫助。
寫條件選股公式時常用的通式
編寫條件選股公式時常用的通式。
壹、放量、縮量(成交量函數為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%以下,同時前二均線今日比昨日上翹。
想要編寫復雜的選股公式,也是要從簡單的常規的選股公式開始學習的,上面的例子希望能夠對您也有幫助,另外研究選股公式的編寫,不如好好研究股票的技術,把編寫選股公式的工作留給專業的朋友來完成,比如說百度知道上的各位公式高手
祝願您投資順利