底背离选股公式编写教程


选股,每个人都有不同的方法,对于技术派来说,没有趁手的选股公式指标实在是太麻烦了,比如想选出最近7天内曾出现过涨停的或者昨天跌幅超过5个点今日涨幅超过五个点的股票....,没有选股公式就只能手动一只一只股票翻,实在是费心费力。学习编辑公式,就可以解决你这一个问题。
【 HHV((C-REF(C,1))/REF(C,1)>0.095,7); 】这是一个7天内出现过涨停的选股公式,只要添加到支持自编指标的软件里,就可以智能选股,是不是很爽?但貌似看起来很复杂,没有基础的股民看着这一串英文符号会觉得头晕一点学习的欲望都没有,韩薇也曾有这样的想法,实际上并没有那么难,我们先从简单的学起:
编辑选股公式,就是把你的想法通过函数表达给电脑软件,让电脑能够“听得懂”。比如我现在想写一个公式选出今天收盘是涨的股票,需要给电脑表达的意思是:
收盘价大于开盘价的股票。当然电脑听不懂中文,我们要把它转变成函数:收盘价在行情软件里表达为 "close" ,开盘价表达为 "open" ,大于就是">", 那么收盘价大于开盘价 = close>open;末尾的“;”分号是作为一个条件的结束标志。
编写公式的第一个基础就是,你要懂得各种指标在软件里怎么用函数表达。基本每一个有自编指标功能的软件都有一个表格的,在上面按需求使用就可以。刚开始不用背下来,不会的时候去查表,或者百度查,用多了就记得了。不同的软件函数表达可能有点偏差,以你使用的为主即可。
介绍几个可能经常用到的函数:
【“REF” 引用若干周期前的数据。
用法:
REF(X,N),引用N周期前的X值。
例如:REF(CLOSE,1)表示上一周期的收盘价,在日线就代表昨天的收盘价。】
【“and” 使两个条件并列
例如:今天上涨昨天也上涨的股票;
函数表达 close>open and ref(close,1)>ref(close,1); 】 (能够看得懂了吗?)
【"COUNT"统计满足条件的周期数。
用法:COUNT(X,N),统计N周期中满足X条件的周期数,若N=0则从第一个有效值开始。
例如:COUNT(CLOSE>OPEN,20)表示统计20周期内收阳的周期数。】
【“MA” 简单移动平均
返回简单移动平均。用法: MA(X,M)X的M日简单移动平均。
例如:MA(CLOSE,5); 收盘价的五日平均,五日均线。】
函数之间的数学关系同样可以用+ - * / 等表示。
如果你理解了上面这些函数,接下来尝试表达一下用公式表达这个逻辑:昨天跌幅超过5个点今日涨幅超过五个点的股票。
第一:今天上涨幅度超过五个点怎么表达?
首先你得知道计算逻辑,今天收盘价大于昨天的收盘价为上涨。今天收盘价11块-昨天收盘价10块=1块,这是今天上涨的数值。今天上涨的值1块 / 昨天收盘价10块=0.1(10%),这就是今天上涨的百分比。你的每一个想法,都应该转换成这种简单的计算逻辑,这样才能方便用函数表达。
这个问题的计算逻辑是 ((今天收盘价-昨天的收盘价)/昨天的收盘价)>0.05;只要你分别懂得-今天收盘价=close ,昨天的收盘价=ref(close,1),是不是就可以 转换成函数:((close-ref(close,1))/ref(close,1))>0.05;
第二:昨天下跌幅度超过五个点怎么表达?
中文计算逻辑我就不打出来了,跟上面是一样的道理,我直接写出来:(REF(close,1)-REF(close,2))/REF(close,2)<-0.05;中文表达:(昨天的收盘价-前天的收盘价)/前天的收盘价<负0.05;
最后再用“and” 把这两个条件串联起来:(REF(c,1)-REF(c,2))/REF(c,2)<-0.05 and (c-REF(c,1))/REF(c,1)>0.05; 这个就是最终的函数公式了,添加到软件里就可以直接选出昨天跌幅超过5个点今日涨幅超过5个点的股票了。
编写公式看起来是非常简单的,但是想要熟练就需要你花费时间了。

底背离选股公式的编写教程:

首先我们来定义MACD底背离的图形,不是完全精确的定义,因为精确的定义用到的逻辑会比较复杂,这里我们进行粗略的定义,我认为够用了。


1、在0轴下方,MACD形成两次金叉,最近一次金叉的位置比前一次高;
2、两次金叉形成的时间段里,MACD的黄线一直在0轴下方,也就是两次金叉中间,股价没有比较大的反弹;
3、两次金叉形成时,第二次金叉的收盘价比第一次金叉的收盘价要低,就是股价在这段时间反而是下降的,这样才叫背离。这里涉及到不精确问题,真正精确的定义是:死叉-----金叉之间的最低价,和另一次死叉-----金叉的最低价进行比较,但是我觉得不影响效果。

