资讯动态

缠论中枢自动标注通达信公式:用未来函数BACKSET实现精准画线

发布时间:2026/10/20 5:48:58 来源:尧图企业网站定制
简介这份通达信指标公式源码面向运用缠论分析行情的投资者可将缠论中枢叠加与买卖点判断直接呈现于主图。源码通过局部低点预选A/B/C、局部高点预选A/B/C、缺口判断、距前高/低天、小值周期与大值周期等系列变量递进计算高保留、低保留与判断信号再延伸出X、YX等多级确认逻辑形成一套自动化的缠论中枢识别框架减少人工画线误差。资源以单个doc文档打包大小约259KB内容为可直接复制的公式文本导入通达信后即可用于历史复盘或盘中实时监控。目前已有1782人学习下载。通过学习源码可理解缠论中枢算法在通达信语言中的表达方式变量命名与分层判断结构也便于对照缠论概念进行二次修改适合熟悉缠论基本概念、希望提升主图分析效率的中级及以上技术分析者也可作为编写自定义缠论指标的参考模板。1. 缠论中枢自动标注这份源码最大的争议在于它敢用未来函数缠论中枢的识别历来是技术分析里最玄学的环节——千人千缠同一个走势图不同人能画出三五套都不一样的中枢划分。市面上多数指标都在用均线或布林带拟合中枢区间画出来的东西看着像实际和缠论原文的分型、笔、段规则对不上。这份通达信公式源码走了另一条路它先用 BACKSET 预判未来的高低点再经过三轮过滤筛选出真正的局部极值最后用 DRAWLINE 直接把中枢的区间和极点连成线段。也就是说它做的是“事后回溯标准化”——用未来函数倒推出当前 K 线所处的位置让中枢划分结果唯一化、可视化。适合两类人一类是刚学缠论但总卡在高低点归属上的新手另一类是已经会画分笔但想在通达信里把结构判断固化成指标的老手。2. 看懂源码骨架BACKSET、BARSLAST 与局部极值的初筛逻辑2.1 BACKSET 预选机制这是整个指标的支点这份源码里反复出现的 BACKSET 函数在通达信里属于“未来函数”家族常规写法是BACKSET(COND, N)——当 COND 条件成立时把包括当前 K 线在内的前 N 根 K 线都置为 1。很多指标作者避之不及但缠论中枢恰恰需要这种“回头看”的能力因为中枢的确认必须等次级别走势走完站在当下你永远不知道哪根 K 线是真正的极值。源码开头的第一层预选是这样的局部低点预选A:BACKSET(LLV(L,5)REF(LLV(L,4),1),4); 局部低点预选B:BACKSET(局部低点预选A0 AND REF(局部低点预选A,1)1,2); 局部低点预选C:IF(局部低点预选B1 AND REF(局部低点预选B,1)0,-1,0);逻辑说明LLV(L,5)取最近 5 根 K 线的最低价REF(LLV(L,4),1)是前一根 K 线往前 4 根的窗口最低值。当“当前 5 根内的最低 前一根再往前 4 根内的最低”说明当前窗口创出了阶段新低BACKSET 把这 4 根标为候选低点区。预选B再对预选A的边界做二次确认预选C则把连续的候选标记收敛成离散信号——局部低点预选C-1 的那根 K 线就是初筛后的疑似低点。参数说明这里的窗口参数 5、4 直接决定预选的灵敏度。5 根窗口越小预选的低点越多后续过滤压力越大越大则漏掉关键低点。我一般把 5 改成 8、4 改成 6 来做日线主图周线级别则用 13、10 更贴近缠论分型的“至少 5 根”约束。2.2 距前高天、距前低天与周期比较的反直觉组合初筛后的高低点只是候选接下来的任务是搞清楚这些极值之间的相对位置关系。源码用了两组关键变量距前高天:BARSLAST(局部高点预选C1); 距前低天:BARSLAST(局部低点预选C-1); 小值周期:LOWRANGE(L); 大值周期:TOPRANGE(H);逻辑说明BARSLAST统计距离上一个条件成立位置的周期数LOWRANGE(L)返回当前最低价在最近多少根内是最低值TOPRANGE(H)同理是最高价的新鲜度。这四行把时间距离和价格新鲜度拆成了四个维度后续所有判断都在用它们互相比大小从而识别“高点和低点谁更新、谁更远”。参数说明LOWRANGE和TOPRANGE是不带周期参数的函数它们天然输出“当前价相对历史极值的距离”属于自适应窗口。这也意味着后续的大值周期REF(小值周期,距前低天1)这类比较本质是在比对两段走势的对称性——如果当前大值周期更长说明高点更稳固低点的确认度更高。理解了这个逻辑你就能在调试时判断到底是窗口参数不合理还是高低点本身就不对称。2.3 缺口判断与过滤前置条件预选高低点和距离计数之后源码插入了缺口判断缺口判断:IF(LREF(H,1),1,IF(HREF(L,1),-1,0));逻辑说明当当前 K 线的最低价高于前一 K 线最高价记为向上缺口 1当当前 K 线最高价低于前一 K 线最低价记为向下缺口 -1否则为 0。这个变量在后面的预判条件里大量出现比如HHV(缺口判断,距前低天)!1表示在距前低天这个区间内不允许出现向上缺口否则会破坏低点的结构性假设。参数说明缺口的定义用的是跨 K 线价位的直接比较没有引入百分比容差。想要过滤掉振幅过小的假缺口可以将判断改为LREF(H,1)*1.005这类带幅度的写法但会直接影响后续所有关于缺口方向的判断改动前要做好整段重算的打算。这一层是整个指标的“结构底线”真遇到跳空行情频繁的品种建议先在测试标的里观察缺口判断的输出分布再决定是否调整阈值。3. 三层过滤与极点保留从“疑似极值”到“有效极值”的收敛路径3.1 第一轮过滤低保留与高保留的成对确认初筛出的局部低点数量通常远多于实际的有效低点直接连线会画出一堆锯齿。源码第一轮过滤的逻辑是让低点与前方高点“对账”。低保留AA:IF(局部低点预选C-1 AND REF(距前高天,1)REF(距前低天,1) AND LLV(L,距前高天1)REF(LLV(L,距前高天1),1),-1,0); 低保留AB:IF(局部低点预选C-1 AND REF(距前高天,1)REF(距前低天,1) AND (距前高天4 OR LLV(缺口判断,距前高天)-1 OR LLV(L,距前低天2)REF(LLV(L,距前低天1),1)),-1,0); 低保留S:IF((低保留AA-1 OR 低保留AB-1) AND LREF(H,距前高天1),-1,0);逻辑说明低保留AA处理的是“高点更远”的情形——如果距离前一个高点的天数大于距离前一个低点的天数那么只有当当前低点创出更低的低点才保留即LLV(L,距前高天1)小于其前值确保它不是一个被更高点包围的无效低点。低保留AB处理的是“低点更近”的情形给出的三个并联条件分别覆盖高点较远、附近有空缺口、以及局部再次创新低三类情况。低保留S在二者基础上追加了LREF(H,距前高天1)要求低点必须低于前高之后的价格防止把下跌半途的反弹低点误判成有效极值。参数说明条件里的距前高天4是硬编码的经验阈值意思是局部高点到当前低点至少隔了 4 根 K 线才谈得上结构。对 30 分钟级别来说4 根差不多是半天对周线就是一个月建议按你的主看周期同比例调整。缺口判断这里用的是LLV(缺口判断,距前高天)-1表示区间内出现过向下缺口这个条件在连续缺口行情里非常容易触发遇上新股或消息驱动的连续跳空可以直接关掉这层约束。3.2 第二轮与第三轮过滤同一套规则换一组基准源码在完成第一轮“高保留 / 低保留”之后又做了两轮几乎同构的过滤。第二轮用距前高天A、距前低天A做基准第三轮用距前高天YA、距前低天YA做基准。这不是简单的复制粘贴而是层层锁定——每一轮都在上一轮确认过的极值基础上重新计算距离从而逐步剥掉早期预选里包含的噪声极值。判断:IF(局部高点预选C1 AND REF(距前低天,1)REF(距前高天,1) AND 预判1 AND 大值周期REF(小值周期,距前低天1) AND 大值周期REF(小值周期,距前低天) AND 大值周期REF(大值周期,距前高天),1,0);逻辑说明这一段的判断条件是“高点有效”的完整表达——局部高点预选成立、前方低点不更远、预判许可、且当前大值周期连续大于前低周期与前高周期。这里连续比较三个 REF 值等于要求当前高点在时间维度上是“管辖范围”最大的这样画出的线段才具有缠论笔的意义。参数说明预判这个变量的设计很有意思它有两个来源一是距前低天4 AND HHV(缺口判断,距前低天)!1二是REF(低保留S,距前低天)0。前者用的是短窗口内没有向上缺口后者用的是前低被过滤掉了。这两个条件合在一起等于是用结果反推原因如果前低不成立当前高点的成立概率就要打折扣。这种写法在调试时容易让人一头雾水建议把预判、判断、高保留三个变量单独输出成副图曲线观察它们在不同行情下的取值顺序。3.3 极点保留收敛到最终的“唯一极值序列”经过三轮过滤之后源码用一个合并逻辑把所有保留高低点统一成最终序列AAAD:IF(高保留YX1 AND 低保留YX-1 AND HREF(H,REF(距前高天YA,1)2),1, IF(高保留YX1 AND 低保留YX-1 AND LREF(L,REF(距前低天YA,1)2),-1,0)); 极点保留:IF(AAAD0,高保留YX低保留YX,AAAD); 局部极点:IF(极点保留-1,L,IF(极点保留1,H,DRAWNULL)) CIRCLEDOT COLORYELLOW;逻辑说明当一轮行情中同时出现有效高点与有效低点AAAD 负责仲裁如果高点创出更高则该位置标为 1如果低点创出更低则标为 -1。如果 AAAD 为 0就用高保留与低保留的叠加值决定。最终输出只在极点保留为 1 或 -1 的位置画点而且用的是 CIRCLEDOT COLORYELLOW 样式在密集 K 线区域可以通过点的大小和颜色直接辨识。参数说明REF(H,REF(距前高天YA,1)2)这行是双重引用——先用 REF 取出距离前高的天数再次用 REF 把当前 H 与再往前两根的 H 比较。这个“2”是给结构留出的缓冲过滤掉紧贴前高但并无实际突破的假信号。改小到 0 会让极点变多改大了则中枢边界会被压缩极易漏掉真正的转折点建议用固定周期回测对比三组参数再定。4. 主图绘制与量价归一化中枢线段、图标和缩略量价怎么叠加4.1 DRAWLINE 连出中枢结构DRAWICON 标记买卖区域极点序列确认后接下来的工作是让这些点在主图上形成可读的结构DRAWLINE(极点保留-1,局部极点,极点保留1,局部极点,0) COLORBLUE; DRAWLINE(极点保留1,局部极点,极点保留-1,局部极点,0) COLORBLUE; DRAWICON(极点保留-1,L-0.03,1); DRAWICON(极点保留1,H0.03,2);逻辑说明两个 DRAWLINE 分别负责低点向高点连线和高点向低点连线参数 0 表示不扩展线段只在相邻极值间绘制。COLORBLUE 让中枢边界一目了然——当两条蓝线在某个价格区间内反复横向折叠那个区间就是缠论意义上的中枢当蓝线开始向单一方向延伸说明走势正在离开中枢区间。DRAWICON 在极值点下方和上方分别绘制 1 号与 2 号图标相当于把每个转折点钉在图表上避免靠肉眼去 K 线堆里找位置。参数说明L-0.03和H0.03的偏移量是相对当前价格轴的比例。如果主图叠加了其他指标导致价格轴被压缩0.03 可能不够图标会压住 K 线实体可以把偏移改成L*0.998或H*1.002这类比例偏移适配不同价位的品种。DRAWLINE 的扩展参数 0 是只画线段本身如果改成 1 会向右无限延长对看盘产生干扰不建议修改。4.2 120 日高低区间压缩把成交量塞进主图价格轴主图指标常遇到一个头疼问题——副图放成交量看图时视线要在上下两个区域来回跳。这个源码用了一个巧妙的归一化手法把成交量和价格放在同一个坐标系里HH0:CONST(HHV(H,120))*1; LL0:CONST(LLV(L,120))*1; MM0:CONST((HH0LL0)/2); HH1:IF(CONST(C)MM0,LL0-(HH0-LL0)*0.4,LL0-(HH0-LL0)*0.4),COLORRED; LL1:LL0; HLMAX:MAX(HH1,LL1); HLMIN:MIN(HH1,LL1); HLMN1:(HLMAXHLMIN)/2; HLMN2:(HLMAX-HLMIN); HLMN3:HHV(V,250)/2; HLMN4:HHV(V,250); VZ:(V-HLMN3)*HLMN2/HLMN4HLMN1;逻辑说明CONST(HHV(H,120))锁定最近 120 根 K 线的最高价CONST(LLV(L,120))锁定最低价得到一个固定的价格箱体。HLMN3和HLMN4取的是 250 日成交量的峰值及半峰值作为成交量轴的上限。VZ就是成交量的映射——把成交量从 [半峰值, 峰值] 区间等比压缩到价格箱体 [HLMN1, HLMN2] 区间这样成交量的高低起伏就直接叠在主图的底部区域显示。参数说明窗口参数 120 和 250 分别控制价格箱体和量能基准。如果股票刚上市不满 250 天CONST 会自动取可用区间的 HHV不会报错但量能轴会随上市天数动态变化导致 VZ 与价格轴的比例不稳定。对次新股建议把 250 改成CONST(BARSCOUNT(V))这种动态计数写法让量能基准始终基于完整样本。4.3 预测量的分时补全逻辑指标末尾还包含一段当日预测量逻辑预测量:IF(CURRBARSCOUNT1 AND PERIOD5,VOL*240/FROMOPEN,VOL),COLOR990000,NODRAW; STICKLINE(CURRBARSCOUNT1 AND PERIOD5, (0-HLMN3)*HLMN2/HLMN4HLMN1, (预测量-HLMN3)*HLMN2/HLMN4HLMN1,2,-1),COLORLIGRAY;逻辑说明CURRBARSCOUNT1判断当前是否是最新一根 K 线PERIOD5限定日线周期VOL*240/FROMOPEN把当前已成交量的分钟速率折算成全天的预估成交量。STICKLINE用灰色柱体把预测量画在主图底部这样盘中就能提前看到量能是否匹配当日的价格波动而不是盯着副图干等收盘。参数说明240 对应的是国内市场每日 240 分钟交易时长。如果你看的是股指期货夜盘或港股这个参数要改成对应的交易分钟数。FROMOPEN在集合竞价数据缺失的环境下可能返回 0此时预测量会直接放大到无穷遇到这种情况要把分母替换成MAX(FROMOPEN,30)做保护。5. 常见问题排查未来函数警告、钝化延迟与画线错位的三个坑5.1 未来函数警告为什么重启软件后信号位置会变现象导入源码后通达信提示“含有未来函数”某些极值点在后一天行情走完后又消失了或者前一天的极点标记在没有新高的情况下被改写。原因BACKSET 本身就是把后续 K 线成立的条件回写到历史位置属于典型的未来函数。只要簇状条件在下一根 K 线发生变化历史标记就会跟着变这不是 bug而是这套中枢识别思路的必然代价——用未来数据换取结构唯一性。解决不要试图删除 BACKSET 来消除警告那会让整个指标失去中枢识别能力。正确做法是把指标用于事后复盘、结构标注和选股预筛不用于盘中实时交易决策。或者把 BACKSET 的窗口参数从 4 缩小到 2显著减少回写范围但代价是极值点数量增加、中枢边界变模糊。还有一个折中方案用REF(BACKSET(...,N),N)把未来回写“垫平”让信号延迟 N 根之后固定下来复盘时视觉上不再跳动。5.2 极值点长期不更新横盘震荡期的连锁延迟现象当行情进入窄幅横盘极点保留值的更新频率断崖式下降主图上的中枢边界长时间不变化线段甚至出现前后矛盾。原因源码的条件链里大量使用了HHV(缺口判断,距前低天)!1和LREF(H,距前高天1)这类结构确认条件。横盘阶段上下缺口都为零值缺口判断天然为 0HHV检查必然通过不了导致大量候选极值在初筛阶段就被拒之门外。同时第三轮YX系列过滤依赖第二轮X系列结果X 系列又依赖第一轮结果整个链条存在明显的传播延迟。解决遇到明显的中枢横盘区间把缺口判断的权重降下来——可以将LLV(缺口判断,距前高天)-1这处条件临时注释掉观察极值点是否恢复更新。想要彻底根治可以在第一轮过滤后追加一个辅助条件当连续 5 根 K 线既无新高也无新低时强制把区间上下沿标记为高低点人工补全中枢边界。这个改动不影响下跌和上涨趋势的动态判断。5.3 DRAWLINE 画线错位复权方式不同导致的连线断裂现象用前复权看 K 线时线段正常切到不复权后 DRAWLINE 的起点和终点出现倾斜或直接断开或除权除息日后原中枢位被明显顶到异常高度。原因通达信的所有画线函数基于当前屏幕的复权价格坐标计算。前复权会调整历史价格不复权则保留原始价。DRAWLINE 的极值点坐标来自局部极点这一变量而复权方式的切换会改变 LLV、HHV 的取值窗口对齐关系——尤其在大比例送转的除权日价格跳跃会直接打断REF链的连续性。解决在公式顶部强制声明复权依赖用DYNAINFO(4)实时替换价格输入源或者更简单——固定使用同一种复权模式查看该指标。最佳实践是研究阶段用前复权确认信号后到交易端用不复权验证一次避免除权日信号被误导。每次除权除息后记得重新加载一次指标让 CONST 重新锁定价格箱体否则主图的量价映射也会错位。5.4 极值点数量异常小周期上画线过多现象把指标切到 1 分钟或 5 分钟周期后主图几乎被蓝色线段铺满极点图标叠成一团结构完全不可读。原因源码的窗口参数是为日线级别设计的。5 根 K 线的预选窗口在 1 分钟图上只代表 5 分钟天然会产生大量极值预选。三轮过滤条件里的距前高天4和HREF(H,REF(距前高天YA,1)2)在分钟级周期上相当于“相距 4 分钟就算结构”过滤能力被大幅削弱。解决把源码头部的四组窗口参数按周期比例放大我一般用 5 分钟周期乘 5、15 分钟周期乘 8把 5 改成 40 或 48。同时把距前高天4这种固定阈值改为距前高天10让结构确认更严格。更省事的做法是直接用通达信的周期过滤函数FILTER(PERIOD5, 0)限定指标只在日线和周线级别生效分钟周期直接不绘制。6. 智能预警公式改良把主图极值信号改造成可排序选股条件第一节的坑说了这套指标只能用于复盘和结构确认不能直接盯盘。但把它改造成预警条件其实不难——把线段绘制去掉只保留极值确认逻辑输出成选股公式。我的做法是这样的极点保留:...省略与主图公式相同的三层过滤逻辑; 极点方向:IF(极点保留1,1,IF(极点保留-1,-1,0)); 中枢状态:SUM(极点方向,0),LINETHICK0; 上沿:REF(HHV(H,中枢状态),1); 下沿:REF(LLV(L,中枢状态),1); 突破判断:CROSS(C,REF(上沿,1)) AND 极点方向1; 跌破判断:CROSS(REF(下沿,1),C) AND 极点方向-1; 中枢预警:突破判断 OR 跌破判断;逻辑说明SUM(极点方向,0)做的是累计计数统计自公式加载以来有效极点的数量。上沿和下沿分别取最近两个极点区间的最高价与最低价构造成一个动态通道。当现价向上突破通道上沿且当前极点为有效高点触发突破预警向下跌破通道下沿且当前极点为有效低点触发跌破预警。这样就把主图的“结构确认”改成了“待突破状态”用来做第二天的重点观察池选股完全避开未来函数对实时信号的污染。参数说明CROSS是穿透确认要求价格从下方穿过上沿避免跳空直接在上沿外开盘的假突破。中枢状态的数值如果为 0说明当前还没有任何确认后的极点此时上沿和下沿都会取到空值预警不会触发——这也是为什么新加载指标的前几个周期基本不出信号。设置预警时建议开启“仅当日首次触发提醒”否则突破后每天都会重复报警同一个票。整个改造的核心思想是把指标从“画图工具”降级成“状态跟踪器”——不预测下一根 K 线只标记当前处于什么结构位置。测试时有两点血泪经验第一选股结果必须叠加成交额过滤中枢突破配合量能放大才有真实突破的意义第二修改完公式后先在通达信自带的回测里跑一遍近半年的日线数据如果极值点数量比肉眼判断多出 30% 以上说明窗口参数没有适配当前标的的波动率不要急着实盘。从那以后我每次改完指标都会强制走一遍“新标的试运行 复权方式核对 回测极值计数”这三步再穷再急也不跳步希望帮到你。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