原文地址:通达信函数汇编一作者:红木收藏家通达信函数汇编一原文: 通达信函数汇编 一 ,行情函数 high 最高价 返回该周期最高价. 用法: high h 最高价 返回该周期最高价. 用法: h low 最低价 返回该周期最低价. 用法: low l 最低价 返回该周期最低价. 用法: l close 收盘价 返回该周期收盘价. 用法: close c 收盘价 返回该周期收盘价. 用法: c vol 成交量 返回该周期成交量. 用法: vol v 成交量 返回该周期成交量. 用法: v open 开盘价 返回该周期开盘价. 用法: open o: 开盘价 返回该周期开盘价. 用法: o advance 上涨家数 返回该周期上涨家数. 用法: advance (本函数仅对大盘有效) decline 下跌家数 返回该周期下跌家数. 用法: decline (本函数仅对大盘有效) amount 成交额 返回该周期成交额. 用法: amount askprice 委卖价 返回委卖1--委卖3价格. 用法: askprice(n) n取1-3. (本函数仅个股在分笔成交分析周期有效) askvol 委卖量 返回委卖1--委卖3量. 用法: askvol(n) n取1-3. (本函数仅个股在分笔成交分析周期有效) bidprice 委买价 返回委买1--委买3价格. 用法: bidprice(n) n取1-3. (本函数仅个股在分笔成交分析周期有效) bidvol 委买量 返回委买1--委买3量. 用法: bidvol(n) n取1-3. (本函数仅个股在分笔成交分析周期有效) buyvol 主动性买盘 返回主动性买单量. 用法: buyvol 当本笔成交为主动性买盘时,其数值等于成交量,否则为0. (本函数仅个股在分笔成交分析周期有效) sellvol 主动性卖盘 返回主动性卖单量. 用法: sellvol 当本笔成交为主动性卖盘时,其数值等于成交量,否则为0. (本函数仅个股在分笔成交分析周期有效) isbuyorder 主动性买单 返回该成交是否为主动性买单. 用法: isbuyorder 当本笔成交为主动性买盘时,返回1,否则为0. (本函数仅个股在分笔成交分析周期有效) issellorder 主动性卖单 返回该成交是否为主动性卖单. 用法: issellorder 当本笔成交为主动性卖盘时,返回1,否则为0. (本函数仅个股在分笔成交分析周期有效) 二 ,时间函数 date 日期 取得该周期从1900以来的年月日. 用法: date 例如函数返回,表示2000年1月1日. time 时间 取得该周期的时分秒. 用法: time 函数返回有效值范围为(000000-). year 年份 取得该周期的年份. 用法:year month 月份 取得该周期的月份. 用法:month 函数返回有效值范围为(1-12). week 星期 取得该周期的星期数. 用法: week 函数返回有效值范围为(0-6),0表示星期天. day 日期 取得该周期的日期. 用法: day 函数返回有效值范围为(1-31). hour 小时 取得该周期的小时数. 用法: hour 函数返回有效值范围为(0-23),对于日线及更长的分析周期值为0. minute 分钟 取得该周期的分钟数. 用法: minute 函数返回有效值范围为(0-59),对于日线及更长的分析周期值为0. fromopen 分钟 求当前时刻距开盘有多长时间. 用法: fromopen 返回当前时刻距开盘有多长时间,单位为分钟. 例如: fromopen 当前时刻为早上十点,则返回31. 三 ,引用函数 drawnull 无效数 返回无效数. 用法: 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分钟线取得当日交易分钟数. barslast 上一次条件成立位置 上一次条件成立到当前的周期数. 用法: barslast(x) 上一次x不为0到现在的天数. 例如: barslast(closeref(close,1)=1.1) 表示上一个涨停板到当前的周期数. barssince 第一个条件成立位置 第一个条件成立到当前的周期数. 用法: barssince(x) 第一次x不为0到现在的天数. 例如: barssince(high10) 表示股价超过10元时到当前的周期数. count 统计 统计满足条件的周期数. 用法: count(x,n) 统计n周期中满足x条件的周期数,若n=0则从第一个有效值开始. 例如: count(closeopen,20) 表示统计20周期内收阳的周期数. dma 动态移动平均 求动态移动平均. 用法: dma(x,a) 求x的动态移动平均. 算法: 若y=dma(x,a)则 y=a*x+(1-a)*y ,其中y 表示上一周期y值,a必须小于1. 例如: dma(close,volcapital) 表示求以换手率作平滑因子的平均价. hhv 最高值 求最高值. 用法: hhv(x,n) 求n周期内x最高值,n=0则从第一个有效值开始. 例如: hhv(high,30) 表示求30日最高价. hhvbars 上一高点位置 求上一高点到当前的周期数. 用法: hhvbars(x,n) 求n周期内x最高值到当前周期数,n=0表示从第一个有效值开始统计. 例如: hhvbars(high,0) 求得历史新高到到当前的周期数. 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值. 例如: ref(close,1) 表示上一周期的收盘价,在日线上就是昨收. refdate 指定引用 引用指定日期的数据. 用法: refdate(x,a) 引用a日期的x值. 例如: ref(close,) 表示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 累加到指定值的周期数 向前累加到指定值到现在的周期数. 用法: sumbars(x,a) 将x向前累加直到大于等于a,返回这个区间的周期数. 例如: sumbars(vol,capital) 求完全换手到现在的周期数. sma 累积平均 返回累积平均. 用法: sma(x,n,m) x的m日累积平均,m为权重,如y=(x*m+y *(n-m))n ma 简单移动平均 返回简单移动平均. 用法: ma(x,m) x的m日简单移动平均. ema 异同移动平均 返回异同移动平均. 用法: ema(x,m) x的m日异同移动平均. mema 平滑移动平均 返回平滑移动平均 用法: mema(x,m) x的m日平滑移动平均. expma 加权移动平均 返回加权移动平均. 用法: expma(x,m) x的m日加权移动平均. expmema 加权平滑平均 返回加权平滑平均. 用法: expmema(x,m) x的m日加权平滑平均. range 介于某个范围之间 用法: range(a,b,c) a在b和c. 例如: range(a,b,c)表示a大于b同时小于c时返回1,否则返回0. const 取值设为常数 用法: const(a) 取a最后的值为常量. 例如: const(indexc)表示取大盘现价. 四 ,逻辑函数 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,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) 表示从前10日到前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,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) 返回开盘价和收盘价中的较小值. 六 ,数学函数 acos 反余弦 反余弦值. 用法: acos(x) 返回x的反余弦值. asin 反正弦 反正弦值. 用法: asin(x) 返回x的反正弦值. atan 反正切 反正切值. 用法: 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 绝对值 求绝对值. 用法: 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绝对值减小方向最接近的整数. 例如: 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日均线之间. 七 ,统计函数 avedev 平均绝对方差 avedev(x,n) 返回平均绝对方差. devsq 数据偏差平方和 devsq(x,n) 返回数据偏差平方和. forcast 线性回归预测值 forcast(x,n) 返回线性回归预测值. slope 线性回归斜率 slope(x,n) 返回线性回归斜率. std 估算标准差 std(x,n) 返回估算标准差. stdp 总体标准差 stdp(x,n) 返回总体标准差. var 估算样本方差 var(x,n) 返回估算样本方差. varp 总体样本方差 varp(x,n) 返回总体样本方差 . 八 ,横向统计 blocksetnum 板块股票个数 用法: blocksetnum(板块名称) 返回该板块股票个数. horcalc 多股统计 用法: horcalc(板块名称,数据项,计算方式,权重) 数据项:100-high,101-open,102-low,103-close,104-vol,105-涨幅 计算方式: 0-累加,1-排名次 权重: 0-总股本,1-流通股本,2-等同权重,3-流通市值 九 ,形态函数 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 (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,n)的前m个波谷到当前的周期数,m必须大于等于1. 例如: trough(2,5,2) 表示%5最低价zig转向的前2个波谷到当前的周期数. winner 获利盘比例 获利盘比例. 用法: winner(close) 表示以当前收市价卖出的获利盘比例. 例如: 返回0.1表示10%获利盘,winner(10.5)表示10.5元价格的获利盘比例. 该函数仅对日线分析周期有效. lwinner 近期获利盘比例 近期获利盘比例. 用法: lwinner(5,close) 表示最近5天的那部分成本以当前收市价卖出的获利盘比例.例如返回0.1表示10%获利盘. pwinner 远期获利盘比例 远期获利盘比例. 用法: pwinner(5,close) 表示5天前的那部分成本以当前收市价卖出的获利盘比例.例如返回0.1表示10%获利盘. costex 区间成本 区间成本. 用法: costex(close,ref(close)),表示近两日收盘价格间筹码的成本,例如返回10表示区间成本为20元. 该函数仅对日线分析周期有效. ppart 远期成本分布比例 远期成本分布比例. 用法: ppart(10),表示10前的成本占总成本的比例,0.2表示20%. zig 之字转向 之字转向. 用法: zig(k,n) 当价格变化量超过n%时转向,k表示0:开盘价,1:最高价,2:最低价,3:收盘价,其余:数组信息 例如: zig(3,5) 表示收盘价的5%的zig转向. 十 ,大盘函数 indexa 返回大盘成交额 indexadv 返回上涨家数 indexdec 返回下跌家数 indexc 返回大盘收盘价 indexh 返回大盘最高价 indexl 返回大盘最低价 indexo 返回大盘开盘价 indexv 返回大盘成交量 十一,绘图函数 ployline 折线段 在图形上绘制折线段. 用法: ployline(cond,price),当cond条件满足时,以price位置为顶点画折线连接. 例如: ployline(high=hhv(high,20),high)表示在创20天新高点之间画折线. drawline 绘制直线段 在图形上绘制直线段. 用法: drawline(cond1,price1,cond2,price2,expand) 当cond1条件满足时,在price1位置画直线起点,当cond2条件满足时,在price2位置画直线终点,expand为延长类型. 例如: drawline(high=hhv(high,20),high,low=llv(low,20),low,1) 表示在创20天新高与创20天新低之间画直线并且向右延长. drawkline 绘制k线 用法: drawkline(high,open,low,close) 以high为最高价,open为开盘价,low为最低,close收盘画k线. stickline 绘制柱线 在图形上绘制柱线. 用法: stickline(cond,price1,price2,width,empty),当cond条件满足时,在price1和price2位置之间画柱状线,宽度为width(10为标准间距),empth不为0则画空心柱. 例如: stickline(closeopen,close,open,0.8,1)表示画k线中阳线的空心柱体部分. drawicon 绘制图标 在图形上绘制小图标. 用法: drawicon(cond,price,type),当cond条件满足时,在price位置画type号图标. 例如: drawicon(closeopen,low,1) 表示当收阳时在最低价位置画1号图标.图标一共有九个,图形如附图.序号,最下面的是"1"号,最上面的是"9"号. drawtext 显示文字 在图形上显示文字. 用法: drawtext(cond,price,text),当cond条件满足时,在price位置书写文字text. 例如: drawtext(closeopen1.08,low, 大阳线 )表示当日涨幅大于8%时在最低价位置显示 大阳线 字样.