尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
缠论源码包v1.2实战:分型笔线段与背驰买卖点信号详解
简介包含缠论公式源码的压缩包面向熟悉缠论理论且具备大智慧或飞狐平台指标编写基础的投资者用于将缠论的中枢、走势类型与买卖点判断转化为可视化图表信号提升盯盘与分析效率。包内共16个文件以cpp与h源码文件为主并附dsp、dsw等工程配置及说明txt便于在对应交易软件中导入编译整个压缩包仅48KB轻量实用。已有1327人学习下载。该版本源码体现了缠论策略的工程化实现包含ChanlunCore、ChanlunTools等核心模块可帮助使用者理解中枢计算与买卖点识别逻辑并在此基础上二次调整参数或扩展功能适合希望将缠论落地为量化辅助工具的中高级股民。1. 缠论源码包先把行情软件里的买卖点信号跑起来在所有股票技术分析体系里缠论是最难做成指标的——分型、笔、线段、中枢、背驰环环嵌套一个包含关系没处理好整张图就全歪了。这份 v1.2 版缠论源码包就是把当年只能在纸上手画或者对着复盘软件一笔笔标记的缠论结构完整做成了可以挂在主流行情软件上的公式脚本。装上之后主图直接画分型、连笔、框中枢副图给出背驰信号A 股日线、30 分钟、5 分钟级别都能跑。适合三类人想用缠论选股但没精力每天手工画笔的看不懂一堆缠论名词、想直接看图找买卖点的以及已经手工画过一段时间、想拿公式结果和自己判断做对照的。它解决的不是预测涨跌而是把缠论的划分规则固化下来让买卖点信号有一个可复现、可复盘、不掺杂主观情绪的落点。2. 缠论公式化的引擎分型、笔与线段的代码骨架缠论没法像 MACD 那样两行公式写完原因在于它的结构是分层的先由K线合并出分型再由分型连成笔再由笔构成线段最后在线段上定义中枢和背驰。每一层都依赖上一层的输出且每层都有自己的形态约束。下面把这四层的判定逻辑拆开讲清楚这也是拆 v1.2 源码包时最值得先读的部分。2.1 K线包含处理所有后续计算的起点趋势中出现一根最高价高过前一根、最低价低于前一根的K线或者反过来被完全包裹住的K线就叫包含关系。缠论原文对包含关系的处理规则是向上处理时取高高、高低向下处理时取低低、低高。向上指的是当前合并组处于上行状态不是K线本身的涨跌。很多公式新手第一次写缠论指标就栽在这里把向上处理写成了当前K线收阳就向上结果分型位置全错。这一段是源码里最先执行的核心逻辑用类 C 公式脚本写出来是这个骨架// K线包含处理骨架把原始K线合并为无包含K线序列 // 输入: 原始K线 HIGH / LOW // 输出: 合并后的 H2 / L2 方向 1; // 1向上合并-1向下合并 FOR i 1 TO K线总数-1 // 当前K线与上一根存在包含关系 IF (HIGH[i] HIGH[i-1] AND LOW[i] LOW[i-1]) OR (HIGH[i] HIGH[i-1] AND LOW[i] LOW[i-1]) THEN // 向上处理取高高、高低 IF (方向 1) THEN HIGH2[last] MAX(HIGH[i], HIGH[i-1]); LOW2[last] MAX(LOW[i], LOW[i-1]); // 向下处理取低低、低高 ELSE HIGH2[last] MIN(HIGH[i], HIGH[i-1]); LOW2[last] MIN(LOW[i], LOW[i-1]); END IF // 方向不变继续与下一根K线比较 ELSE // 无包含当前K线直接纳入输出序列 HIGH2[last1] HIGH[i]; LOW2[last1] LOW[i]; // 用纳入K线的位置刷新合并方向 IF (HIGH[i] HIGH[i-1]) THEN 方向 1; ELSE 方向 -1; END IF END IF END FOR这段骨架想表达两个关键点。第一方向是合并组的方向而不是当前那根K线上涨还是下跌第二最后一根K线被纳入输出序列之后才刷新方向这样下一轮合并才能找到正确的向上还是向下的基准。源码包里实际用的写法比这个多了缓存数组和边界保护但核心判断就是这三行。如果你调试时发现分型位置明显不对劲优先检查方向切换的时机不要先怀疑后面的笔逻辑。2.2 分型判定用三根K线锁定局部极值包含处理做完之后K线序列里就不会再有纠缠不清的重叠顶分型和底分型就变成了一个非常干净的判断规则中间K线的最高价高于左右两边就是顶分型最低价低于左右两边就是底分型。// 顶底分型判定作用在已经合并过的 H2/L2 序列上 // DING顶分型蔻件DI底分型蔻件 // 顶分型: 中间K线最高价 左K线最高价 且 中间K线最高价 右K线最高价 DING : H2 REF(H2, 1) AND H2 REF(H2, -1); // 底分型: 中间K线最低价 左K线最低价 且 中间K线最低价 右K线最低价 DI : L2 REF(L2, 1) AND L2 REF(L2, -1);注意 REF(H2, -1) 在公式脚本里代表未来一根K线这也是缠论公式最容易踩雷的地方。盘中实时跑的时候当前这根K线还没走完它的最高价可能继续往上顶也可能回落如果你用 REF(H2, -1) 去判断今天是不是顶分型明天开盘后今天的判定结果可能就变了。源码包里自带一套收盘确认开关实盘时我会强制打开后面第 5 章专门讲这个坑。2.3 笔与线段的递归构建从信号到走势有了顶底分型笔就是交替出现的顶分型和底分型且中间至少间隔指定数量的K线。老笔规则是间隔 5 根K线新笔规则是 4 根。间隔太小笔就画得密买卖点信号多到没法用间隔太大很多关键拐点会被漏掉信号变得稀疏。v1.2 里把间隔做成了可调参数默认 4。// 笔连接判定顶底分型交替出现且间隔K线数达标 // 输入: DING / DI 分型信号 // 参数: BI_K 4 // 新笔规则 上次分型是顶 THEN IF (当前是底) AND (距离上次顶分型 BI_K) THEN 新笔起点 当前K线; 笔方向 -1; END IF END IF 上次分型是底 THEN IF (当前是顶) AND (距离上次底分型 BI_K) THEN 新笔起点 当前K线; 笔方向 1; END IF END IF比笔再往上一层的是线段线段由至少三笔构成且笔的方向要满足交替——上、下、上或者下、上、下第三笔不能直接破掉第一笔的起点。线段在源码包里是一段独立的递归函数它会把已经生成的笔序列重新扫描一遍遇到笔的破坏关系就截断成新线段。这个递归过程在选股模式下跑全市场时会比较吃性能第 5 章的卡顿问题就出在这一层。缠论指标和其他技术指标最大的差别就在这里它是结构递归的每一笔都依赖之前所有K线的划分结果。看懂这三段骨架后面读完整源码时会快很多至少你知道包里每个文件在解决哪一层的问题。3. 拆包 v1.2源码文件怎么认、怎么挂到界面上压缩包解压之后很多人会懵里面不是单一一个公式文件而是一组脚本有的带 .alg 后缀有的是纯文本还有一两个可能需要放进特定目录。下面按最常见的缠论公式包布局来拆拿到手之后你可以对照自己解压出来的文件逐一归位。3.1 RAR 解压后的文件清单与各自职责文件名常见命名类型职责挂载位置CHL_MAIN 或 chl_zhutu主图公式分型标记、笔画线、中枢矩形、买卖点箭头主图叠加CHL_MACD 或 chl_macd_bc副图公式MACD 背驰判断、DIF/DEA 柱线副图CHL_FX 或 fenxing_lib中间计算公式包含关系处理与分型判定子过程不直接挂载被调用CHL_BI 或 bi_fu中间计算公式笔生成与笔破坏判定不直接挂载被调用CHL_PICK 或 xuanguba选股公式按买点条件筛选股票条件选股使用说明.txt文本参数说明与导入注意事项无这套结构是这类缠论公式包最标准的排布主图公式负责画出缠论图形副图公式负责背驰辅助两个中间层公式不直接上屏而是被主图和选股公式嵌套调用。选股公式只在你想批量筛股票时用平时不复盘的话可以暂不挂载。3.2 导入公式管理器的完整操作你不用手动去改任何系统文件所有的公式脚本都能从行情软件的公式管理器里导入。操作流程如下步骤操作位置动作结果确认1解压目录把 .rar 解压到单独文件夹确认文本文件编码为 ANSI/GBK文本打开不乱码2菜单-功能-公式系统打开公式管理器能列出已有分组3公式管理器-新建选择新建公式输入名称如 CHL_MAIN空白编辑区出现4编辑区把 CHL_MAIN.txt 源码全选复制粘贴进去源码无截断5公式管理器-编译点击编译/确定下方提示编译通过6主图界面输入指标名称或从公式组里选择挂载主图出现分型/笔如果第 5 步编译报错先看是不是函数名不兼容。不同行情软件的公式函数族有差异最常出问题的是画线函数 DRAWLINE、DRAWTEXT 这类带界面输出的调用。这类函数在不同版本里拼写略有区别比如有的版本用 DRAWLINE、有的用 DRAWLONGSLASH编译不过就全局搜一下包里的函数名按当前系统的函数手册替换逻辑本身不用动。3.3 主图、副图、选股公式怎么分配公式挂载有讲究。缠论图形必须挂在主图而且要选叠加模式而不是独立模式否则K线会被指标画线挡住。背驰信号因为要同时显示 DIF/DEA 柱线必须挂在副图。选股公式不需要上屏只放在公式组里供条件选股调用。// 主图画线函数示意以通用公式脚本为例 // 画分型箭头 DRAWTEXT(DING, HIGH, 顶, 1); DRAWTEXT(DI, LOW, 底, 0); // 连接笔 DRAWLINE(上次DING, HIGH, 上次DI, LOW, 0); // 画中枢矩形 STICKLINE(中枢起始, 中枢上沿, 中枢下沿, 8, 1); // 买卖点标记 DRAWTEXT(买点成立, LOW, B1, 1); DRAWTEXT(卖点成立, HIGH, S1, 1);不同版本对 DRAWTEXT 的第四个参数定义不太一样有的表示文字方向有的表示偏移量。你看到编译报错指向这些行时直接删掉最后一个参数再试多数时候就能过。导入这件事不复杂但值得用一张操作表走一遍省得后面信号画出来一片乱又回来重新折腾导入。4. 参数怎么调周期、包含处理、背驰阈值v1.2 装好之后默认参数能跑但直接拿默认值上实盘会很难受——信号太密或太稀画笔和手工划分对不上。缠论指标没有万能参数它和周期选择、个股股性都有关下面这套调参流程是我自己验证过相对稳的顺序。4.1 周期选择日线、30 分钟、5 分钟的差异缠论可以套在任意周期上但每个周期的行为差异很大日线走势结构最稳分型和笔的容错率高适合做中长线持仓判断买卖点信号少但准确率相对高。30 分钟信号密度明显上升适合做波段这时候笔的K线间隔参数可以保持默认但背驰灵敏度要调低一挡。5 分钟信号非常密集噪音特别多不建议新手直接用 5 分钟容易每个小反弹都被标记成买点复盘看全是红箭头。实盘里我一般主图挂日线看大方向再开一个窗口挂 30 分钟看入场时机。同一个股票日线处于上升笔而 30 分钟刚好出买点的时候胜率会明显高一些。4.2 核心参数表与调整方向参数名默认值可调范围调大调小的影响笔成立K线数43~6调大→笔画得少信号少而稳调小→笔密信号多但噪音多包含处理方向自动自动/向上/向下自动适合大多数行情异常强行指定方向只在特定样本用MACD快线128~15调小→背驰敏感容易提前调大→背驰确认慢信号滞后MACD慢线2620~30调小→反应快调大→趋势判定更平滑DEA 平滑97~12调小→DIF/DEA 交叉频繁调大→交叉减少信号更少背驰触发幅度0.050.02~0.20幅度越小越容易触发背驰越大要求DIF背离越明显这里要说清楚背驰不是简单的 DIF 和价格背离缠论里背驰指的是进入线段离开段之后MACD 的绿柱面积、DIF 低点都比中枢之前那段更弱。v1.2 里的实现是用当前离开段的 DIF 极值与前面离开段的 DIF 极值做比较触发幅度参数就是两者差多少才算有效背离。调太小会把一丁点动能衰弱都算成背驰信号自然扎堆。4.3 一个可抄的调参顺序不要上来就动参数先用默认值把股票跑一遍然后用下面这个顺序逐步调选一只走势标准的历史股票日线级别跑一年数据肉眼检查分型和笔画得是否清楚这个阶段不要关注买卖点。如果笔明显波浪抖动、频繁切换方向把笔成立K线数从 4 调到 5 或者 6重新看视图。如果分型位置跟手工划分相差不大保持包含方向自动如果某一段趋势中分型明显偏低或偏高把这个参数改成向上或向下再看。MACD 三参数先用 12/26/9 标准值尽量不要动它背后是 EMA 平滑逻辑乱调会把背驰信号完全搅乱。灵敏度从默认挡位开始逐步加挡直到买卖点密集度自己满意为止我的习惯是宁可信号少也不让它天天叫。调参的好处是你可以把不同参数配置保存成不同的指标组比如日线稳健版30分钟波段版想切换的时候直接换挂载公式即可不用每次手动改。5. 缠论指标避坑实录信号漂移、未来函数、性能卡顿缠论指标是所有技术指标里最容易看起来完美的一类——回看历史图分型、笔、中枢、买卖点全标得明明白白走势拐点一个不落。但一旦切到实盘问题就全冒出来了。下面这些坑不是个别现象几乎每台新环境都会踩中一两个我按踩坑频率从高到低列出来。5.1 未来函数导致信号漂移看静态结果对实盘对不上现象用历史K线复盘时买卖点箭头精准地标在最低点旁边觉得这是个神器但盘中跑的时候刚才出现的买点过一会儿自己消失了位置还往后挪了几根K线。原因公式里用到了 REF(H2, -1) 这类引用未来K线的写法或者直接把当前未走完的K线纳入了分型判定。历史数据是定型的怎么引用未来都不怕盘中K线每一秒都在变引用未来的结果当然不稳定。解决把分型判定改成收盘确认模式也就是分型是否成立等下一根K线走完再确定。源码包里如果带确认延迟参数把它设为 1。这样买点会比理想位置晚一根K线出现但信号不会再漂移。5.2 包含关系处理错误笔画错线段跟着全错现象某些股票上分型位置看着别扭尤其是一字板、长时间横盘后的爆发段分型和笔的位置明显错位后面线段全乱。原因包含处理里方向切换的时机写错了。向上合并时必须取 MAX(HIGH) 和 MAX(LOW)向下合并时取 MIN(HIGH) 和 MIN(LOW)。错写成了按K线收阳收阴判断方向横盘股会反复翻转方向。解决回到 2.1 那段骨架检查方向刷新是不是放在无包含K线纳入输出序列之后。方向必须由合并组最后一次纳入的K线决定不能由当前K线独立决定。5.3 递归循环把行情软件拖死现象单只股票跑指标很流畅一旦用选股公式全市场筛选软件卡死或者批量跑的时候进度条走不完。原因线段划分是递归回溯过程在大量K线和大量股票上叠加时时间复杂度接近 O(n^2)如果笔的数据缓存没做好每一笔都重新扫描整段K线性能直接爆炸。解决把选股范围只限定在自选股池不要全市场跑如果必须全市场先跑日线并且把参与计算的K线数量从全部改成最近 500 根。500 根日线大概两年数据对缠论结构判断完全够用。5.4 买卖点信号扎堆灵敏度设太高现象几乎每隔三四根K线就出现一个买点红箭头密密麻麻完全分不清主次。原因背驰触发幅度默认值太小只要 DIF 稍微弱一点就触发同时笔成立K线数设太密导致很多小级别波动也被当成了结构。解决把背驰触发幅度从 0.05 往上调同时把笔成立K线数调到 5 或 6。判断标准是走势图里买卖点应该零星出现一段趋势里最多两三个多了就不是缠论是噪音。5.5 盘中信号出现又消失未走完K线参与计算现象午盘出现买入信号尾盘再看信号没了甚至变成了卖出信号。原因盘中信号使用的是实时K线收盘价还在变动分型和背驰状态自然也在变。这不是 bug是数据确认机制的问题。解决把公式运行方式改成仅在收盘后确认或者把盘中信号当参考、收盘信号当依据。实盘时我基本都是尾盘看一次收盘信号盘中很少依赖箭头操作。老实说缠论指标跑起来之后画出来的图到底是不是缠论本来的样子谁也说服不了谁这本来就是一套带点玄学的技术体系。但信号稳不稳、能不能复现、敢不敢照着下单这件事是能检验的多数翻车案例都逃不脱上面五个原因。6. 用复盘回放验证 v1.2 的买卖点一套可重复的历史校验方法源码装好、参数调顺只能说明公式能跑不能说明它画得对。真正靠谱的验证方法是复盘回放——用历史数据重新走一遍看信号出现在当时的哪根K线上之后走势是否真的验证了这个信号。这套方法我自己每次调完参数都会强制走一遍比任何参考图都有说服力。具体操作是这样的先找一只波动清晰、走出过完整上升和下降段的股票把两年的日线数据加载进行情软件切到回放或训练模式从第一根K线开始逐步推进。每走几步停一下记录当前是否出现分型、笔的切换是否合理、买点出现的位置。重点观察买点信号之后 5 到 10 根K线内走势表现统计正确率和错过率。我自己的标准是买点后 10 根K线内出现明显上涨且没有立刻创新低的算一次有效信号反之一买就套的算无效信号。正确率能到六成以上这个参数配置就算能用了再叠加自己的选股偏好才有意义。为了减少回放时的噪音信号我给 v1.2 的买点输出加了一道过滤条件你可以在主图公式里加一段类似的逻辑// 买点二次确认过滤原始买点信号 DIF上穿DEA 3根K线内不重复 DIF : EMA(CLOSE, 12) - EMA(CLOSE, 26); DEA : EMA(DIF, 9); // 原始一买信号来自源码包主图标注 B1_RAW : 源码包内置的一买信号; // 二次过滤条件 B1_CONFIRM : B1_RAW AND CROSS(DIF, DEA); NO_REPEAT : COUNT(B1_RAW, 3) 0; // 最终输出 最终买点 : B1_CONFIRM AND NO_REPEAT;这里 COUNT(B1_RAW, 3)0 约束的是最近三根K线内有买点就不重复报避免扎堆。你可能会觉得收窄了信号数量但复盘时你会发现剩下的信号质量高很多。把那段时间逐步回放完之后把正确率记在参数配置旁边以后换股票池就直接套用当前参数配置不用每次从头调。现在每次拿到新的指标源码哪怕是只改了一个灵敏度参数我也会先拉一只历史股跑一遍回放确认信号位置和覆盖面都不离谱再考虑实盘。回放画面里信号稳定且合理的感觉比看一百张截图都踏实这个习惯帮我躲过好几次看着完美、实盘翻车的验货翻车。希望帮到你。本文还有配套的精品资源点击获取
RELATED

