股票公式与选股公式
通达信股票选股公式编写
【股票选股公式】股票指标公式怎么添加
怎么把下列股票公式改为选股公式,要求DMI指标里ADX线上穿AD?
MTR:=EXPMEMA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(REF(CLOSE,1)-LOW)),14);HD:=HIGH-REF(HIGH,1);LD:=REF(LOW,1)-LOW;DMP:=EXPMEMA(IF(HD>0&&HD>LD,HD,0),14);DMM:=EXPMEMA(IF(LD>0&&LD>HD,LD,0),14);PDI:=DMP*100/MTR;MDI:=DMM*100/MTR;ADX:=EXPMEMA(ABS(MDI-PDI)/(MDI PDI)*100,6);ADXR:=EXPMEMA(ADX,6);XG:CROSS(ADX,ADXR);
选股公式的编写
首先,我们先了解选股公式中非常重要的因素-函数。
做个比喻,函数就是一种语言,用以去告知计算机自己的想法,并且让它去实现自己的想法。
函数就是这种语言的单词。
我们在编辑器中选择插入函数,可以看到很多供参考的函数列表。
我们可以通过下面的几个常用的例子来进一步了解如何编写选股公式: 例一: 一根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)、首次创新...
把股票看盘公式改成选股公式,改成出‘有庄’就能选出来
{庄选股,你原公式有漏少代码,刚好我电脑上有类似的,看能否符合你要求}P:=55;S:=5;M1:=3;VAR12:=EMA(EMA(CLOSE,13),13);控盘2:=(VAR12-REF(VAR12,1))/REF(VAR12,1)*1000;财:=(EMA(CLOSE,S)-EMA(CLOSE,P))*10;神:=EMA(财,M1);JJ:=DYNAINFO(11);BTJ1:=(C-JJ)/JJBTJ2:=控盘2>REF(控盘2,1) AND 控盘2BTJ3:=CROSS(财,神) AND 财庄:=BTJ1 AND BTJ2 AND BTJ3;有庄:FILTER(庄,55);