您現在的位置: 南方財富網 >> 股票知識 >> 股票公式 >> 正文
南方財富搜索

如何編寫選股公式

2010-10-29 11:10:38   來源:不詳   佚名
    

 選股公式我想炒股的朋友都不陌生,那么如何編寫選股公式呢,下面我們就以通達信為例為您簡單介紹如何編寫選股公式。

  首先,我們先了解選股公式中非常重要的因素-函數。做個比喻,函數就是一種語言,用以去告知計算機自己的想法,并且讓它去實現自己的想法。函數就是這種語言的單詞。我們在編輯器中選擇插入函數,可以看到很多供參考的函數列表。
  我們可以通過下面的幾個常用的例子來進一步了解如何編寫選股公式:
  例一:
  一根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日均價連續(xù)上漲,表示如下:
a:=ma(close,5);
b:=ref(a,1);
b;
下跌:
今天的跌幅達到5%以上,表示如下:
close/ref(close,1)〈0.95;
5日均價連續(xù)下跌,表示如下:
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日內創(chuàng)新高
   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日內創(chuàng)新低
   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)、連續(xù)n日收陽線
  up:=close〉open;
     count(up,n)=n;
注:count(x,n),統計n周期中滿足x條件的周期數,若n=0則從第一個有效值開始。n為指標參數,可在參數設定范圍內設定參數范圍。
(8)、連續(xù)n日內收陰線
  up:=close〈open;
     count(up,n)=n;
注:count(x,n),統計n周期中滿足x條件的周期數,若n=0則從第一個有效值開始。N為指標參數,可在參數設定范圍內設定參數范圍。
(9)、連續(xù)n天上漲
   count(close〉ref(close,1),n)=n;
注:count(x,n),統計n周期中滿足x條件的周期數,若n=0則從第一個有效值開始。N為指標參數,可在參數設定范圍內設定參數范圍。
(10)、連續(xù)n天下跌
  count(c〈ref(c,1),n)=n;
注:count(x,n),統計n周期中滿足x條件的周期數,若n=0則從第一個有效值開始。N為指標參數,可在參數設定范圍內設定參數范圍。
(11)、首次創(chuàng)新高
   barssince(c〉hhv(if(barscount(c)=1,high,0),0))+1=1;
注:barscount(x),若x非0,則將當前位置到n周期前的數值設為1。
(12)、創(chuàng)歷史新高
   hhv(close,0)=close;
注:hhv(x,n),求n周期內x最高值,n=0則從第一個有效值開始。
(13)、創(chuàng)歷史新低
   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)、持續(xù)放量
  a:=vol〉ref(vol,1);
     count(a,n)=n;
注:其中條件a的含義為成交量較上一交易日放大,n為要統計的階段時間,可在參數設定范圍內設定參數范圍。
(18)、持續(xù)縮量
  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倍的情況發(fā)生的次數多于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%,并且成交量連續(xù)在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倍。
四、形態(tài)特征選股公式的編制
(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);
注:早晨之星,這種形態(tài)和叫法自然是后市向好,為買進信號。早晨之星由三根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。股價經過一段持續(xù)攀升之后,某一日突然跳高開盤:
   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線組成,其形態(tài)和晨星正好相反:
   第一天股價繼續(xù)上升,拉出一根陽線:
   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%以下,同時前二均線今日比昨日上翹。

(責任編輯:張元緣)
    南方財富網聲明:股市資訊來源于合作媒體及機構,屬作者個人觀點,僅供投資者參考,并不構成投資建議。投資者據此操作,風險自擔。
商務進行時
每日必讀
學院24小時排行
證券導讀
熱圖推薦

關于南方財富網版權聲明誠聘英才廣告服務網站地圖友情鏈接
特此聲明:廣告商的言論與行為均與南方財富網無關
emto2.com
南方財富網 © 版權所有 閩ICP備09035581號