编程和测试:

下面我们来进行编程。编程的时候,能不引用,就尽量不引用,我们今天编MACD底背离,就不要去引用MACD指标,而是直接把MACD的代码拷贝过来,如下:
---------------
SHORT:=12;LONG:=26;MID:=9;
DIF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:=EMA(DIF,MID);
MACD:=(DIF-DEA)*2;
{上面这几句,是MACD指标的源代码,我把输出全部改为赋值,然后画线的语句全部删除,只留下了两条线,即DIF和DAE,以及MACD的赋值,MACD其实在本文里用不到,可以删除,也可以保留,不影响选股}
金叉:=CROSS(DIF,DEA);
{我们定义赋值MACD金叉,为简单起见,直接取名为金叉}
金叉1:=BARSLAST(金叉);
{金叉1,表示最近一次金叉,距离现在的K线数}
金叉2:=BARSLAST(REF(金叉,1));
{金叉2,表示前一次金叉,距离现在的K线数,注意,我这里用的是REF(金叉,1),表示前一次金叉,这个用法很多人不会,也就很难编写这个公式了}
XG:金叉 AND REF(DIF,金叉1+1)>REF(DIF,金叉2+1) AND EVERY(DEA<0,金叉2) AND REF(C,金叉1+1)<REF(C,金叉2+1);
{这里定义选股条件,首先是金叉,也就是选股当天,MACD形成金叉。REF(DIF,金叉1+1)>REF(DIF,金叉2+1) 表示金叉时,DIF值比前一次IDF的值大,也就是金叉点提高。EVERY(DEA<0,金叉2)表示,从前一次金叉以来,DEA一直小于0,即在零轴下方。REF(C,金叉1+1)<REF(C,金叉2+1)表示金叉时,收盘价比前一次金叉时的收盘价低,这里要注意,我在每个金叉距离现在的K线数上又加了1,然后把所有条件用AND进行连接。}
----------------
把上面分割线内的内容全部复制,做成选股公式。
显然,我们通过观察,选到的股票,全部符合我们的思路模型。

思维延伸:

