通达信公式全套教程

深入解析通达信公式编写逻辑,从基础指标到高级选股策略,助您打造专属交易体系。

涵盖:技术指标编写 · 选股公式开发 · 交易信号优化 · 实战案例解析

为什么需要学习通达信公式?

在股票投资中,标准化的技术指标往往无法满足个性化需求。通过掌握通达信公式,您可以:

本教程旨在为您提供一套完整的通达信公式学习路径,无论是零基础新手还是有一定编程经验的投资者,都能在这里找到所需的知识。

第一部分:通达信公式基础语法详解

掌握通达信公式的语法是编写任何指标或选股策略的前提。以下是最核心的概念和函数。

1.1 基本数据类型与变量

通达信公式主要处理数值型数据。常见的内置变量包括:

变量名 含义 示例
CLOSE 收盘价 CLOSE > 10.5
OPEN 开盘价 OPEN < CLOSE
HIGH 最高价 HIGH 0.98
LOW 最低价 LOW + 0.1
VOL 成交量 VOL > MA(VOL, 5)
AMOUNT 成交额 AMOUNT / VOL

1.2 常用函数解析

函数是公式的灵魂。以下是编写通达信公式时最常用的几类函数:

⚙️ 移动平均函数

MA(CLOSE, N):计算N日简单移动平均线。
EMA(CLOSE, N):计算N日指数移动平均线,对近期价格更敏感。

⚙️ 引用函数

REF(CLOSE, N):引用N日前的收盘价。
例如:REF(CLOSE, 1) 表示昨收,REF(CLOSE, 5) 表示5日前的收盘价。

⚙️ 统计函数

COUNT(COND, N):统计N周期内满足条件COND的次数。
BARSLAST(COND):上一次条件成立到当前的周期数。

⚙️ 逻辑与条件函数

IF(COND, A, B):如果COND为真,返回A,否则返回B。
CROSS(A, B):A上穿B,即金叉。

1.3 公式类型与输出

通达信公式主要分为技术指标公式和选股公式,它们的输出方式有所不同:

第二部分:通达信公式高级技巧与优化

当掌握基础语法后,您可以尝试更复杂的逻辑,以实现更精准的交易信号。

2.1 多周期嵌套

利用通达信公式的多周期引用功能,您可以在日线图上参考周线或月线的数据。这有助于判断大趋势对当前小级别行情的影响。

// 示例:获取周线的收盘价
WEEK_CLOSE := REF(C, (WEEKDAY - 1)); // 简化示例,实际需使用特定函数如 WMA 或引用周线数据
// 更准确的方式是使用“周期引用”功能,或在公式中设置“多周期”参数

2.2 条件选股中的逻辑组合

在编写选股公式时,经常需要组合多个条件。使用 AND(与)、OR(或)、NOT(非)可以构建复杂的筛选逻辑。

// 示例:股价突破20日均线,且成交量放大超过昨日
COND1 := C > MA(C, 20);
COND2 := V > REF(V, 1)  1.5;
XG: COND1 AND COND2;

2.3 避免未来函数

在编写通达信公式时,务必警惕“未来函数”(如ZIG, PEAK, TROUGH)。这些函数会根据后续数据改变历史信号,导致回测结果失真。建议使用REF、MA等确定性函数。

第三部分:通达信公式实战案例

以下是几个经典的通达信公式案例,您可以直接复制到软件中测试。

案例一:底部放量选股
案例二:均线多头排列
案例三:MACD金叉共振

底部放量选股公式

逻辑描述:股价在低位盘整后,突然出现成交量放大,且收盘价站上5日均线。

// 定义低位:过去60天内最低价
LOWEST_LOW := LLV(LOW, 60);
// 当前价格在低位附近(例如低于前期高点的80%)
IN_LOW_POSITION := C < HHV(HIGH, 60)  0.8;
// 成交量放大:今日成交量大于5日均量的1.5倍
VOL_SURGE := VOL > MA(VOL, 5)  1.5;
// 价格站上5日线
CROSS_5MA := C > MA(C, 5);
// 最终选股条件
XG: IN_LOW_POSITION AND VOL_SURGE AND CROSS_5MA;

