通达信指标API怎么编写 普通人也能看懂的公式入门指南

企业微信

通达信指标API到底是个什么东西

很多人一听到API就觉得是程序员才能碰的东西,其实通达信的指标API更像是一套约定好的暗号。你按照它的规则写几句话,它就能帮你把K线图上的价格、成交量这些数据算成曲线或者信号。不用装开发环境,不用配服务器,打开通达信软件里的公式管理器就能开始写。股票和期货的行情数据在通达信里是同一套底层逻辑,所以学会了写股票指标,期货指标也是顺手的事。

指标API的核心就三件事:引用数据、做计算、输出结果。引用数据就是告诉软件你要用哪根K线的开盘价、收盘价或者成交量。做计算就是加减乘除、比较大小、判断条件成不成立。输出结果就是把你算出来的东西画成线、柱子或者文字提示。把这三点串起来,一个完整的指标公式就出来了。

通达信指标API怎么编写 普通人也能看懂的公式入门指南

指标公式的基本骨架

通达信的指标公式有一套固定的写法,不用声明变量类型,也不用写函数定义。每一行要么是赋值,要么是输出。赋值用冒号加等号,输出用冒号。举个例子,你想画一条收盘价的5日均线,写法就是:


MA5:MA(CLOSE,5);

CLOSE代表收盘价,MA是求移动平均的函数,5是周期。冒号后面的MA5就是这条线的名字,它会显示在图表左上角。等号赋值只是中间计算,不会画出来。这个区别很关键,很多人写完发现图上什么都没有,就是因为把该输出的行写成了赋值。

每一行写完必须加分号,这是语法规则,漏了分号整个公式就报错。变量名不能用中文,不能用数字开头,不能和系统保留字冲突。这些细节看着琐碎,但卡住新手的往往就是这些地方。

常用函数就那十几个

通达信指标API里的函数成百上千,真正常用的不超过二十个。把下面这几个吃透,八成以上的想法都能落地。

价格类:OPEN开盘价、HIGH最高价、LOW最低价、CLOSE收盘价、VOL成交量、AMOUNT成交额。期货里还有持仓量OPENINT,股票里没有这个字段,写的时候注意区分品种。

统计类:MA简单移动平均、EMA指数移动平均、SUM求和、HHV最高值、LLV最低值、COUNT条件计数。这几个函数构成了绝大多数技术指标的骨架。

逻辑类:IF条件判断、AND逻辑与、OR逻辑或、NOT逻辑非。写条件选股公式的时候离不开它们。

引用类:REF引用若干周期前的数据、BARSCOUNT有效数据周期数。跨周期引用用得多的是“#”符号,比如引用日线数据写“CLOSE#DAY”。

绘图类:DRAWTEXT在图上写字、DRAWICON画图标、STICKLINE画柱子。做副图指标的时候用来做视觉提示很顺手。

这些函数不需要背,通达信公式编辑器里有函数列表,点一下就能插入,参数说明也写在旁边。写多了自然就记住了。

主图副图和选股公式的差别

同样是写指标,放在主图、副图和选股条件里,规矩不一样。

主图指标叠加在K线上,输出的一般是价格相关的线,比如均线、布林带。主图指标不能引用其他主图指标的结果,画出来的线默认和K线共用坐标轴。

副图指标单独占一个窗口,输出的是振荡类数值,比如MACD、RSI。副图里没有价格坐标的限制,数值范围可以很宽。副图指标可以用“DRAWBAND”画带状区域,用“COLORSTICK”画红绿柱。

选股公式最特殊,它的输出必须是一个逻辑条件,结果是0或者1。写成赋值语句或者输出数值都不行。选股公式里不能有绘图函数,写了也不生效。股票选股和期货选股在通达信里是分开的界面,但公式语法完全一样,区别只在于期货品种没有除权除息的处理,价格连续性和股票不同,写跨周期引用的时候要留意合约换月的影响。

从想法到公式的翻译过程

假设你有一个交易想法:收盘价站上20日均线,并且成交量比前五天平均量放大一倍,就认为短期走强。把这个想法翻译成通达信公式,一步步来。

第一步,算出20日均线:


MA20:=MA(CLOSE,20);

第二步,判断收盘价在均线之上:


UP:=CLOSE>MA20;

第三步,算前五天的平均成交量。注意要排除当天,所以用REF把成交量往前推一天再求平均:


VMA5:=MA(REF(VOL,1),5);

第四步,判断放量:


VUP:=VOL>VMA5*2;

第五步,两个条件同时成立,输出信号:


XG:UP AND VUP;

选股公式就写这五行,最后一行用冒号输出逻辑结果。副图指标可以把XG画成柱子,主图指标可以把符合条件的K线标个图标。同一个逻辑,换个输出方式就变成不同用途的公式。

期货交易里这个思路同样能用,只是成交量要换成对应合约的成交量,夜盘和白天的数据连续性在分钟周期上要留意。通达信的期货分钟线在开盘时段会有跳空,用REF引用前一根K线的时候,跨交易日的那一根要确认数据是否正确加载。

调试和避坑的几个关键点

写完公式点测试,报错信息会告诉你哪一行有问题。常见错误就几类:分号漏了、括号不配对、变量名拼错了、函数参数个数不对。通达信的报错提示不算友好,但定位到行之后逐字检查基本都能发现。

另一个坑是未来函数。有些函数会引用未来数据,回测看起来很漂亮,实盘信号会漂移。常见的未来函数包括ZIG、PEAK、TROUGH这些拐点类函数。写指标的时候尽量避开,用REF和HHV、LLV这类确定性的函数替代。通达信里可以用“ISLASTBAR”判断是不是最后一根K线,但不要用它来构造信号。

周期问题也值得注意。日线公式里写CLOSE引用的是当天收盘价,盘中会变动。选股公式在盘中运行和盘后运行结果可能不一样,做回测要用盘后数据。期货主力合约换月的时候,价格序列会跳空,均线类的指标在换月附近会出现失真,这是品种特性决定的,不是公式写错了。

什么时候该用API什么时候不该用

通达信指标API适合做技术条件的筛选和可视化,不适合做复杂的仓位管理和多品种组合回测。想验证一个简单的均线交叉或者放量突破逻辑,写几行公式就能在图上看到历史信号,效率很高。想做参数优化或者多因子打分,通达信自带的公式系统就吃力了,得换到支持编程语言的量化平台。

股票和期货的指标编写在通达信里是同一套语法,学会一个另一个自然就会。差别只在数据字段和合约规则上,写公式的时候心里有数就行。把常用的十几个函数练熟,把赋值和输出的区别记牢,把未来函数避开,大部分交易想法都能翻译成图上看得见的信号。

转载请注明出处:https://www.lianghuajiaoyi.top/wenzhang/tongdaxin-zhibiao-API-1161.html