我们测试的是MACD底背离,那么其他指标的底背离也是一样的,把想要做底背离的指标代码拷贝过来,先定义金叉或者拐点,金叉或拐点抬高,股价下降。
那么MACD使用的是0轴,一般KDJ底背离可以使用50轴,也就是50下方形成J值底背离,也就是那条紫色的线在50轴下方,金叉K或者D,也可以使用20轴下方,J线的拐点底背离。
其他指标的底背离方法,也是大同小异的。
最后,提供以下常用语句,以方便朋友们编写公式时参考使用:
1)今收盘对于N日内最低收盘价的涨幅(%)(c-llv(c,n))/llv(c,n)*100;
2)今收盘价对于N日最高收盘价的跌幅(%)(HHV(C,N)-C)/HHV(C,N)*100;
3)股价在过去N日内运行空间的相对位置 (C-LLV(L,N))/(HHV(H,N)-LLV(L,N))*100;
4)股价上方N1%至N2%处的筹码(%)
aa:=winner(c+c*n2/100)*100;
bb:=winner(c+c*n1/100)*100;
aa-bb
5)股价下方N1%至N2%处的筹码(%)
(winner(c-c*n1/100)-winner(c-c*n2/100))*100;
6)收盘价N%处的套牢盘 100-(winner(c*N/100))*100;
7)收盘价N%处的获利盘 winner(c*N/100)*100;
8)下影线 (MIN(O,C)-L)/L*100;
9)上影线 (h-max(o,c))/max(o,c)*100;
10)本周期的涨跌幅 (c-ref(c,1))/ref(c,1)*100;
11)振幅 (h-l)/l*100;
12)均线金叉(M.N为均线周期) cross(ma(c,m),ma(c,n))
13)均线多头排列
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);
14) 均线空头排列
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);
15)N日均线向下
aa:=ma(c,n);
bb:=ref(aa,2);
aa<bb
16)向前N日至M日出现过均线死叉(P1<P2)
aa:=ma(c,p1);
bb:=ma(c,p2);
cc:=ref(cross(bb,aa),n);
count(cc,m);
17)今日成交量大于N日以来的均量 VOL>MA(VOL,N);
18)低位密集
A1:=COST(85);
A2:=COST(15);
A3:=A1-A2;
A4:=(A1+A2)/2;
A5:=A3/A4*100<10;
B1:=HHV(H,120);
B2:=LLV(L,120);
B3:=B1-B2;
B4:=(A4-B2)<B3/2;
A5 AND B4;
19)换手率 VOL/CAPITAL*100;
20)N日盈亏
V1:=VOL/SUM(VOL,N);
V2:=DMA(CLOSE,V1);
V3: (CLOSE-V2)/V2*100;
21)强势整理
{参数M、N分别代表周期和幅度 m:1 20 2 n:1 20 5}
a1:=abs(close-open)/open<0.015;
a2:=count(a1,m)=m;
a3:=ref(o,m)<ref(close,m) and
ref(close,m)/ref(close,m+1)>1+n/100;
a2 and a3
22)高开大阴
{参数m,n分别代表幅度 m:1 10 4 n:1 20 5}
OPEN>CLOSE AND OPEN/REF(C,1) >= 1+M/100 AND CLOSE/OPEN<=1-N/100
23)低开大阳线
{参数m,n分别代表幅度 m:1 10 4 n:1 20 7}
OPEN<CLOSE AND OPEN/REF(C,1) <= 1-M/100 AND CLOSE/OPEN>=1+N/100
二、编写公式时常用的通式(这是在网上摘录的,仅供参考)
常用的通式:
{设A,B,R为三条曲线;N,M等为参数。如:A:ma(c,N) ; B:=ma(c,M); R:=c/ref(c,1)-1;等。。。}
(一).曲线在N天内的平均变化率
Fa:=(A/ref(A,N)-1)/N; Fb:=(B/ref(B,N)-1)/N; Fr:=(R/ref(R,N)-1)/N;
(二).变动角
∮a:=atan(Fa); ∮b:=atan(Fb); ∮r:=atan(Fr);
(三).曲线上相距N天的两点的连线的斜率
Ka:=(A-ref(A,N))/N; Kb:=(B-ref(B,N))/N; Kr:=(R-ref(R,N))/N;
(四).倾角
∠a:=atan(Ka); ∠b:=atan(Kb); ∠r:=atan(Kr);
(五).交叉点
Cab:=cross(A,B);{交叉} Jab:=longcross(A,B,N);{维持 -交叉}
JYa:=between(A,N,M);{介于} FWa:=range(A,N,M);{范围}
(六).下拐点(由下向上转)
xD1:=llvbars(A,N)=M;{以N日最低点}
xD2:=ref(count(A-ref(A,1)<=0,N)=N,M) and count(A-ref(A,1)>0,M)=M;{以M日变化量的正负}
xD3:=ref(count(∠a-ref(∠a,1)<=0,N)=N,M) and ∠a>0;{以当日变化角的正负}
(七).上拐点(由上向下转)
sD1:=hhvbars(A,N)=M;{以N日最低点}
sD2:=ref(count(A-ref(A,1)>=0,N)=N,M) and count(A-ref(A,1)<0,M)=M;{以当日变化量的正负}
sD3:=ref(count(∠a-ref(∠a,1)>=0,N)=N,M) and ∠a<0;{以当日变化角的正负}
(八).位置(求得交叉点/拐点到当前的周期)
Wz1:=barslast(Cab);{第一(交叉)点的位置}
Wz2:=ref(Wz1,Wz1+1)+Wz1+2;{第二(交叉)点的位置}
Wz3:=ref(Wz1,Wz2+1)+Wz2+2;{第三(交叉)点的位置}
Wz4:=ref(Wz1,Wz3+1)+Wz3+2;{第四(交叉)点的位置}
Wz5:=ref(Wz1,Wz4+1)+Wz4+2;{第五(交叉)点的位置}
{Wzn:=ref(Wz1,Wz(n-1)+1)+Wz(n-1)+2;}
(九).曲线A叠加曲线B
F:=A/ref(A,1)-1;{A的变化率}
Js:=ref(B,barscount(c));{叠加位置(初始)}
DJ:(sum(F,0)+1)*Js;{叠加曲线(初始位置)}
Jd:=ref(B,barslast(条件));{叠加位置(定点)}
Dj:=(sum(F,0)+1)*Jd;{叠加曲线(预定位置)}


标签 REF金叉CLOSE收盘价MA

声明:
1. 版权归原作者“李韩薇”所有, 本文转载目的在于 股票财经 爱好者个人学习使用,并不代表吉发网赞同其观点和对其真实性负责。如有侵权行为,请联系站长(webmaster@666888.net.cn),站长会尽最大努力及时删除。
2. 吉发网不提供在线交流(评论)功能,如喜欢作者的文章请点击 关注作者 扫描二维码关注"李韩薇"后,与作者交流留言。
3. 如文章出现QQ号、QQ群、微信号、微信群,请仔细甄别,不要轻信所谓NB的战法、NB的讲师、股票推荐、不收任何费用、万人建仓等蛊惑性描述,如遭到财产损失,不要犹豫立即报警!立即报警!立即报警!
4. 欢迎推荐或自荐优秀股市财经金融公众号加入吉发网, 既可以涨粉,又能帮助股票财经爱好者学习成长,多有意义啊^_^。
5. 吉发网不接受广告合作,不接受链接交换,相关邮件一律不回!



选股最新文章列表

















相关文章列表


昨日热门文章

本周热门文章

本月热门文章

股票标签云


炒股知识大全