简介:通达信九转公式指标源码文档,适合使用通达信软件进行股票、期货等技术分析的中级及以上交易者。该公式基于市场数据与逻辑判断,可在日线、周线、月线等不同周期图表中捕捉趋势拐点,为买卖决策提供可量化的参考信号。文档包含完整的源码实现,共1个doc文件,压缩包整体约259KB,体积小巧,便于立即导入通达信软件使用。源码中运用REF、BARSLAST、REFX等函数处理历史数据,通过IF、AND、OR等条件判断构建九转数列,并使用DRAWTEXT、DRAWICON在图上标注绿色低点1-9序列与黑色高点1-9序列,帮助识别潜在的上涨反转与下跌反转位置;变量A、T、M等均可按需调整,便于与均线、MACD、RSI等指标联用以增强策略稳定性。已有623人浏览学习,适合希望深入理解九转逻辑并根据自身交易风格进行二次开发的投资者参考。 做股票看盘的年头一久,你会发现,有些指标是用来描述状态的,有些指标是用来捕捉时点的。九转公式属于后者——它是把所有K线按同一套规则做“连续计数”,数到第9下,告诉你:这段方向的推动力可能到了尾声。这篇博文我把通达信九转公式的源码、原理、导入步骤和各周期用法一次讲透,适合三类人看:想搞懂九转内在逻辑的新手、正在找可直接复制的指标公式源码的老手、以及想把九转和选股功能结合起来的实战派。
1. 九转公式的整体设计与思路拆解
1.1 九转的核心逻辑:连续计数9次的“衰竭信号”
九转公式源自国外技术分析界流行的TD序列(TD Sequential),由Tom DeMark提出,在国内通达信软件里被简称为“九转”。它做的事情很单纯:把价格走势拆成一段一段的“连续满足条件”,然后数到9为止。
具体规则是两条:
- 买入序列:当某根K线的收盘价低于4根K线之前的收盘价时,记为条件满足,连续满足就依次标1、2、3……一直到9。
- 卖出序列:当某根K线的收盘价高于4根K线之前的收盘价时,记为条件满足,连续满足就依次标1、2、3……一直到9。
为什么用“4”和“9”这两个数?这还真不是拍脑袋定的。4根K线代表一个中短期的参照基准,用它做比较,能过滤掉单日随机波动,又不会像太长周期那样反应迟钝。而“9”是经过大量行情统计后出现的“衰竭极值位”,在连续9次同向推进后,市场继续朝原方向猛冲的概率会下降,反转或调整的概率则明显上升。
用大白话讲,九转其实就是把“跌不动了”或“涨不动了”这个盘感,变成了一条硬规则:一段行情从启动到高潮,如果连续走了9步同方向,后面的接力资金大概率接不动了。
1.2 为什么这套公式可以各周期通用
很多通达信指标换了周期就失效,要么是因为函数本身绑定了日线周期,要么是参数写死了固定的时间窗口。九转公式天然适合全周期,原因有两点。
第一,通达信的公式系统本身就是“顺势执行”的:你在日线上跑,REF(C,4)取的就是4个交易日前;你在30分钟图上跑,REF(C,4)取的就是4根30分钟K线之前。公式里没有DATE、TIME这类锁定自然日的函数,所以同一份源码切到任何周期都能跑。
第二,市场参与者的交易心理在时间尺度上具有“自相似性”。5分钟图里的连续下跌和日线图里的连续下跌,背后都是同一种“越跌越恐慌、越恐慌越卖”的情绪循环。九转捕捉的是这种循环的第9步,所以它不管你是看分钟线还是周线,逻辑都成立。只是不同周期的信号意义不同:30分钟线能提前给出短线节奏,日线适合做波段,周线级别出现第9日往往是中线级别的机会或风险区。
2. 源码拆解:每个符号都在干什么
2.1 主图指标公式源码:拷进去就能用
我直接把可用的通达信九转公式源码贴出来,你新建一个技术指标公式,选“主图叠加”,粘贴保存即可。
{通达信九转序列——各周期通用主图版} A:=C<REF(C,4); {买入条件:收盘价低于4周期前收盘价} B:=C>REF(C,4); {卖出条件:收盘价高于4周期前收盘价} TA:=BARSLAST(NOT A); {距离上一次不满足买入条件的周期数} TB:=BARSLAST(NOT B); {距离上一次不满足卖出条件的周期数} BUYSEQ:=IF(A,TA+1,0); {买入序列当前计数} SELSEQ:=IF(B,TB+1,0); {卖出序列当前计数} DRAWNUMBER(BUYSEQ>0 AND BUYSEQ<=9,LOW*0.99,BUYSEQ,COLORRED); DRAWNUMBER(SELSEQ>0 AND SELSEQ<=9,HIGH*1.01,SELSEQ,COLORGREEN); STICKLINE(BUYSEQ=9,CLOSE,OPEN,4,0),COLORRED; STICKLINE(SELSEQ=9,CLOSE,OPEN,4,0),COLORGREEN; DRAWICON(BUYSEQ=9,LOW*0.96,1); DRAWICON(SELSEQ=9,HIGH*1.04,2);这串源码里最核心的是中间三行。A和B是两个相反的条件判断,C是当前K线收盘价,REF(C,4)是4根K线之前的收盘价,“<”和“>”分别代表走弱和走强。
BARSLAST(NOT A)是整段代码的“计数器”,含义是“最近一次条件不满足,距离现在过了几根K线”。当A满足时,TA的值会随着连续满足的天数不断增加:如果上一根K线A不满足,则BARSLAST(NOT A)=1,TA+1=2,说明当前是连续第2天满足;如果已经连续满足5天,则BARSLAST(NOT A)=5,TA+1=6。这么写就实现了“连续计数”的效果。
最后的绘图函数做三件事:在K线下方用红色数字标出买入序列,在K线上方用绿色数字标出卖出序列;当计数到9时,把第9根K线涂成对应颜色并画图标提示。图标编号1和2是通达信内置的图形,你可按喜好改成其他编号,不影响逻辑。
2.2 条件选股公式源码:每天自动挑出“第9日”个股
主图公式负责“看”,选股公式负责“筛”。每天收盘后你想知道全市场哪些股票刚触发九转第9日,可以单独建一个条件选股公式:
{通达信九转序列——第9日选股公式} A:=C<REF(C,4); TA:=BARSLAST(NOT A); BUYSEQ:=IF(A,TA+1,0); XG:BUYSEQ=9;最后一行XG:BUYSEQ=9是选股条件的输出,系统会筛选出“买入序列恰好数到9”的股票。如果你想找卖出序列的第9日,把A的条件改成C>REF(C,4)即可。这只选股公式在通达信的“条件选股”里运行,适合每天复盘时批量扫描。
3. 实操过程:导入、选股与各周期验证
3.1 通达信导入九转公式的完整步骤
新建公式的路径各个版本略有差异,但大框架一致:
- 打开通达信,进入任意个股K线界面。
- 按快捷键 Ctrl+F,打开“公式管理器”。
- 在左侧树形列表里选“技术指标公式”,再选一个你常用的分组,比如“其他类型”或自己新建的分组。
- 点击“新建”,公式名称填“九转序列”,画线方法选“主图叠加”。
- 把上面的主图源码粘贴到公式编辑区,注意先在记事本里去掉Word格式,避免中文引号被转成乱码。
- 点击“测试公式”,下方提示“测试通过”后保存。
导入之后回到K线图,输入“九转序列”的首字母缩写(比如JZXL),按回车键就能看到指标加载在主图上。如果你用的是选股版源码,则是在公式管理器里选“条件选股公式”新建,之后通过“功能→选股器→条件选股”调用。
3.2 各周期实测:日线、周线、分钟线的信号差异
我自己用下来,九转在不同周期上的实战感觉差别很明显。
日线级别最稳。日线的第9日出现后,如果叠加了前期的趋势支撑位或重要均线,往往是很不错的波段介入点。周线级别信号最少,但质量最高,周线第9日通常对应中期大底或大顶,一年也出不了几次,出一次就值得重视。30分钟或60分钟级别的第9日更适合激进型选手,信号频繁,适合做T或短线快进快出,但容错率低,必须配合止损。
一个比较实用的组合玩法是跨周期共振:先在日线上看到买入序列已经数到7或8,再去30分钟或60分钟图上等它的第9日确认,两个周期同时发出信号时再动手。这种做法能减少小周期假信号,胜率体感比单一周期好不少。
需要注意,分钟级别对数据量要求更高。如果某只股票上市时间短,或者是新股次新股,早期K线不足会导致BARSLAST统计异常,形成无效信号。遇到这类标的,建议等K线数量至少达到30根以上再看九转。
4. 实战注意事项与常见问题排查
4.1 九转不是“必涨必跌”信号,强趋势中会钝化
九转本质上是一个“统计规律型”指标,不是“预测型”指标。第9日出现后,行情反转或调整的概率确实变大了,但绝不代表第9日就是最高点或最低点。尤其在极强趋势里,经常出现连续下跌12天、15天的情况,九转在第9天提示之后,价格还能继续往下砸。
很多新手第一次用九转,遇到“第9日抄底,结果又跌了三天”就骂指标没用。实际上这不是指标错了,而是对“衰竭”的理解太绝对。九转衡量的是同向推动的衰减,不是趋势的终结。遇到连续强趋势,第9日之后可能还有第10、第11天,只是这些天不再被计数而已。
所以我在实战里给它加了两道“保险”:一是只在上升趋势中做买入序列,比如要求股价在MA60之上才关注九转买入信号;二是配合量能,第9日出现缩量十字星或长下影线时,比放量阴线的可靠性高得多。
4.2 常见问题速查表与避坑技巧
| 现象 | 可能原因 | 处理方法 |
|---|---|---|
| 信号过多,每天选出一大堆 | 没加趋势过滤,震荡市里序列反复 | 叠加均线方向、MACD或量能条件做二次筛选 |
| 第9日后继续暴跌/暴涨 | 强趋势钝化,序列失效 | 放弃左侧抄底,等出现反包K线再介入 |
| 数字不显示或乱码 | Word粘贴带了格式,中文引号被转义 | 粘贴前先粘贴到记事本转纯文本 |
| 周线、月线看不到信号 | 数据量不足或主图叠加设置错误 | 检查公式画线方法是否选了“主图叠加” |
| 分钟线信号明显失真 | 股票开盘时间短、K线样本少 | 该周期不设九转选股,只看日线以上 |
| 选股公式报错 | 选股公式不能包含绘图函数 | 删掉STICKLINE、DRAWICON等绘图语句 |
| 第9日出现后还想看10、11、12 | 经典九转只数到9 | 如需连续跟踪可参考TD Countdown完整版逻辑 |
选股公式报错是高频问题,很多朋友把主图公式直接复制到条件选股里,结果提示“条件选股公式不允许包含绘图函数”。解决办法就是我只保留逻辑部分,所有DRAWNUMBER、STICKLINE、DRAWICON全部删掉,只输出最终的条件判断。
还有一个容易忽略的坑:通达信公式里,A:=C<REF(C,4)后面的分号不能写成中文全角分号。从Word文档复制公式时,中文引号、括号、分号经常被自动转成全角字符,轻则报错,重则测试通过但计算结果出错。我的习惯是所有公式一律存成.tni文件或复制到txt里再粘进通达信,基本不会踩这个坑。
4.3 九转与DLL、其他指标源码的区别
市面上很多通达信“九转公式源码.doc”里还会附赠DLL编写技巧、选股插件源码之类的内容。我的看法是,九转这种纯公式就能实现的指标,完全没必要上DLL。DLL的优点是加密和效率,缺点是可能被杀毒软件误报,而且换电脑、换券商版本时很容易失效。纯公式版虽然代码公开,但胜在稳定、跨平台、随时能改参数,对普通投资者来说优先级明显更高。
如果看到网上的九转源码加了密码,或者以DLL形式发布,建议谨慎使用。真正有价值的是公式逻辑本身,加壳和加密并不能提高信号的准确性。
5. 让九转从“能用”到“好用”的几个进阶技巧
5.1 用参数化改造,适配不同品种和风格
固定写死“9”和“4”虽然简单,但适用性有限。如果你把源码改成带参数的版本,就能针对不同品种和周期微调:
{参数设置:N=9,M=4} A:=C<REF(C,M); B:=C>REF(C,M); TA:=BARSLAST(NOT A); TB:=BARSLAST(NOT B); BUYSEQ:=IF(A,TA+1,0); SELSEQ:=IF(B,TB+1,0); DRAWNUMBER(BUYSEQ>0 AND BUYSEQ<=N,LOW*0.99,BUYSEQ,COLORRED); DRAWNUMBER(SELSEQ>0 AND SELSEQ<=N,HIGH*1.01,SELSEQ,COLORGREEN); STICKLINE(BUYSEQ=N,CLOSE,OPEN,4,0),COLORRED; STICKLINE(SELSEQ=N,CLOSE,OPEN,4,0),COLORGREEN; DRAWICON(BUYSEQ=N,LOW*0.96,1); DRAWICON(SELSEQ=N,HIGH*1.04,2);在通达信公式编辑界面右侧的“参数”标签页里,把N设为默认9、最小5、最大20;M设为默认4、最小2、最大8。当某只票正处于极强趋势时,把N从9调到13,可以更晚地提示衰竭;当你想做超短线时,把M从4调到3,信号会更灵敏。
5.2 多周期叠加共振的判断模板
我给团队成员的一个标准动作是“三图同看”:日线九转定方向,60分钟九转找确认,分时量能定最终入场。具体做法是,当日的日线图上,买入序列出现在6到8之间,就说明大方向快到位了;此时切到60分钟图,如果60分钟图也出现了第8或第9天,那就是短线入场的最佳窗口。卖出同理。
这个方法用下来最大的好处是过滤掉“日线第9日但分时还在放量下杀”的尴尬场景。等两个周期共振,牺牲掉一小段利润,换来的却是更低的试错成本。
5.3 我最常用的一种九转组合
如果只让我保留一种组合,我会选“九转+均线乖离率”。均线乖离率反映价格偏离均线的程度,和九转的“衰竭”逻辑天然互补。当九转出现第9日,同时乖离率超过历史80%分位时,反转的概率会明显提高。这个过滤条件不用写在公式里,用通达信的“条件选股”组合功能就能实现,选股条件一选九转第9日、二选乖离率阈值,两个条件同时满足才纳入观察池。
我的个人习惯是,每周复盘时把全市场日线九转第9日的股票跑出来,放进自选股池子观察一周,只操作那些同时在周线级别也接近第7、第8天的标的。先数大周期,再用小周期择时,最后用止损纪律兜底,这套流程我用了很多年,最大的收获不是胜率有多高,而是知道什么时候该放弃信号、什么时候该严格执行信号。
本文还有配套的精品资源,点击获取