相关推荐

10款开源免费降AI率工具实测:从检测原理到选型避坑全指南

10款开源免费降AI率工具实测:从检测原理到选型避坑全指南

先说个结论放在前面:我这两周把市面上能找到的、标着“开源免费”或者“免费不限次数”的降AIGC工具挨个试了一遍,真正值得留下来用的不超过十个。这篇就把我的筛选过程、统一测评结果、以及每个工具的适用场景完整写出来,不吹不黑&#xff0…

📅 2026/10/20 19:05:05
anydoc:把Word、PPT、Excel、PDF一键转为干净Markdown

anydoc:把Word、PPT、Excel、PDF一键转为干净Markdown

那些年被文档格式逼疯过的朋友,这回可以松口气了。Word、PPT、Excel、PDF,这四位大爷平时各说各话,想把他们整整齐齐地归拢到一个地方,过去得靠人肉复制粘贴,或者一堆格式互转的中间步骤,折腾半天还到处是乱…

📅 2026/10/20 19:05:05
基于Matlab的指纹识别系统:预处理、特征提取与GUI实现

基于Matlab的指纹识别系统:预处理、特征提取与GUI实现

简介:这份资源面向计算机、电子信息工程、数学等专业的大学生,提供一套基于Matlab实现的指纹识别系统完整毕业设计参考方案,适合用于课程设计、期末大作业或毕业设计阶段的学习与借鉴。资源包内含源码、图片素材、PPT演示文稿及课题介绍文档&…

