虽然题材与逻辑一直在股市中起主导作用,但是选股公式可以从形态角度优化我们的选股逻辑,为我们的交易与复盘提供便利。 下面就为大家简单介绍一下如何编写一些基础的选股公式。 表 述 方 式首先了解一个词:“函数” 函数可以被认为是一种语言,通过这种语言告知计算机自己的想法,并让它去实现。 函数就是这种语言的单词。 K线的组成: 最高价:HIGH 收盘价:CLOSE 最低价:LOW 开盘价:OPEN 成交量:VOL 成交额:AMO 两条均线交叉:CROSS 假如两条均线一条名叫X,另外一条叫Y CROSS(X,Y)表示均线X向上穿过均线Y CROSS(Y,X)表示均线Y向上穿过均线X 以上函数所表示的均为当天或是本周期的数据,而前期数据表示则引用另一个函数:REF(X,M)这里的M即为参数 例如: REF(Close,5)表示5天前的收盘值; REF(Vol,10)表示10天前的成交量; 如果想把两个条件并列在一起可以用“AND” A AND B就表示条件A和条件B 公式编写时常用的通式一、放量、缩量(成交量函数为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; 二、上涨、下跌 1、上涨: (1)今日涨幅超过5%以上: close/ref(close,1)>1.05; (2)5日均价连续上涨,表示如下: a:=ma(close,5); b:=ref(a,1); a>b; 2、下跌: (1)今天的跌幅达到5%以上: close/ref(close,1)<0.95; (2)5日均价连续下跌,表示如下: a:=ma(close,5); b:=ref(a,1); a<>< p=''><> 3、K线的描述: 阳线:close>open;阴线:close<>< p=''><> 高开:open>ref(close,1); 低开:open<>< p=''><> 跳空高开:open>ref(high,1);(high为最高价) 跳空低开:open<> 三、走势特征选股公式的编写 1、n日内创新高 hhv(high,n)=hhv(high,0) and barscount(close)>=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(open0.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<>< p=''><> 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<>< p=''><> 说明: 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为放量比例,可在参数设定范围内设定参数范围。 17、持续放量 a:=vol>ref(vol,1); count(a,n)=n; 说明: 条件a的含义为成交量较上一交易日放大,n为需要统计的阶段时间,可在参数设定范围内设定参数范围。 18、持续缩量 a:=vol<>< p=''><> count(a,n)=n; 说明: 条件a的含义为成交量较上一交易日缩小,n为需要统计的阶段时间,可在参数设定范围内设定参数范围。 19、间隔放量 a:=ma(vol,5); barscount(c)>=n and hhv(a,n)n2*a,n)>n3; 说明: barscount(x)第一个有效数据到当前的天数。barscount(c)等于日线数据取得上市以来总交易日数。 完整含义: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日在上下1%的幅度内整理: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年8月16日为1010816,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年8月16日为1010816,indexc函数表示同期大盘的收盘价,该函数对分笔成交分析周期无效。 27、大盘同步 count((c>o and indexc>indexo) or (cm/100; 说明: 含义为n周期中与大盘走势相同(同收阴线或同收阳线)的例超过m%。 此处的o为开盘价open的首写字母,不是数字零。 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 |
|