通达信副图指标实战:逻辑、源码编写与常见问题排查
玩通达信的人谁手机里没几个“精品副图”文件但说句实在话十个压缩包里能有一个敢真正放到实盘界面长期使用的就已经算运气不错了。上一期我聊过一批常见的副图整理思路这期换个角度不堆指标只讲几类我实测下来、逻辑还能自洽的副图写法以及一套判断“这个指标到底值不值得用”的方法。顺便把网上经常被搜到的上穿36、下穿71、三步点金、机构锁筹、分时成交额这几个问题一次性说清楚。先说在前面指标永远只是工具我下面所有例子都只是思路演示不构成投资建议重点看逻辑别无脑抄代码。1. 副图指标的基本逻辑先搞懂它在算什么1.1 指标的本质一段K线数据的数学投影很多朋友拿到一个指标第一反应是看信号准不准第二反应是看买卖点提示多不多。但我觉得最该看的是这个指标到底在算什么。通达信公式语言说到底就是一门数组语言你写的每一行都是对开盘价、收盘价、最高价、最低价、成交量、成交额这些原始行情数据的加工。MA(CLOSE,20)算的是20天收盘价的平均值MACD里的DIF是快慢均线的差VOLMA(VOL,5)是在看今天的量能有没有超过最近五天的平均水平。指标画在副图里就是用一种更直观的方式把市场的某一种状态投影到仪表盘上方便你快速判断而不是等你看完一堆数字才反应得过来。为什么强调“投影”这个词因为任何指标都有盲区。均线是滞后的MACD也是滞后的量能指标又容易受到单日异常成交的干扰。副图指标给不了你圣杯它只能给你一个观察角度。就像开车时的仪表盘转速表不会告诉你前面有没有事故但能告诉你发动机现在大概处于什么状态。你首先要弄明白这块仪表盘测的是什么才能谈得上用它辅助判断。1.2 好副图的三个特征逻辑、独立与参数内涵在通达信社区混久了我判断一个副图值不值得留下来基本就看三点。第一是逻辑要自洽也就是说这个指标的每行代码在算什么作者必须能讲出道理来。写过源码的朋友都知道代码不会说谎一个逻辑混乱的指标背后往往就是拿未来函数或一堆参数硬凑出来的。第二是信号要独立好的副图信号不会跟主图均线长得一模一样不然你直接在K线上看均线就好了何必多开一个副图占屏幕空间。第三是参数要有内涵这一点很多人不注意比如网上流传的“上穿36、下穿71”为什么会用36和71这两个数字这背后有对应的周期逻辑而不是随便敲进去的。拿36和71来说36个交易日大约相当于一个半月的交易周期接近A股市场里中线资金的一个调仓节奏段而71个交易日差不多是三个半月能覆盖一个更长的趋势确认周期。当这两个参数作为“通道边界”被突破时意味着价格在短期和中期节奏上发生了变化。如果换一组参数比如37和72效果可能很接近但36和71是经过一段时间市场验证的参数胜在背景清晰。反过来如果有人给你一个参数是7、88、203这种看起来没什么故事的副图你就得追问一句这参数是怎么来的2. 值得实测的几类精品副图思路2.1 三步点金类买卖提示信号不是拍脑袋“三步点金”这四个字在热搜里出现了好多次其实它代表的是一类“多条件确认型”副图思路。很多单条件指标容易在震荡行情里反复打脸比如价格一上穿20日线就提示买入结果价格第二天又掉下去。三步点金的思路是把条件拆成趋势、动能、量能三个维度只有三者共振才给出提示信号相当于给信号加了一道复核工序。我按这个思路写过一个示例代码很简短{三步点金思路示例} DIF:EMA(CLOSE,12)-EMA(CLOSE,26); DEA:EMA(DIF,9); 趋势过滤:CLOSEMA(CLOSE,20); 动能确认:DIFDEA AND DIFREF(DIF,1); 量能验证:VOLMA(VOL,5)*1.2; 信号:趋势过滤 AND 动能确认 AND 量能验证; STICKLINE(信号,0,1,3,0),COLORRED;三个条件分别是价格站上20日线MACD的DIF在DEA上方并且还在向上走成交量超过5日均量的1.2倍。第一个条件解决“大方向”的问题第二个条件解决“当下动能在不在”的问题第三个条件解决“市场愿不愿意参与”的问题。三个条件同时满足才在副图上画一根红色柱状信号。这样设计的好处是单看一个条件容易出假信号合并起来就会过滤掉不少噪音代价是信号数量会变少但质量会更集中。自己复刻的时候可以把均线周期、量能倍数改成你习惯的数值但改完一定要知道自己为什么这么改。2.2 上穿36、下穿71通道信号的使用细节还有一个高频词是“上穿36、下穿71”这类指标的常见形态是两条不同周期的均线价格上穿36日线时给出一个信号价格下穿71日线时给出另一个信号中间区域则代表一种“可持有但警觉”的状态。这类副图用起来最需要注意的是它的信号边界到底该怎么理解。我按这个逻辑做了一个简单版本{上穿36、下穿71通道信号示例} MA36:MA(CLOSE,36); MA71:MA(CLOSE,71); 上穿信号:CROSS(CLOSE,MA36) AND MA36REF(MA36,1); 下穿信号:CROSS(MA71,CLOSE); STICKLINE(上穿信号,0,1,2,0),COLORRED; STICKLINE(下穿信号,0,1,2,0),COLORGREEN; DRAWICON(上穿信号,LOW*0.98,1); DRAWICON(下穿信号,HIGH*1.02,2);这里我加了两个细节。第一上穿信号不是单纯的价格上穿而是要求MA36本身也在上行避免在均线还拐头向下的时候抢反弹第二用DRAWICON在K线上画图标如果你不习惯副图里的小箭头删掉这两行即可。通达信里DRAWICON的图标编号从1到几十都有很多人喜欢到处加图标我的建议是克制箭头一多屏幕会非常乱反而影响判断。这类通道信号最适合用来做趋势跟踪不适合用来抄底。价格还在71日线下方运行的时候所有短周期上穿信号都要打折扣对待。2.3 主力追踪与机构锁筹资金类副图的解读再聊资金类副图这个领域水最深。网上到处都是“主力追踪”“机构锁筹”“资金强烈买入”这类名字但你要知道资金流数据是永远无法从K线上100%还原的。通达信里大多数资金类指标本质上是用成交量和成交额去估算资金动向再配合筹码分布模型做参考。所以看这类副图重点不是看它提示“主力买入”就跟着买而是要看它的估算逻辑是否合理。我见过不少机构锁筹类副图内核其实就是筹码集中度。比如用COST函数取90%和10%的成本位再计算两者之间的宽度宽度越小说明筹码分布越集中这就被包装成“锁筹”信号{筹码集中度参考} 成本90:COST(90); 成本10:COST(10); 集中度:(成本90-成本10)/成本90*100; STICKLINE(集中度20,0,1,2,0),COLORRED;这里的COST函数用的是筹码分布模型它估算是基于历史成交量和换手率推算的持仓成本分布本身带有误差。你看它的时候建议把它当成“筹码集中度参考”而不是“机构持仓真实值”。这个指标最有用的场景是在股价横盘整理后期、集中度持续收窄的时候提示你关注变盘可能性。它不能回答“机构到底买没买”但能帮你注意到“这个位置筹码越来越密了”。3. 从源码到实战手把手改造一个副图指标3.1 先定需求副图要回答什么问题新手最容易犯的错是打开公式管理器就开始写代码写着写着变成拼凑。我自己的习惯是动手之前先用一句话说清楚这个副图到底要回答什么问题。比如“止跌企稳通达信”这个热搜词我们就可以把需求定为在下跌之后找出可能出现短期止跌的位置。这是一个明确的需求后续的每一行代码都围绕这个目标来写而不是又想抓反弹、又想追突破最后写出一锅大杂烩。3.2 源码与参数计算每一行都得有存在理由围绕“止跌企稳”这个需求我设计了一个三步确认的副图。第一步是确认“跌过”第二步是确认“短期重心开始上移”第三步是确认“抛压在减弱”。三个条件都满足才给出企稳提示。核心代码如下{止跌企稳参考副图} 跌幅条件:REF(CLOSE,5)/CLOSE-10.08; 站上5日线:CROSS(CLOSE,MA(CLOSE,5)); 地量:VOLMA(VOL,10)*0.8; 企稳信号:跌幅条件 AND 站上5日线 AND 地量; STICKLINE(企稳信号,0,1,3,0),COLORRED;为什么用这几个参数跌幅条件里5个交易日跌8%平均每天跌幅超过1.6%这已经明显区别于正常波动可以认定为“经历了一波回调”。站上5日线说明股价重新站上最近一周的市场平均成本线短线情绪开始修复。地量的标准是成交量低于10日均量的80%代表卖盘在减弱。有人在跑这套代码的时候会问为什么不多加一个“阳线实体”条件当然可以加但条件越多过滤越严信号就越少最后可能一年都出不了几次信号。指标的设计是一个取舍过程没有绝对正确的组合只有适合你交易风格的选择。参数选好之后建议做个简单验证。你可以把同一思路转成条件选股公式在历史行情里跑一遍统计信号出现之后3天、5天的表现。通达信本身支持历史信号统计手动翻K线验证也行。这一步不能省因为你拿真金白银去试错成本远高于花几分钟验证。3.3 导入与调试让公式在通达信里跑起来源码写好了怎么把它塞进通达信步骤很简单记住CtrlF这个快捷键就行。我一步步说清楚。第一步在通达信主界面按CtrlF打开公式管理器。第二步选择“新建”公式类型选“技术指标”公式名称自己取一个比如“止跌企稳参考”注意名称不能跟系统内置公式重复。第三步把代码粘贴到公式编辑区然后点“测试公式”。如果下方提示“测试通过”就可以点确定保存。第四步回到K线界面在副图区域输入你刚刚保存的公式名称回车副图就会出现在下方。如果提示“测试失败”先看错误提示定位到哪一行最常见的报错原因是中文标点混入代码、函数名拼错、括号不匹配这三类。另外提醒一句通达信手机版和PC版对个别函数的支持度不完全一致我的建议是先到PC版上调试通过再导到手机版使用。手机版管理公式的入口在“功能”菜单里不同版本的路径有差异但核心逻辑一样。4. 副图与主图、分时的配合策略4.1 日线副图、分时副图与选股公式的分工很多人把副图当成“看盘工具”来用但我更愿意把它拆成两类日线副图帮你选股票分时副图帮你找时机。日线级别上看趋势、看结构、看止跌信号这是副图最擅长的领域但到了盘中你要决定的不是“买不买”而是“现在买还是等等看”这时候就要靠分时数据来说话。分时副图里我最常用的是一个非常简单的成交额指标它回答的问题就是“今天到现在为止总共成交了多少钱”。代码只有一行{分时图今日总成交额(万元)} 成交额万:SUM(AMOUNT,0)/10000;把它新建成分时副图之后你会看到一条随交易时间不断爬升的曲线。这条曲线配合分时均价线一起看能帮你判断当前的量能是否在支撑价格。比如股价在分时图上一路上行同时成交额曲线也在加速上行说明资金参与度在提高如果股价新高了但成交额曲线走平甚至掉头那就得警惕量价背离。放在日线副图和分时副图之外还有一个用途是选股公式把日线副图的信号机械化成筛选条件每天收盘后跑一遍能省下大量翻股票的时间。比如我见过有人在选股公式里做一字板的筛选{一字竞价选股思路仅作为示例} 一字板:OREF(C,1)*1.098 AND LREF(C,1)*1.098 AND HREF(C,1)*1.098;这个公式只是最粗的过滤实际使用还要结合竞价量、板块、流通盘等因素来细化。但它说明了一个道理任何副图信号理论上都能转化成选股条件关键是你要把“信号”翻译成“代码语言”。4.2 多副图共振与信号过滤示例我见过不少朋友一个屏幕开了七八个副图每个副图都画满了红红绿绿的信号结果看盘的时候反而不知道该信哪个。我的经验是副图数量控制在三个以内并且这三个副图最好是从不同角度回答同一个问题。比如你想抓一个超跌反弹的机会可以这样组合日线副图看“止跌企稳有没有出现”筹码副图看“低位筹码是否在集中”分时副图看“盘中有没有放量承接”。三个角度同时给出确认这个信号的含金量就要高得多。这也是为什么我在前文反复强调逻辑自洽。如果一个副图给你的信号是好几个条件硬凑出来的另一个副图给你的信号是某个单一条件触发的两者放在一起根本没有可比性也不可能形成“共振”。共振的前提是每个指标都从不同维度观察市场综合起来才更有意义。如果两个副图本质上都在算同一条均线的变体那它们同时亮信号就不叫共振叫重复。5. 常见问题与排查技巧实录5.1 源码报错排查先看括号、再看函数平时在评论区问我“为什么源码贴进去提示错误”的人特别多我把最常见的几种报错情况整理成了表格照着查比靠猜快得多。错误表现常见原因处理方法提示“行XX输出错误”某个变量没有赋值就直接输出检查输出行是否缺少“:”赋值操作提示“语法错误”括号不匹配、中文分号被写成全角符号确认代码里的分号和括号都是英文半角提示“未知标识符”函数名写错或版本不支持对照通达信公式函数说明检查拼写信号一直不出现条件设置太严格或使用了未来函数放宽条件检查是否引用了未来函数其中未来函数是我特别想强调的一点。ZIG、PEAK、BACKSET这类函数有一个特点它们会调用未来数据也就是说当前K线上显示的信号可能在一根K线走出来之后消失或变化。用带未来函数的副图做历史复盘信号会显得极其精准因为它是“事后画出来的”到了实盘里就会原形毕露。判断一个副图有没有未来函数最简单的办法是看源码里有没有ZIG、PEAK、BACKSET、FFT等关键字有的话就要谨慎对待。5.2 复权设置与信号漂移“通达信复权因子下载”这个热搜词我多说两句。股票除权除息之后价格会跳空如果不做复权处理均线、MACD这类指标就会出现明显的信号跳变。通达信里支持前复权、后复权和不复权三种显示方式它们的区别在于基准点的选取。做日线级别信号复盘时我习惯用前复权因为它能保持当前价格的真实性历史价格会被整体修正。但这里有个坑同一个公式在前复权和后复权模式下信号出现的位置可能有差异。原因很简单前复权保持终点价格不变、修正历史价格后复权保持起点价格不变、修正当前价格两种算法下均线的形态会有细微差别。所以我的建议是看历史信号用前复权盘中实战也保持前复权让环境保持一致。至于那些来路不明的“复权因子文件”不要随便下载覆盖通达信的数据接口自己会处理除权信息手动覆盖很容易把数据搞乱。5.3 加密指标、tn6与“和谐器”的安全提醒再说一个容易被坑的领域。经常有人问“解密通达信tn6”或者“指标和谐器”我的态度很简单碰都别碰。tn6文件是通达信的部分加密数据格式正规的使用方式是通过软件自身的导入功能操作没有任何必要去搞所谓的“解密”。“和谐器”这类工具本质上是绕过程序校验的破解手段先不说道德和协议层面的问题这类小工具反而容易捆绑木马或者盗号程序。你在炒股软件里用的账号密码比银行卡更容易被忽略但它的资产价值一点不低。为了几个指标源码去冒这个风险完全不值得。指标交流的正道是用源码互传。真正有价值的思路写成文本源码分享大家都能看懂逻辑互相优化这才是社区该有的样子。那些封得严严实实、看起来又神乎其神的加密指标你根本不知道里面写了什么万一藏了一句未来函数或者止损代码你用起来就是给别人送钱。5.4 通达信安装目录、自选股与指标备份还有一个经常在论坛里被问到的问题通达信的安装目录到底在哪最简单的办法是右键桌面的通达信快捷方式选择“打开文件所在位置”就进到安装目录了。如果桌面上没有快捷方式可以在开始菜单里找到通达信同样是右键到文件位置。进去之后你会看到一堆文件夹T0002这个文件夹最关键里面通常放着自选股、公式、板块等用户数据。我每隔一段时间就会备份一次T0002文件夹。方法很简单直接复制整个T0002文件夹到网盘或者移动硬盘里。别小看这个习惯有一次我电脑系统崩溃重装指标文件、自选股全都在几分钟就恢复了。另外通达信支持通过文本文件导入自选股你可以把股票代码按一行一个的格式存成txt文件再到自选股板块里导入平时整理股票池会方便很多。5.5 AI辅助编写指标能用但不能盲信现在AI工具很火经常有人问“哪个AI软件可以编通达信指标”。我的体验是AI确实能帮你搭出代码框架尤其是当你描述清楚需求的时候比如“我想要一个股价突破20日均线且成交量放大的副图”它能很快给出一段可跑的代码。但问题在于它只能根据你给的描述生成代码并不能帮你验证这个逻辑在市场里是否有效更不能替你判断这套逻辑适合什么行情。我的建议是把AI当成一个“翻译器”你负责想清楚交易逻辑AI负责把逻辑翻译成通达信语言。拿到代码之后一定要自己做测试不行就改参数、改条件直到逻辑和实际表现匹配为止。如果你连这个指标在算什么都说不明白那生成再多的代码也没有意义。5.6 指标用得好不好关键在于取舍写了这么多其实最想表达的还是那句老话指标是工具不是圣杯。我自己见过太多人在“寻找更好的指标”这件事上花了无数时间最后发现真正拉开差距的不是指标的信号有多准而是使用者对指标逻辑的理解有多深。一个简单的小副图只要逻辑清楚、用对场景反而比几百行封装出来的“神指标”更可靠。我个人在实际操作中的体会是一个新指标拿回来先别急着上实盘花两天时间做三件事读源码、做复盘、写使用规则。读源码是为了搞懂它在算什么做复盘是为了看它在不同行情下的表现写使用规则是为了避免盘中临时发挥、凭感觉下手。这三步做完这个指标才算真正属于你。反过来说如果一个指标连源码都不给你看那它的价值就要打一个大大的问号。最后的最后再分享一个小技巧副图界面里尽量只用几种颜色红和绿就够信号多了容易视觉疲劳判断力会被颜色带偏。