📅 2026/10/20 19:05:05
MORE NEWS

更多资讯

📰

基于STM32的智能消防预警系统:传感器采集与WiFi远程报警实现

简介:基于STM32单片机的物联网智能消防预警系统毕业设计源码,面向电子、嵌入式及物联网专业学生和毕业设计开发者,提供一套可运行的消防预警项目完整参考。系统以STM32为主控,结合WiFi模块实现烟雾、温度、火焰等传感器的数据采集…

📰

《电路》第十版答案怎么用?从题解建立电路直觉的三步进阶法

“电路第十版答案”这个标题背后,其实是很多电类学生在学《Electric Circuits》第十版时最真实的痛点:知识点能看懂,题目不会做;题目会做一点,答案对不对心里没底;答案对了,下一道变式题又卡住了…

📰

深入浅出 Qt 绘图机制:从 QPainter 到四大图像类解析

🔥个人主页:Cx330🌸 ❄️个人专栏:《C语言》《LeetCode刷题集》《数据结构-初阶》《C知识分享》 《优选算法指南-必刷经典100题》《Linux操作系统》:从入门到入魔 《Git深度解析》:版本管理实战全解 《Qt 极境架构》MySQL 核心…

📰

用Python卷积神经网络实现几何形状识别:毕设实战全解析

如果把毕业论文当成一道需要反复打磨的作品,用Python做卷积神经网络(CNN)去识别几何形状,是我目前见过性价比最高、也最适合把深度学习理论落到代码的毕设方向之一。图形分类不像人脸识别、语义分割那么复杂,但麻雀虽小…

📰

日志系统的双刃剑:如何设计一个生产环境下可动态开启且不影响实时性的 printf 重定向方案

摘要: 日志是嵌入式调试的刚需,但日志系统设计不当会直接破坏实时性——这一点在第 2 篇《你的 printf 正在拖垮实时性》里已经用真实事故验证过。然而那篇只给出了"环形缓冲区 DMA"的骨架,生产环境的日志系统还需要解决更多问题&…

📰

低代码平台安全盲区:AI生成代码与配置层面的隐患及防护策略

1. 低代码平台的安全困局:一个被忽视的盲区低代码平台这两年在企业数字化浪潮里跑得飞快。拖拽式界面、可视化流程编排、一键发布上线,业务人员培训三天就能搭出一个审批系统,开发周期从三个月压缩到一周。这种效率提升是实打实的&#xff0c…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