ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

通达信公式系统进阶指南:编辑器、函数与量化选股实战

通达信公式系统进阶指南:编辑器、函数与量化选股实战 简介通达信指标公式编辑教程大全函数指标实例是一份围绕TDX公式系统的完整教程面向股票技术分析爱好者与量化选股初学者系统讲解如何利用行情数据进行指标编写、条件选股与交易系统建模覆盖从公式基础到策略验证的完整链路。文档依次介绍了技术指标公式、条件选股、五彩K线、交易系统、公式管理器等核心模块的编辑与调用方法涵盖函数语法、参数设置、主图叠加与副图坐标、公式加密输出等细节并结合具体实例演示从新建公式到回测验证的完整流程。资源仅含1个docx文档共553KB内容紧凑便于按章节索引公式编辑器与函数参考目前已有293人学习适合希望自主搭建选股策略、理解通达信公式底层逻辑的投资者快速上手。1. 通达信公式系统一套被低估的行情描述语言通达信的公式系统本质上是一套面向行情数据的领域专用语言DSL。它不像 Python 那般通用却在行情序列处理上有着极高效率你不需要写循环REF、HHV、COUNT这类函数天然按周期迭代这让指标表达从“算法实现”变成了“规则描述”。很多人把精力花在四处找所谓“源码”上却忽略了公式编辑器本身就提供了完整的调试、测试和参数优化环境。本文以《通达信指标公式编辑教程大全(函数指标实例)》为主线把公式管理器的四类编辑器、关键函数语义和常见坑点一次讲透适合刚接触公式编写、想从“抄指标”转向“写指标”的投资者也适合需要用通达信做量化验证的 IT 从业者。文中涉及的所有函数名和调用方式均以通达信内置语法为准。2. 四类公式编辑器先分清你要写的是哪一种2.1 技术指标公式唯一可以画线的类型技术指标公式是四类编辑器里最基础、也是唯一直接输出图形曲线的类型。它的核心约束是至少一条输出线最多六条输出线。这个限制决定了它的用途——表达“状态”而不是表达“动作”。比如常见的 MACDDIF、DEA、MACD 柱三条线就是典型的技术指标输出。画线方法分为主图叠加和副图两种。主图叠加适合围绕价格波动的指标比如均线系统副图适合表达量能、动量类数据比如 RSI、KDJ。判断标准很简单输出值的量纲是否与价格一致一致就主图不一致就副图。在公式管理器中新建技术指标时需要注意“坐标位置”这一项。它允许你指定在哪些数值处画水平坐标线比如 RSI 可以设置0;20;50;80;100这样超买超卖区域一目了然。这个设置只对副图指标生效主图叠加指标不显示该选项。2.2 条件选股公式单输出的布尔判断条件选股公式的核心特征是有且仅有一个输出且输出逻辑是“是否满足条件”。它不关心条件成立后怎么画线只关心当前周期是否触发信号。典型应用场景是选出最近一个周期出现金叉的股票。这里要特别注意它与五彩 K 线公式的区别。条件选股只对最新数据做判断也就是说它天然是“当前周期视角”而五彩 K 线公式对历史所有数据都做提示输出是在 K 线图上用颜色标注。用工程化的语言说条件选股是“单次查询”五彩 K 线是“全量标注”。2.3 交易系统公式带上买卖规则的完整闭环交易系统公式在条件选股的基础上做了延伸它要求恰好两个输出——买入点和卖出点。这两个输出被系统用来做模拟交易进而可以统计胜率、收益曲线、最大回撤等指标。这个设计对量化思维非常重要。很多人在写指标时只关注“买点”忘记了“卖点才是决定盈亏的关键”。交易系统公式强迫你同时定义买入和卖出规则否则无法通过编译。它还支持参数优化可以针对不同参数组合做回测选出历史表现最优的参数集。2.4 五彩 K 线公式条件选股的视觉化变体五彩 K 线公式是条件选股公式的“染色版本”。它同样只有单一输出但输出的结果不是选股列表而是对 K 线形态进行颜色标注。适合用来识别连续形态比如三连阳、跳空缺口、放量长阳等。一个实用的做法是先写好条件选股公式确认逻辑正确后复制一份改成五彩 K 线公式把输出改为条件赋值即可。这样既保留了选股能力又能在 K 线图上直观看到历史所有触发点。3. 公式编辑器的关键设置与调试手段3.1 参数设计从“写死”到“可调”公式可以携带 0 到 6 个参数每个参数需要设定名称、最小值、最大值和缺省值。参数的意义在于把“经验值”从算法中剥离出来让使用者不需要修改公式本体就能调整灵敏度。以均线金叉为例M1:MA(CLOSE,5); M2:MA(CLOSE,10); CROSS(M1,M2);如果直接把周期写死为 5 和 10那么每次调整都需要进入公式编辑器修改源码。更规范的做法是参数化N1:5; N2:10; M1:MA(CLOSE,N1); M2:MA(CLOSE,N2); CROSS(M1,M2);但这样依然不够优雅。正确的做法是在公式编辑器的参数表中定义 N1、N2 两个参数设置最小值和最大值比如 1 到 250这样在调用指标时可以直接通过鼠标调整参数滑块无需进入编辑器。参数精灵则允许你用一段文字描述参数的用法其中Param#1会被替换为第一个参数的实际值。设计参数时有一个容易被忽略的原则最小值与最大值的跨度决定了参数的“可探索空间”。跨度太小参数优化失去意义跨度太大优化耗时且容易过拟合。常见做法是给出 1 到 250 的默认范围再根据实际经验收敛到常用区间。3.2 密码保护加密公式的边界公式编辑器提供密码保护功能勾选后需要输入密码加密后的公式在修改、查看和导出时都需要密码验证。这里有一个实际使用中的坑加密公式的图标是红色锁形系统自带公式是绿色锁形如果你要修改系统自带公式建议先另存为用户公式再修改避免影响系统原始定义。密码保护会对公式内容做混淆处理但这不代表绝对安全。如果你从外部引入公式发现源码不可见说明对方做了加密。此时若要参考其算法只能通过输出结果反推无法直接查看源码。3.3 公式测试与动态提示测试公式按钮用于检查语法错误。通达信的公式语法错误提示相对明确常见的有函数参数个数不匹配变量未定义括号不匹配输出线数量超过限制动态提示功能在输入函数名时同步显示中文语义对初学者非常友好。但要注意动态提示只对标准函数库生效自定义变量不会触发提示。3.4 画线方法与坐标设置画线方法的选择直接决定指标的可读性。主图叠加指标没有独立的坐标空间它直接叠加在 K 线图上因此数值范围必须与价格匹配。副图指标拥有独立的坐标空间可以自由设定坐标范围。坐标位置的设置支持分号分隔的多个数值系统会在指定位置画水平线。这些线是辅助参考线常见于 RSI30/50/70、KDJ20/80等超买超卖类指标。额外 Y 轴分界是一个容易被忽略的功能。它允许你在副图坐标中标记重要的数值分界线以白色线显示。区别于坐标位置深红色线额外 Y 轴分界更适合标记“关键阈值”而非“常规分位”。4. 函数语义精讲从“会用”到“用对”4.1 大盘函数与常数函数数据维度的切换通达信公式系统的数据维度分为个股和大盘两层。大盘函数以INDEX为前缀包括收盘价INDEXC、成交量INDEXV、上涨家数INDEXADV等。这些函数用于判断个股与大盘的相对强弱比如计算个股涨跌与大盘涨跌的差值。常数函数中最常用的是CAPITAL和FINANCE。CAPITAL返回流通盘大小以手为单位。换手率公式可以写作100*VOL/CAPITAL这里的 100 是百分比换算系数。FINANCE(N)按编号返回财务数据比如FINANCE(30)是净利润FINANCE(33)是每股收益。使用FINANCE函数时有一个时间窗口的问题财务数据是定期更新的通常滞后于行情数据。在选股公式中使用财务数据时要注意数据更新日期否则可能用到过期数据。动态行情函数DYNAINFO(N)则是实时数据比如DYNAINFO(7)是最新价DYNAINFO(3)是昨收。两者的本质区别在于FINANCE是周期性更新的静态数据DYNAINFO是逐笔变动的动态数据。4.2 引用函数时间序列的核心操作引用函数是通达信公式系统最精华的部分。REF(X,A)引用 A 周期前的 X 值是所有跨周期比较的基础。REF(CLOSE,1)在日线上就是昨收。REFDATE(X,A)则引用指定日期的数据需要传入具体的日期格式比如REFDATE(CLOSE,20240101)表示 2024 年 1 月 1 日的收盘价。BARSLAST(X)返回上一次条件成立到当前的周期数这个函数在统计“距离上次某事件发生多久”的场景中极其有用。比如统计上一次涨停到当前的周期数ZT:CLOSE/REF(CLOSE,1)1.095 AND CLOSEHIGH; BARSLAST(ZT);BARSSINCE(X)返回第一次条件成立到当前的周期数适合用来计算“上市以来第一次满足某条件的时间距离”。比如BARSSINCE(HIGH20);COUNT(X,N)统计 N 周期内条件 X 成立的次数SUM(X,N)求和HHV(X,N)和LLV(X,N)求极值。这里需要特别注意的是 N 的取值N0表示从第一个有效值开始。这在高频数据或新股上市初期会引入极大计算量要注意选股时的性能开销。BACKSET(X,N)是较难理解的函数之一它将当前位置到 N 周期前的数据设为 1。它的应用场景是“标记某个条件成立后的回溯区间”常用来做信号确认。典型误区是把它与FILTER混淆。FILTER(X,N)是条件成立后过滤后续 N 周期的重复信号两者用途相反。4.3 指标函数成本分布与转向类函数COST(X)表示 X% 获利盘的价格该函数仅对日线分析周期有效。它基于筹码分布理论计算是衡量套牢盘与获利盘比例的重要工具。典型用法COST(10);表示 10% 获利盘的价格即有 10% 的持仓量在该价格以下其余 90% 为套牢盘。这个函数在判断支撑位时有独特价值。PEAK(K,N,M)与PEAKBARS(K,N,M)基于之字转向函数ZIG(K,N)用于识别波峰及其位置。K 取 1 表示最高价0 表示开盘价N 为转向百分比。这类函数适合自动识别高低点但需要注意ZIG函数使用未来数据在实盘中会出现信号漂移不建议直接用于交易信号更适合用于历史形态统计。SAR(N,S,M)是抛物转向指标N 为计算周期S 为步长M 为极值。SARTURN(N,S,M)返回转向信号1 表示向上转向-1 表示向下转向。SAR 指标在趋势行情中表现优异但在震荡行情中会频繁翻转参数设置时步长不宜过小。4.4 移动平均族函数MA、EMA、SMA 的差异MA(X,N)是简单移动平均权重均等EMA(X,N)是指数平滑移动平均近期数据权重更大SMA(X,N,M)是变权移动平均通过 M 调节平滑程度。三者看似相近实则算法逻辑差异很大MA(CLOSE,5); // 5日均价 EMA(CLOSE,5); // 5日指数平滑均价 SMA(CLOSE,5,1); // 5日变权均价M1时为特殊EMAEMA的递归性质使得它在数据量较小时与MA差异明显早期数据点权重被反复衰减。DMA(X,A)是动态移动平均平滑因子 A 是变量序列典型用法DMA(CLOSE,VOL/CAPITAL)是用换手率作为平滑因子将成交量因素纳入价格平滑逻辑中。5. 从指标到选股再到交易系统一条完整的上手路径很多人在学会单个函数后就停下来了但通达信公式的真正价值在于“组合”。这里给出一个完整的上手路径以均线系统为蓝本逐步扩展成条件选股公式和交易系统公式。5.1 第一步先写一个副图技术指标N:5; M:10; MA1:MA(CLOSE,N); MA2:MA(CLOSE,M); DIF:MA1-MA2,COLORSTICK;这段代码计算两条均线的差值并用柱线显示在副图上。COLORSTICK是红绿柱的画线方法当差值为正时显示红色为负时显示绿色。先确保这条公式能正确编译显示再进一步扩展。5.2 第二步扩展为条件选股公式N:5; M:10; MA1:MA(CLOSE,N); MA2:MA(CLOSE,M); CROSS(MA1,MA2);条件选股公式只保留最后一个输出且必须是逻辑判断。CROSS(MA1,MA2)表示 MA1 上穿 MA2即金叉。这里的:是中间变量赋值不产生输出线。写选股公式时有一个常见错误把多个输出都写在公式里。条件选股公式只允许一条输出必须用中间变量屏蔽掉图形输出。5.3 第三步升级为交易系统公式N:5; M:10; MA1:MA(CLOSE,N); MA2:MA(CLOSE,M); ENTERLONG:CROSS(MA1,MA2); EXITLONG:CROSS(MA2,MA1);ENTERLONG和EXITLONG是交易系统公式的固定输出名称分别表示买入和卖出信号。系统会根据这两个信号进行模拟交易。这种均线金叉死叉系统过于简单实盘效果有限但作为理解交易系统机制的最小可行示例是合适的。5.4 参数优化与验证交易系统公式支持参数优化功能。设置 N 和 M 的取值范围比如 1 到 60系统会在每个参数组合下执行模拟交易输出收益、胜率、最大回撤等统计数据。这本质上是一种网格搜索的参数调优方法与机器学习中的超参搜索类似。优化时要注意过拟合风险历史表现最好的参数组合在未来未必有效。一个折中的做法是分段验证比如用前 3 年数据选出最优参数再用后 1 年数据验证该参数的表现而非直接选用全量数据下的最优参数。5.5 实战一个包含过滤条件的选股公式ZT:CLOSE/REF(CLOSE,1)1.095 AND CLOSEHIGH; COUNT(ZT,5)2 AND MA(CLOSE,5)MA(CLOSE,10);这段代码选出最近 5 日出现至少 2 次涨停、且 5 日均线在 10 日均线上方的股票。COUNT(ZT,5)2是强度过滤条件MA(CLOSE,5)MA(CLOSE,10)是趋势过滤条件两个条件叠加有效降低了信号频率。运行选股前建议先用测试公式检查语法再通过条件选股平台跑全市场。如果结果数量过大增加过滤条件如果结果过少放宽COUNT的周期或次数阈值。另外值得强调的是公式编辑器中容易被忽略的用法注释功能。在公式发布或自用留存时在用法注释中注明算法逻辑、参数含义和使用注意事项几个月后回头看代码时会省去大量回忆成本。配合参数精灵可以把参数调整与含义说明同步呈现。这两项习惯的价值在公式从“自用”转向“分享”时体现得最为明显。本文还有配套的精品资源点击获取
返回列表