通达信作为国内最主流的股票行情分析软件之一,其内置的函数体系是技术分析与公式编写的核心基础。无论是自定义指标、条件选股,还是交易系统设计,都离不开对这些函数的理解与灵活运用。本文将从函数分类、常用函数解析、实际使用场景三个方面,系统介绍通达信函数的核心知识。
一、通达信函数的分类体系
通达信函数功能用途可分为以下几大类:
- 行情函数:获取价格、成交量、持仓量等基础行情数据,如CLOSE
、OPEN`HIGH、LOW、VOL、AMOUNT等-引用函数**:引用历史数据、跨周期数据或未来数据,如 REF、MA、HHV、LLV、`、SUM` 等。
`、CROSS、BARSLAST、TER、NOT 等。
统计函数:数学统计计算,如 ST(标准差)、AVEDEV(平均绝对偏差)、SLOPE(线性回归斜率)等。
数学运算函数:提供数学计算,如 ABS、MAX、MIN、POW、RT、LOG` 等。
- 函数:控制指标线的绘制方式,如
STICKLINE、DRAWICON、RAWTEXT、POLYLINE等- 盘口函数:获取买卖盘数据、每笔成交等,如BUYVOL、SEVOL、BIDPRICE` 等。 - 日期时间函数:获取当前K线的时间信息,如
Y、MONTH、DAY、TIME、DATE等。
二、核心常用函数详解
1. 行情类函数
CLOSE(收盘价):当前K线收盘价,简写C。`(开盘价当前K线开盘价简写O-HIGH(最高价):当前K线最高价,简写H`。L(最低价):K线最低价,写L。
VOL(成交量当前K线的成交量(按手计算),简写 `V。
AMO(成交额):当前K线的成交金额(按元计算)。
MA(C,5) 表示5日收盘价的简单移动平均。
. 引用函数
REF(X,N):引用N周期前的X值。例如REF(CLOSE,1)表示昨日收盘价。
:的N周期简单移动平均。计算公式为 SUM(X,N)/N`。
EMA(X,N):X的N周期指数移动,更注重近期价格权重。
V(X,N)N周期内X的最高值。例如HHV(HIGH,10)表示10日最高价值。LLV(X,N):周期内X的最低值。SUM(X,N):N周期内X的总和。COUNT(COND,N):统计N周期内满足条件COND的次数。例如COUNT(CLOSE>OPEN,20)统计20日内收阳的天数。ARSLAST(COND):上一次满足条件COND到当前的周期数。例如BARSLAST(CROSS(MA(C,5),MA,10)))表示最近一次金叉到现在的天数。
3. 逻辑函数
IF(COND,A,B):条件COND成立时返回A,否则返回B。CROSS(A,B):从方向上穿越,即上周期A<=B,本周期A>B常用于金叉判断。NOT(COND):对条件取反。FILTER(COND,N):条件COND成立后,周期内不再重复发出信号,用于过滤连续信号。
. 统计函数
STD(X,N):X在N周期内的标准差,反映波动率。SLOPE(X,N):X在N周期内的线性回归斜率,用于判断趋势方向。AVEDEV(X,N):平均绝对偏差,与STD作用类似但算法不同。CAST(X,N):线性回归预测值,可用于预测下一周期X的可能数值。
5. 绘图函数
STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY):满足COND时绘制柱状线,宽度为WIDTH,EMPTY为时实心,为1时空心。
DRAWICON(COND,PRICE,ON):在满足条件时在指定价格位置绘制图标ICON为图标编号)。
DWTEXT(COND,ICE,TEXT)在满足条件时在指定位置输出文字。- `YLINE(COND,PRICE:连接所有满足条件点的折线。
三、函数在实际公式中的应用示例
示例1:MACD指标核心代码
text
DIFF := EMA(CLOSE,) - EMA(OSE,26);
DEA := EMA(DIFF,9);
MACD := 2*(DIFF-DEA);
这个公式用了 EMA 函数计算快慢均线的差值,再对差值做平滑处理,最终得到MACD柱。其中冒号等号 :=表示定义中间变量,不影响绘图;单冒号 : 输出变量并绘制曲线。
示例2:金叉死叉选股公式
text
CROSS(MA(CLOSE,), MA(CLOSE,10));
该公式返回1表示5日均线上穿10日均线,即叉信号。如果用于条件选股,会选出刚刚发生金叉的股票若需过滤连续信号,可加 `FILTER:
text
TER(CROSS((CLOSE,5 MA(CLOSE,)), 5);
金叉信号出现后5天内不再出现新信号。
###示例3:量价齐升条件
text
CLOSE > REF(OSE,1) AND VOL >(VOL,1);
该公式判断当日收盘价高于昨日且成交量放大,反映资金积极介入。
四、使用通达信函数时的注意事项
- 函数名称不区分大小写但推荐使用大写以增强可读性- 周期问题:默认操作周期为当前K线周期,若需引用其他周期数据,需使用
#"周期"语法,例如CLOSE#WEEK引用周线收盘价- 未来函数问题:部分函数如Z、PEAK、TROUGH会未来数据,用于回溯分析尚可,但用于实时信号会产生漂移,应谨慎使用。 - 输出与赋值:使用
:=赋值的变量不会在指标窗口显示,而使用:定义的会绘制曲线。如果不想显示曲线,应使用:=。 - 表达式的返回值:条件成立返回1,不成立返回。因此在算术运算中可直接使用条件表达式,例如
CLOSE + (OPEN>CLOSE)会为阴线额外加1。
在实际编写公式时,建议先使用通达信公式编辑器自带的“测试公式”功能检查语法错误。对于不熟悉的函数,可以点击函数名查看内置帮助说明。同时,可以用 DRAWTEXT 或 DRAWICON 将关键函数值标注在图上,便于观察计算逻辑是否符合预期。
对于运行效率,尽量少用循环语句(如 WHILE),多用向量化函数(如 REF、SUM、HHV`),这样可以大幅提高批量计算速度,特别是在全市场选股时优势明显。
通达信函数体系丰富且灵活,掌握核心函数后,可以结合自己的交易策略编写出个性化指标和选股模型,从而在行情分析中做到有的放矢。不断实践与积累函数应用案例,是提升公式编写能力最快的方法。







