1、通达信指标公式编写教程初级公式系统(初级)1.公式类型说明调出公式管理器: 功能 专家系统 公式管理器公式类型分为四大类:技术指标公式、条件选股公式、交易系统公式、五彩K线公式。1.1技术指标公式我们在技术分析界面中见到的指标为技术指标公式,比如MA, KDJ , MACD 等;可以通过公式管理器编写技术指标公式,在公式管理器界面选择技术指标公式,点击右边的“新建”就可进入技术指标公式编辑区。如下图:在指标公式编辑区,可以通过“引入指标公式”,在已有指标的基础上修改指标公式,也可以通过插入函数来实现指标公式的编写;编写完后测试公式,测试通过后退出,输入公式名称就可调出指标公式使用。1.2条件选
2、股公式利用条件选股公式可以把符合一定技术形态的个股选出来,首先在公式管理器中建立条件选股公式,再通过“条件选股”调用条件选股公式。条件选股调出:功能 选股器 条件选股1.3交易系统公式编写好交易系统公式后,可以叠加到线上,交易系统自动列出买卖操作信号。交易系统公式调出操作如下:在线界面点击鼠标右键,选择交易系统指标,如下图:选择一交易系统,点击“确定”,交易系统就会叠加在线上面了。如下图:1.4.五彩线公式编写好五彩公式后,可以叠加到线上,会把特殊的线形态用不同的颜色标识出来。五彩K线公式调出操作如下:在线界面点击鼠标右键,选择五彩线指示,如下图:选择一五彩线,点击“确定”,五彩K线就会叠加在
3、线上面了。如下图:2.公式函数的使用函数在公式编写非常重要,如果作个比喻,我们用一种语言去告诉电脑我的想法,并且让它去帮我做,那么函数就是这种语言的单词。 我们在公式编辑器中选择插入函数,就可以看到里面有许多的函数,我们在附录中有一个简表,大家可以到那里去检索。如下图:例一:一根K线有四个价格组成:最高价:HIGH 收盘价:CLOSE 最低价:LOW 开盘价:OPEN 成交量:VOL成交额:AMO例二:两条均线不断地交叉,就专门设定了一条函数来描述两条线交叉:CROSS(X,Y)假如下图中的两条均线一条名叫X,另外一条叫YCROSS(X,Y)表示X向上穿过了YCROSS(Y,X)表示Y向上穿过
4、了X例三:前面的CLOSE,还是VOL,都表示当天,或者您使用的不是日线,那就表示本周期的数据,那么前几天的怎么表示呢?REF(X,M)例如:REF(Close,5)表示5天前的收盘;REF(Vol,10)表示10天前的成交量;这里的M就是参数。 什么是参数?比如讲:10日均线,您可以把10日当作参数,好处在于,您觉得需要修改成5日的时候,就可以使用一些简单的方法,例如参数精灵来很方便的修改和调整。参数需要名字,例如M就不错。还要规定参数的范围,例如1日至260日。这样我们就可以在1到260之间任意调节M的值了,M最常用的数填在“缺省”一栏,例如你最喜欢用10日均线,那就填10吧。例四:如果我
5、想把两个条件并列在一起怎么办?ANDX AND Y就表示条件X和条件Y3.公式编写举例3.1 均线指标编写进入公式管理器,新建一技术指标公式依次点击菜单“功能专家系统公式管理器”,进入公式管理器界面。如下图:左边的树型列表中选择技术指标公式下面的“均线型”,点击右边的“新建”,就会进入公式编辑界面,如下图:填写完公式名称,公式描述,点击“插入函数”,选择“简单移动平均”,简单移动平均函数的用法会在对话框下边列出来,点击“确定”按钮,对应的函数会在公式编辑框内显示出来。如下图所示:填写完 MA函数的两个参数,第一个参数填写收盘价,收盘价在公式函数中用 C 表示,第二个参数填写均线日期,可以直接录
6、入一数字,最后用分号结尾(注:公式编写涉及到符号时用英文字符)。如下图所示:录入后,下面的动态翻译区会自动翻译公式的意义,“收盘价的10日简单移动平均”,这样一条10日均线的指标就形成了。编辑器区的相关说明如下:公式类型:对应的公式可选择加入不同的类型,设定后查看公式时将会在对应的分类项下列出来;画线方法:选择副图,指标将会在副图区显示,选择主图叠加,指标将会在主图区显示(如常用指标MA就是主图指标),也可选择在副图上叠加K线,美国线,收盘站线。坐标线位置:默认的是自动,系统自动根据指标值的范围设定的区间,如上图的 0.60,0.40,0.2,0, -0.2, 0.00 , -0.2 ;可以手
7、动的设置坐标间隔,用分号分开,手动设置后,默认的将会没有。额外Y轴分界:在指标上加上一些白色的横线,如上图所示。点击 “测试公式”,若显示测试通过,点击“确定”按钮保存公式。调出公式时,键盘输入公式名字 JX1 回车,如下图所示:3.2简单条件选股公式编写下面编写一选股公式,要求选出“股价小于每股净资产”的个股。进入公式管理器,新建一条件选股公式依次点击菜单“功能专家系统公式管理器”,进入公式管理器界面。如下图:选择左边树型列表中条件选股公式下面的其它类型,点击“新建”,如下图:输入公式名称,公式描述, 如下图所示:点“插入函数”,选择“收盘价”,点击“确定”,对应的函数就到了编辑区,如下图所
8、示:录入空格 ,输入 小于号,再点“插入函数”,在财务函数中找到每股净资产放到后面,以分号结尾,如下图所示:点击 “测试公式”,若显示测试通过,点击“确定”按钮保存公式。4.附公式函数列表4.1行情函数 HIGH 最高价返回该周期最高价。用法: HIGHH 最高价返回该周期最高价。用法: HLOW 最低价返回该周期最低价。用法: LOWL 最低价返回该周期最低价。用法: LCLOSE 收盘价返回该周期收盘价。用法: CLOSEC 收盘价返回该周期收盘价。用法: CVOL 成交量返回该周期成交量。用法: VOLV 成交量返回该周期成交量。用法: VOPEN 开盘价返回该周期开盘价。用法: OPE
9、NO: 开盘价返回该周期开盘价。用法: OADVANCE 上涨家数返回该周期上涨家数。用法: ADVANCE(本函数仅对大盘有效)DECLINE 下跌家数返回该周期下跌家数。用法: DECLINE(本函数仅对大盘有效)AMOUNT 成交额返回该周期成交额。用法: AMOUNTASKPRICE 委卖价返回委卖1-委卖3价格。用法: ASKPRICE(N)N取13。(本函数仅个股在分笔成交分析周期有效)ASKVOL 委卖量返回委卖1-委卖3量。用法: ASKVOL(N)N取13。(本函数仅个股在分笔成交分析周期有效)BIDPRICE 委买价返回委买1-委买3价格。用法: BIDPRICE(N)N取
10、13。(本函数仅个股在分笔成交分析周期有效)BIDVOL 委买量返回委买1-委买3量。用法: BIDVOL(N)N取13。(本函数仅个股在分笔成交分析周期有效)BUYVOL 主动性买盘返回主动性买单量。用法:BUYVOL当本笔成交为主动性买盘时,其数值等于成交量,否则为0。(本函数仅个股在分笔成交分析周期有效)SELLVOL 主动性卖盘返回主动性卖单量。用法:SELLVOL当本笔成交为主动性卖盘时,其数值等于成交量,否则为0。(本函数仅个股在分笔成交分析周期有效)ISBUYORDER 主动性买单返回该成交是否为主动性买单。用法: ISBUYORDER当本笔成交为主动性买盘时,返回1,否则为0。
11、(本函数仅个股在分笔成交分析周期有效)ISSELLORDER 主动性卖单返回该成交是否为主动性卖单。用法: ISSELLORDER当本笔成交为主动性卖盘时,返回1,否则为0。(本函数仅个股在分笔成交分析周期有效)4.2时间函数 DATE 日期取得该周期从1900以来的年月日。用法: DATE例如函数返回1000101,表示2000年1月1日。TIME 时间取得该周期的时分秒。用法: TIME函数返回有效值范围为(000000-235959)。YEAR 年份取得该周期的年份。用法:YEARMONTH 月份取得该周期的月份。用法:MONTH函数返回有效值范围为(1-12)。WEEK 星期取得该周期
12、的星期数。用法: WEEK函数返回有效值范围为(0-6),0表示星期天。DAY 日期取得该周期的日期。用法: DAY函数返回有效值范围为(1-31)。HOUR 小时取得该周期的小时数。用法: HOUR函数返回有效值范围为(0-23),对于日线及更长的分析周期值为0。MINUTE 分钟取得该周期的分钟数。用法: MINUTE函数返回有效值范围为(0-59),对于日线及更长的分析周期值为0。FROMOPEN 分钟求当前时刻距开盘有多长时间。用法:FROMOPEN返回当前时刻距开盘有多长时间,单位为分钟。例如: FROMOPEN当前时刻为早上十点,则返回31。4.3引用函数DRAWNULL 无效数返
13、回无效数。用法: DRAWNULL例如:IF(CLOSEREF(CLOSE,1),CLOSE,DRAWNULL)表示下跌时分析图上不画线。BACKSET 向前赋值将当前位置到若干周期前的数据设为1。用法:BACKSET(X,N)若X非0,则将当前位置到N周期前的数值设为1。例如:BACKSET(CLOSEOPEN,2)若收阳则将该周期及前一周期数值设为1,否则为0。BARSCOUNT 有效数据周期数求总的周期数。用法:BARSCOUNT(X)第一个有效数据到当前的天数。例如:BARSCOUNT(CLOSE)对于日线数据取得上市以来总交易日数,对于分笔成交取得当日成交笔数,对于1分钟线取得当日交
14、易分钟数。CURRBARSCOUNT 到最后交易日的周期数求到最后交易日的周期数.用法:CURRBARSCOUNT 求到最后交易日的周期数TOTALBARSCOUNT 总的周期数求总的周期数.用法:TOTALBARSCOUNT 求总的周期数 BARSLAST 上一次条件成立位置上一次条件成立到当前的周期数。用法:BARSLAST(X)上一次X不为0到现在的天数。例如:BARSLAST(CLOSE/REF(CLOSE,1)=1.1)表示上一个涨停板到当前的周期数。BARSSINCE 第一个条件成立位置第一个条件成立到当前的周期数。用法:BARSSINCE(X)第一次X不为0到现在的天数。例如:B
15、ARSSINCE(HIGH10)表示股价超过10元时到当前的周期数。COUNT 统计统计满足条件的周期数。用法:COUNT(X,N)统计N周期中满足X条件的周期数,若N=0则从第一个有效值开始。例如:COUNT(CLOSEOPEN,20)表示统计20周期内收阳的周期数。HHV 最高值求最高值。用法:HHV(X,N)求N周期内X最高值,N=0则从第一个有效值开始。例如:HHV(HIGH,30)表示求30日最高价。HHVBARS 上一高点位置求上一高点到当前的周期数。用法:HHVBARS(X,N)求N周期内X最高值到当前周期数,N=0表示从第一个有效值开始统计。例如:HHVBARS(HIGH,0)
16、求得历史新高到到当前的周期数。LLV 最低值求最低值。用法:LLV(X,N)求N周期内X最低值,N=0则从第一个有效值开始。例如:LLV(LOW,0)表示求历史最低价。LLVBARS 上一低点位置求上一低点到当前的周期数。用法:LLVBARS(X,N)求N周期内X最低值到当前周期数,N=0表示从第一个有效值开始统计。例如:LLVBARS(HIGH,20)求得20日最低点到当前的周期数。REVERSE 求相反数求相反数。用法:REVERSE(X)返回-X。例如:REVERSE(CLOSE)返回-CLOSE。REF 向前引用引用若干周期前的数据。用法:REF(X,A)引用A周期前的X值。例如:RE
17、F(CLOSE,1)表示上一周期的收盘价,在日线上就是昨收。REFDATE 指定引用引用指定日期的数据。用法:REFDATE(X,A)引用A日期的X值。例如:REF(CLOSE,20011208)表示2001年12月08日的收盘价。SUM 总和求总和。用法:SUM(X,N)统计N周期中X的总和,N=0则从第一个有效值开始。例如:SUM(VOL,0)表示统计从上市第一天以来的成交量总和。FILTER 过滤过滤连续出现的信号。用法:FILTER(X,N)X满足条件后,删除其后N周期内的数据置为0。例如:FILTER(CLOSEOPEN,5)查找阳线,5天内再次出现的阳线不被记录在内。SUMBARS
18、 累加到指定值的周期数向前累加到指定值到现在的周期数。用法:SUMBARS(X,A)将X向前累加直到大于等于A,返回这个区间的周期数。例如:SUMBARS(VOL,CAPITAL)求完全换手到现在的周期数。SMA 移动平均返回移动平均。用法:SMA(X,N,M)X的M日移动平均,M为权重,如Y=(X*M+Y*(N-M)/NMA 简单移动平均返回简单移动平均。用法:MA(X,M)X的M日简单移动平均。DMA 动态移动平均求动态移动平均。用法:DMA(X,A)求X的动态移动平均。算法:若Y=DMA(X,A)则 Y=A*X+(1-A)*Y,其中Y表示上一周期Y值,A必须小于1。例如:DMA(CLOS
19、E,VOL/CAPITAL)表示求以换手率作平滑因子的平均价。EMA(或EXPMA) 指数移动平均返回指数移动平均。用法:EMA(X,M)X的M日指数移动平均。MEMA 平滑移动平均返回平滑移动平均用法:MEMA(X,M)X的M日平滑移动平均。MEMA(X,N)与MA的差别在于起始值为一平滑值,而不是初始值EXPMEMA 指数平滑移动平均返回指数平滑移动平均。用法:EXPMEMA(X,M)X的M日指数平滑移动平均。EXPMEMA同EMA(即EXPMA)的差别在于他的起始值为一平滑值RANGE 介于某个范围之间用法:RANGE(A,B,C)A在B和C。例如:RANGE(A,B,C)表示A大于B同
20、时小于C时返回1,否则返回0。CONST 取值设为常数用法: CONST(A)取A最后的值为常量.例如:CONST(INDEXC)表示取大盘现价。4.4逻辑函数 CROSS 上穿两条线交叉。用法:CROSS(A,B)表示当A从下方向上穿过B时返回1,否则返回0。例如:CROSS(MA(CLOSE,5),MA(CLOSE,10)表示5日均线与10日均线交金叉。LONGCROSS 维持一定周期后上穿两条线维持一定周期后交叉。用法:LONGCROSS(A,B,N)表示A在N周期内都小于B,本周期从下方向上穿过B时返回1,否则返回0。UPNDAY 连涨返回是否连涨周期数。用法:UPNDAY(CLOSE
21、,M)表示连涨M个周期。DOWNNDAY 连跌返回是否连跌周期。用法:DOWNNDAY(CLOSE,M)表示连跌M个周期。NDAY 连大返回是否持续存在XY。用法:NDAY(CLOSE,OPEN,3)表示连续3日收阳线。EXIST 存在是否存在。用法:EXIST(CLOSEOPEN,10)表示前10日内存在着阳线。EVERY 一直存在一直存在。用法:EVERY(CLOSEOPEN,10)表示前10日内一直阳线。LAST 持续存在用法:LAST(X,A,B) AB,表示从前A日到前B日一直满足X条件。若A为0,表示从第一天开始,B为0,表示到最后日止。例如:LAST(CLOSEOPEN,10,5
22、)表示从前10日到前5日内一直阳线。4.5算术函数 NOT 取反求逻辑非。用法:NOT(X)返回非X,即当X=0时返回1,否则返回0。例如:NOT(ISUP)表示平盘或收阴。IF 逻辑判断根据条件求不同的值。用法:IF(X,A,B)若X不为0则返回A,否则返回B。例如:IF(CLOSEOPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返回最低值。IFF 逻辑判断根据条件求不同的值。用法:IFF(X,A,B)若X不为0则返回A,否则返回B。例如:IFF(CLOSEOPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返回最低值。IFN 逻辑判断根据条件求不同的值。用法:IFN(X
23、,A,B)若X不为0则返回B,否则返回A。例如:IFN(CLOSEOPEN,HIGH,LOW)表示该周期收阴则返回最高值,否则返回最低值。MAX 较大值求最大值。用法:MAX(A,B)返回A和B中的较大值。例如:MAX(CLOSE-OPEN,0)表示若收盘价大于开盘价返回它们的差值,否则返回0。MIN 较小值求最小值。用法:MIN(A,B)返回A和B中的较小值。例如:MIN(CLOSE,OPEN)返回开盘价和收盘价中的较小值。4.6数学函数 ACOS 反余弦反余弦值。用法:ACOS(X)返回X的反余弦值。ASIN 反正弦反正弦值。用法:ASIN(X)返回X的反正弦值。ATAN 反正切反正切值。
24、用法:ATAN(X)返回X的反正切值。COS 余弦余弦值。用法:COS(X)返回X的余弦值。SIN 正弦正弦值。用法:SIN(X)返回X的正弦值。TAN 正切正切值。用法:TAN(X)返回X的正切值。EXP 指数指数。用法:EXP(X)e的X次幂。例如:EXP(CLOSE)返回e的CLOSE次幂。LN 自然对数求自然对数。用法:LN(X)以e为底的对数。例如:LN(CLOSE)求收盘价的对数。LOG 对数求10为底的对数。用法:LOG(X)取得X的对数。例如:LOG(100)等于2。SQRT 开方开平方。用法:SQRT(X) 求X的平方根。例如:SQRT(CLOSE)收盘价的平方根。ABS 绝
25、对值求绝对值。用法:ABS(X)返回X的绝对值。例如:ABS(-34)返回34。POW 乘幂乘幂。用法:POW(A,B)返回A的B次幂。例如:POW(CLOSE,3)求得收盘价的3次方。CEILING 向上舍入向上舍入。用法:CEILING(A)返回沿A数值增大方向最接近的整数。例如:CEILING(12.3)求得13,CEILING(-3.5)求得-3。FLOOR 向下舍入向下舍入。用法:FLOOR(A)返回沿A数值减小方向最接近的整数。例如:FLOOR(12.3)求得12,FLOOR(-3.5)求得-4。INTPART 取整用法:INTPART(A)返回沿A绝对值减小方向最接近的整数。例如
26、:INTPART(12.3)求得12,INTPART(-3.5)求得-3。BETWEEN: 介于介于。用法:BETWEEN(A,B,C)表示A处于B和C之间时返回1,否则返回0。例如:BETWEEN(CLOSE,MA(CLOSE,10),MA(CLOSE,5)表示收盘价介于5日均线和10日均线之间。4.7统计函数 AVEDEV 平均绝对方差AVEDEV(X,N) 返回平均绝对方差。DEVSQ 数据偏差平方和DEVSQ(X,N) 返回数据偏差平方和。FORCAST 线性回归预测值FORCAST(X,N) 返回线性回归预测值。SLOPE 线性回归斜率SLOPE(X,N) 返回线性回归斜率。STD
27、估算标准差STD(X,N) 返回估算标准差。STDP 总体标准差STDP(X,N) 返回总体标准差。VAR 估算样本方差VAR(X,N) 返回估算样本方差。VARP 总体样本方差VARP(X,N) 返回总体样本方差 。4.8横向统计 BLOCKSETNUM 板块股票个数用法:BLOCKSETNUM(板块名称)返回该板块股票个数。HORCALC 多股统计用法:HORCALC(板块名称,数据项,计算方式,权重)数据项:100-HIGH,101-OPEN,102-LOW,103-CLOSE,104-VOL,105-涨幅计算方式:0-累加,1-排名次权重:0-总股本,1-流通股本,2-等同权重,3-流
28、通市值4.9形态函数 COST 成本分布成本分布情况。用法:COST(10),表示10%获利盘的价格是多少,即有10%的持仓量在该价格以下,其余90%在该价格以上,为套牢盘。该函数仅对日线分析周期有效。PEAK 波峰值前M个ZIG转向波峰值。用法:PEAK(K,N,M)表示之字转向ZIG(K,N)的前M个波峰的数值,M必须大于等于1。例如:PEAK(1,5,1)表示%5最高价ZIG转向的上一个波峰的数值。PEAKBARS 波峰位置前M个ZIG转向波峰到当前距离。用法:PEAKBARS(K,N,M)表示之字转向ZIG(K,N)的前M个波峰到当前的周期数,M必须大于等于1。例如:PEAKBARS
29、(0,5,1)表示%5开盘价ZIG转向的上一个波峰到当前的周期数。SAR 抛物转向抛物转向。用法: SAR(N,S,M),N为计算周期,S为步长,M为极值。例如:SAR(10,2,20)表示计算10日抛物转向,步长为2%,极限值为20%。SARTURN 抛物转向点抛物转向点。用法:SARTURN(N,S,M)N为计算周期,S为步长,M为极值,若发生向上转向则返回1,若发生向下转向则返回-1,否则为0。其用法与SAR函数相同。TROUGH 波谷值前M个ZIG转向波谷值。用法:TROUGH(K,N,M)表示之字转向ZIG(K,N)的前M个波谷的数值,M必须大于等于1。例如:TROUGH(2,5,2)表示%5最低价ZIG转向的前2个波谷的数值。TROUGHBARS 波谷位置前M个ZIG转向波谷到当前距离。用法:TROUGHBARS(K,N,M)表示之字转向ZIG(K
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1