编写选股公式?
发布网友
发布时间:2022-04-23 12:27
我来回答
共5个回答
热心网友
时间:2022-04-28 08:08
首先了解一个词:“函数”
函数可以被认为是一种语言,通过这种语言告知计算机自己的想法,并让它去实现。
函数就是这种语言的单词。
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<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(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(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为放量比例,可在参数设定范围内设定参数范围。
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;说明:
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 (c<o and indexc<indexo),n)/n>m/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<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线组成,其顺序是:
(1)第一天在下跌过程中已形成一根阴线:
ref(close,2)/ref(open,2<0.95
(2)第二天跳空下跌,K线实体较短,构成星的主体部分,阴线或阳线均可,有无上下影线不重要。
ref(open,1)<ref(close,2) and abs(ref(open,1)-ref(close,1)/ref(close,1)<0.03
(3)第三根K线必须是阳线,且其长度至少要升至第一根阴线实体(如果能够“反包”第一根阴线则更为强势)
close/open>1.05 and close>ref(close,2)
4、黄昏之星
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线组成,其形态和晨星正好相反:
(1)第一天股价继续上升,拉出一根阳线:
ref(close,2)/ref(open,2)>1.03
(2)第二天波动较小,形成一根小阳线或小阴线,构成星的主体部分:
ref(open,1)>ref(close,2) and abs(ref(open,1)-ref(close,1)/ref(close,1)<0.02
(3)第三天形成一根反包第二天并延伸至第一天阳线实体:
close/open<0.97 and close<ref(close,2)
5、强势整理
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线。
6、高开大阴线
open>close and open/ref(c,1)>=1+m/100 and close/open<=1-n/100;说明:
跳空高开m%,当日股价较开盘价跌幅大于n。
此信号出现,通常意味着股价已形成短期头部,应注意风险。
(1)股价经过一段持续攀升之后,某一日突然跳高开盘:
open/ref(c,1)>=1+m/100
(2)之后股价一路下行,尾市以接近最低点收市:
close/open<=1-n/100
7、低开大阳线
open<close and open/ref(c,1)<=1-m/100 and close/open>=1+n/100;说明:
跳空低开m%,当日股价较开盘价涨幅大于n。
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%以下),同时前两根均线今日比昨日上翘。
热心网友
时间:2022-04-28 09:26
首先你要说明清楚macd0轴上,是哪个值在0轴上,是dif,是dea,还是macd柱,macd指标有三个输出值,你要说明清楚数哪一个,再有20日内,这起点从哪算起,是从现在向前20日内,还是macd某值在0轴开始后的20日内,怎么计算线说清楚了,滞后才能统计几次死叉,是否站上10天线.
例如下图,macd柱大于0轴后20日内5日与10日发生20次死叉后开始计算3日内收盘价大于10日均线符合选股条件效果如下图,注意你说的股票7月1日不符合条件,7月2日跟7月3日才符合收盘价站上10日均线
热心网友
时间:2022-04-28 11:01
股民要选股可以自己根据K线走势去选,也可以根据自己的要求通过函数设计出公式来找到自己所要选的股,这个公式我们就叫选股公式。
假如你要找股价小于5.00元的股票,那么你只要设一个公式:c>5.00;这个就是简单的选股公式。
一、简单条件选股公式编写一选股公式,要求选出“股价小于每股净资产”的个股。进入公式管理器,新建一条件选股公式依次点击菜单“功能à专家系统à公式管理器”,进入公式管理器界面。
二、选择左边树型列表中条件选股公式下面的其它类型,点击“新建”。
三、输入公式名称,公式描述。
四、点“插入函数”,选择“收盘价”,点击“确定”,对应的函数就到了编辑区。
五、点击“测试公式”,若显示测试通过,点击“确定”按钮保存公式。
热心网友
时间:2022-04-28 12:52
不要迷恋选股公式,建议不要迷恋技术,如果技术有用的话,炒股就不会散户都亏。要信企业的基本面,国家经济的轨迹。
热心网友
时间:2022-04-28 15:00
如果能够编写选股的这个公式,好像来说没有什么特定的规定吧,只要你能够了解这方面的一些内容就可以。