使用说明:将此代码保存为选股公式,运行后筛选出的股票可能在短期内有上涨动能。

均线多头排列公式

逻辑描述:5日、10日、20日均线依次向上排列,表明趋势强劲。

MA5 := MA(C, 5);
MA10 := MA(C, 10);
MA20 := MA(C, 20);
// 多头排列条件
LONG_ARRANGE := MA5 > MA10 AND MA10 > MA20;
// 趋势向上:今日收盘价大于昨日收盘价
TREND_UP := C > REF(C, 1);
// 选股输出
XG: LONG_ARRANGE AND TREND_UP;

使用说明:适用于趋势跟踪策略,在牛市或个股主升浪中效果较好。

MACD金叉共振公式

逻辑描述:MACD出现金叉,且成交量同步放大。

// MACD计算
DIF := EMA(C, 12) - EMA(C, 26);
DEA := EMA(DIF, 9);
MACD := (DIF - DEA)  2;
// 金叉条件
GOLDEN_CROSS := CROSS(DIF, DEA);
// 成交量放大
VOL_INCREASE := VOL > REF(VOL, 1);
// 选股输出
XG: GOLDEN_CROSS AND VOL_INCREASE;

使用说明:结合成交量过滤假金叉,提高信号可靠性。

学习路径与资源推荐

第一阶段:入门

熟悉通达信软件界面,了解基本指标(MA, MACD, KDJ)的含义和用法。阅读本教程第一部分。

第二阶段:语法掌握

学习公式编辑器,掌握变量、函数、逻辑运算符。尝试修改现有指标,理解其代码逻辑。

第三阶段:实战编写

根据交易策略编写自定义指标和选股公式。使用历史数据回测,优化参数。

第四阶段:高级应用

探索多周期引用、自定义画图函数、条件选股预警等高级功能,构建完整的量化交易体系。

常见问题解答 (FAQ)

Q: 通达信公式中常用的函数有哪些?

常用函数包括:MA(移动平均线)、EMA(指数移动平均线)、REF(引用前N日数据)、COUNT(统计满足条件的周期数)、IF(条件判断)、HIGH(最高价)、LOW(最低价)、OPEN(开盘价)、CLOSE(收盘价)、VOL(成交量)、AMOUNT(成交额)等。

Q: 如何调试通达信公式?

在公式编辑器中,点击“测试公式”按钮,系统会检查语法错误。此外,可以使用“画线工具”或“输出变量”在K线图上直观查看中间变量的值,逐步排查逻辑问题。如果公式运行缓慢,检查是否有复杂的循环或大量计算。

Q: 通达信公式支持回测吗?

通达信本身不提供强大的自动化回测引擎,但可以通过“条件选股”功能手动统计历史信号,或使用其自带的“策略测试器”(部分版本支持)进行简单回测。对于复杂回测,建议导出数据到其他平台(如Python、Excel)进行详细分析。

Q: 什么是未来函数?为什么不能使用?

未来函数(如ZIG, PEAK, TROUGH, BACKSET)会根据后续数据改变历史信号。例如,ZIG函数在价格反转后会重新绘制之前的信号,导致回测结果看似完美,但实盘中无法复现。因此,在编写选股和交易公式时,应避免使用未来函数。

Q: 如何优化公式以提高选股效率?

优化建议:1. 减少不必要的计算,如使用REF替代复杂循环;2. 设置合理的参数范围,避免过拟合;3. 使用“条件选股”时的“执行范围”限制,只在特定板块或股票池中运行;4. 定期更新公式,适应市场变化。

✨ 更多精彩
研
墨卷研习录
墨卷研习录
CopyRight@educfa.com.cn