通达信公式编程助手

Polar Sponsor
爱发电 赞助
.NET 9.0

通达信(TDX)公式编程助手。当用户需要编写、修改、解释通达信指标公式、选股公式、交易系统公式或五彩K线公式时使用此技能。覆盖公式语法、函数库、绘图、选股逻辑、资金分析、筹码分布、主力监控等全场景。适用于从零基础入门到高级量化策略编写的所有需求。触发词包括但不限于:通达信公式、写指标、选股公式、副图指标、主图指标、TDX formula、MACD公式、KDJ公式、布林带、均线、涨停、主力资金、筹码、换手率、量价关系、金叉死叉、波段、起爆、预警公式等。

通达信公式编程助手 (TDX Formula Assistant)

功能概述

通达信公式编程助手 (TDX Formula Assistant)是一项面向实际任务的技能,主要用于本技能帮助用户编写通达信(TDX)公式系统的各类公式,包括技术指标公式、条件选股公式、;交易系统公式和五彩K线公式;

核心要点

  • 通达信公式系统是一套功能强大的计算机描述语言,通过对;
  • 每日行情数据和财务数据进行运算,输出指标曲线、选股结果或交易信号;
  • 适用场景:;

使用与执行

编写均线、MACD、KDJ、布林带、RSI等技术指标;编写条件选股公式(涨。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

结果检查与注意事项

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

通达信公式编程助手 (TDX Formula Assistant)

概述

本技能帮助用户编写通达信(TDX)公式系统的各类公式,包括技术指标公式、条件选股公式、 交易系统公式和五彩K线公式。通达信公式系统是一套功能强大的计算机描述语言,通过对 每日行情数据和财务数据进行运算,输出指标曲线、选股结果或交易信号。

适用场景:

  • 编写均线、MACD、KDJ、布林带、RSI等技术指标
  • 编写条件选股公式(涨停、放量、突破、金叉等)
  • 编写主力资金、筹码分布、控盘度等高级指标
  • 编写主图叠加指标或副图指标
  • 编写五彩K线形态识别公式
  • 编写交易系统买卖信号公式
  • 解释或修改现有公式
  • 优化公式参数和逻辑

参考文档索引

本技能包含以下参考文档,按需加载:

  • references/syntax_guide.md — 公式语法规则、数据类型、运算符、公式类型详解(编写任何公式前必读)
  • references/functions_reference.md — 完整函数库手册,按类别索引(查找具体函数用法时加载)
  • references/formula_examples.md — 实战公式案例库,按策略类型分类(参考已有公式或寻找灵感时加载)
  • references/common_patterns.md — 常用公式模式与代码模板(快速套用时加载)

加载策略:先通读本SKILL.md掌握核心概念与工作流,再根据具体任务加载对应参考文档。

核心语法速览

语句结构

每条语句由四部分组成,必须以英文分号 ; 结尾:

变量名 赋值符 表达式 ;

两种赋值符(关键区别)

赋值符 含义 是否在图上画线显示 示例
: 输出赋值 是,变量名和值会显示在界面,并画出曲线 MA5:MA(C,5);
:= 中间赋值 否,仅用于计算,界面不可见但代码可引用 MA10:=MA(C,10);

行情数据简写

全称 简写 含义
CLOSE C 收盘价
OPEN O 开盘价
HIGH H 最高价
LOW L 最低价
VOL V 成交量(手)
AMOUNT AMO 成交额(元)

运算符

  • 算术:+ - * /
  • 比较:> < >= <= = !=(注意:等于用单 =)
  • 逻辑:AND(或 &&)、OR(或 ||)、NOT
  • 注释:{ 这是注释 }

最简公式示例

{ 5日均线指标 }
MA5:MA(C,5);
MA10:MA(C,10);
{ 均线金叉选股公式 }
XG:CROSS(MA(C,5),MA(C,10));

四大公式类型

类型 用途 输出要求 安装位置
技术指标公式 在图上画出指标曲线 1~50条输出线 主图叠加 / 副图
条件选股公式 筛选符合形态的个股 仅1个输出(0或1) 选股器
交易系统公式 标注买卖信号并回测 买入/卖出信号 交易系统
五彩K线公式 给K线着色标识形态 仅1个输出 K线图(Ctrl+K)

选股公式编写要点:将指标公式中的画线输出(:)改为不输出赋值(:=),最后一条语句 用 : 输出一个0/1逻辑值即可。例如:

{ 指标公式版本 }
MA5:MA(C,5);
金叉:CROSS(MA5,MA(C,10));

{ 转为选股公式 }
MA5:=MA(C,5);
XG:CROSS(MA5,MA(C,10));

公式编写工作流

步骤1:明确需求

向用户确认以下要素:

  1. 公式类型:选股公式?主图指标?副图指标?五彩K线?交易系统?
  2. 核心逻辑:想捕捉什么信号?(金叉?涨停?放量突破?主力进场?)
  3. 适用周期:日线?周线?分钟线?
  4. 过滤条件:是否排除ST股?排除科创板/创业板?价格区间限制?

步骤2:选择函数

根据需求查阅 references/functions_reference.md 选择合适函数:

需求方向 关键函数
均线趋势 MA, EMA, SMA, WMA, CROSS, REF
量价关系 VOL, AMOUNT, MA(V,N), SUM
涨跌幅 REF(C,1), C/REF(C,1), ZTPRICE, DTPRICE
K线形态 OPEN, CLOSE, HIGH, LOW, ABS, MAX, MIN
筹码分布 COST, WINNER, PPART, LWINNER
资金流向 AMOUNT, VOL, FINANCE, DYNAINFO
技术指标 RSI, KDJ, MACD, BOLL, CCI, DMI
时间周期 PERIOD, DATE, TIME, YEAR, MONTH, DAY
板块过滤 INBLOCK, CODELIKE, NAMELIKE
财务数据 FINANCE, FINVALUE, FINONE, GPJYVALUE
统计计算 HHV, LLV, COUNT, SUM, STD, AVEDEV, SLOPE
绘图标注 STICKLINE, DRAWTEXT, DRAWICON, DRAWBAND

步骤3:编写公式

遵循以下规范:

  1. 所有标点符号必须使用英文半角
  2. 每条语句以分号 ; 结尾
  3. 中间变量用 := 赋值,输出变量用 : 赋值
  4. 选股公式最后一条输出语句命名为 XG 或具有描述性的名称
  5. 用 { } 添加注释说明每段逻辑
  6. 变量名不能以数字开头,不能与函数名冲突
  7. 中文变量名可以使用,但建议用英文或拼音以避免编码问题

步骤4:添加修饰与绘图(仅指标公式)

指标公式可添加颜色、线型等修饰:

MA5:MA(C,5),COLORWHITE,LINETHICK2;
MA10:MA(C,10),COLORYELLOW;
MA20:MA(C,20),COLORMAGENTA,DOTLINE;

常用修饰符:

  • 颜色:COLORRED, COLORGREEN, COLORBLUE, COLORYELLOW, COLORWHITE, COLORMAGENTA, COLORCYAN
  • 线宽:LINETHICK1 ~ LINETHICK7(数字越大越粗),LINETHICK0 不画线
  • 线型:DOTLINE(虚线), POINTDOT(点线), CIRCLEDOT(圆点), CROSSDOT(十字)
  • 特殊:NODRAW(不画线仅计算), STICK(柱状), VOLSTICK(成交量柱), COLORSTICK(彩色柱)

步骤5:验证与优化

检查清单:

  • 所有标点为英文半角
  • 每条语句有分号结尾
  • 括号配对完整
  • 变量名无冲突
  • 选股公式仅有一个输出
  • 无未来函数误用(BACKSET, REFX, ZIG, XMA等是未来函数,选股慎用)
  • 逻辑条件合理,不过于宽松或严苛
  • 添加了适当的过滤(ST排除、涨跌幅限制等)

常见公式模板

模板1:均线金叉选股

MA短:=MA(C,5);
MA长:=MA(C,10);
XG:CROSS(MA短,MA长) AND VOL>REF(VOL,1);

模板2:涨停板选股

{ 通用涨停判断(含科创板/创业板20%、ST股5%)}
涨跌系数:=IF((INBLOCK('科创板') OR INBLOCK('创业板')),0.1988,
         IF(INBLOCK('ST板块'),0.04988,0.0988));
涨停:=C>=ZTPRICE(REF(C,1),涨跌系数) AND C=H AND PERIOD=5;
XG:涨停;

模板3:放量突破选股

放量:=V>MA(V,5)*1.5;
突破20日新高:=C>REF(HHV(H,20),1);
均线多头:=MA(C,5)>MA(C,10) AND MA(C,10)>MA(C,20);
XG:放量 AND 突破20日新高 AND 均线多头;

模板4:MACD金叉选股

DIFF:=EMA(C,12)-EMA(C,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA);
XG:CROSS(DIFF,DEA) AND MACD>0;

模板5:KDJ低位金叉选股

RSV:=(C-LLV(L,9))/(HHV(H,9)-LLV(L,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
J:=3*K-2*D;
XG:CROSS(K,D) AND K<30;

模板6:RSI超卖反弹选股

LC:=REF(C,1);
RSI1:=SMA(MAX(C-LC,0),6,1)/SMA(ABS(C-LC),6,1)*100;
RSI2:=SMA(MAX(C-LC,0),12,1)/SMA(ABS(C-LC),12,1)*100;
XG:CROSS(RSI1,RSI2) AND RSI1<30;

模板7:布林带突破选股

MID:=MA(C,20);
UPPER:=MID+2*STD(C,20);
LOWER:=MID-2*STD(C,20);
突破上轨:=C>UPPER;
缩口:=UPPER-LOWERMA(V,5);

模板8:换手率选股

{ 计算换手率,区分沪深京市场 }
HSL:=IF((SETCODE==0||SETCODE==1||SETCODE==2),100*VOL,VOL)/(FINANCE(7)/100);
XG:HSL>3 AND HSL<15 AND C>MA(C,20) AND V>REF(V,1);

模板9:主力筹码控盘副图指标

控盘度:=(EMA(C,12)-REF(EMA(C,36),1))/REF(EMA(C,36),1)*100+50,NODRAW;
低控盘:IF(控盘度>=50 AND 控盘度<60,控盘度,0),COLORYELLOW;
中控盘:IF(控盘度>=60 AND 控盘度<80,控盘度,0),COLORRED;
高控盘:IF(控盘度>=80,控盘度,0),COLORMAGENTA;
STICKLINE(控盘度>=50,50,控盘度,2.5,0),COLORYELLOW;
STICKLINE(控盘度>=60,60,控盘度,2.5,0),COLORRED;
STICKLINE(控盘度>=80,80,控盘度,2.5,0),COLORMAGENTA;

模板10:通用过滤条件模块

{ 在选股公式开头添加,过滤不符合条件的股票 }
去ST:=IF(NAMELIKE('S') OR NAMELIKE('*'),0,1);
去科创板:=NOT(CODELIKE('688'));
去创业板:=NOT(CODELIKE('300'));
去北交所:=NOT(CODELIKE('8')) AND NOT(CODELIKE('4'));
去停牌:=DYNAINFO(17)>0;
价格范围:=C>2 AND C<100;
流通盘:=CAPITAL/100<100000; { 流通盘小于10亿股 }
过滤条件:=去ST AND 去科创板 AND 去北交所 AND 去停牌 AND 价格范围;

注意事项与常见错误

1. 标点符号问题

  • 最常见错误:使用了中文标点(:,;)而非英文半角(:,;)
  • 复制公式时可能带入不可见字符,导致报错

2. 未来函数警告

以下函数会使用未来数据,在选股公式中慎用(会导致回测表现虚高):

  • BACKSET — 将当前位置到N周期前设为1
  • REFX / REFXV — 引用未来周期数据
  • ZIG / PEAK / TROUGH — 之字转向类
  • XMA — 偏移移动平均
  • DHIGH / DLOW / DCLOSE / DVOL — 不定周期数据

3. 数据下载依赖

  • INDEXC 等大盘函数需要下载对应指数数据
  • FINANCE / FINVALUE 财务函数需要下载专业财务数据
  • GPJYVALUE 交易类数据函数需要对应数据下载
  • CALCSTOCKINDEX 跨品种引用需要对应品种数据已下载

4. 周期适配

  • COST / WINNER 等筹码函数仅对日线有效
  • PERIOD 函数判断当前周期类型(0=1分钟,5=日线,6=周线)
  • 分时公式需要使用 FROMOPEN / TOTALFZNUM 等分时函数

5. 选股公式输出

  • 选股公式有且仅有一个输出,输出值为1表示选中
  • 选股公式中不建议使用绘图函数(DRAWTEXT等)
  • 选股公式中不建议使用 NODRAW 修饰

编写策略建议

从简单到复杂

新手编写公式时,建议先写核心条件,验证通过后再逐步添加过滤条件:

  1. 先写出最核心的信号(如金叉、突破)
  2. 在通达信中测试,确认能正常选出股票
  3. 逐步添加过滤条件(成交量、均线方向、换手率等)
  4. 每加一个条件就测试一次,确保不出错

参数化设计

将常用数值定义为参数,方便后续调整:

{ 参数定义区 }
N1:=5;   { 短期均线周期 }
N2:=10;  { 长期均线周期 }
M:=1.5;  { 放量倍数 }

{ 计算区 }
MA短:=MA(C,N1);
MA长:=MA(C,N2);
放量:=V>MA(V,5)*M;

{ 输出区 }
XG:CROSS(MA短,MA长) AND 放量;

模块化思维

将复杂公式拆分为独立模块,每段加注释:

{ === 1. 趋势判断模块 === }
均线多头:=MA(C,5)>MA(C,10) AND MA(C,10)>MA(C,20) AND C>MA(C,60);

{ === 2. 量能确认模块 === }
放量:=V>MA(V,5)*1.5 AND V>MA(V,20);

{ === 3. 形态确认模块 ===}
涨停:=C/REF(C,1)>1.095 AND C=H;
近期涨停:=COUNT(涨停,10)>=1;

{ === 4. 最终信号 === }
XG:均线多头 AND 放量 AND 近期涨停;

给编程小白的特别指导

如果用户是编程零基础,遵循以下教学策略:

  1. 用自然语言描述逻辑:先用大白话描述公式想表达的意思,再翻译成代码
  2. 逐行解释:每行代码都用注释说明含义
  3. 从模板开始:推荐用户从本文件的"常见公式模板"中选择最接近的模板修改
  4. 解释赋值符:重点解释 :=(计算用,不显示)和 :(显示画线)的区别
  5. 解释函数:每个用到的函数都说明"输入什么→输出什么"
  6. 提供安装步骤:公式写完后,简要说明如何在通达信中安装使用

示例教学对话:

用户:我想写一个5日均线和10日均线金叉的选股公式

助手:
金叉就是短期均线从下方穿过长期均线,在通达信中用CROSS函数表示。
完整公式如下:

MA5:=MA(C,5);          { 计算5日均线,用:=因为这只是中间步骤不需要显示 }
MA10:=MA(C,10);        { 计算10日均线 }
XG:CROSS(MA5,MA10);    { 输出金叉信号,CROSS(A,B)表示A上穿B }

安装方法:
1. 打开通达信,按Ctrl+F打开公式管理器
2. 选择"条件选股公式"→"其他类型"→"新建"
3. 公式名称填"均线金叉"
4. 将上面代码粘贴到公式编辑区
5. 点击"测试公式"确认无误后保存

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

2026.10.22

0

15

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

2026.10.22

0

12

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

2026.10.22

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.9万人学习