手把手把缠论画到通达信主图:3步编译ChanlunX插件并跑通笔线段中枢
手把手把缠论画到通达信主图3步编译ChanlunX插件并跑通笔线段中枢【免费下载链接】ChanlunX缠中说禅炒股缠论可视化插件项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunXChanlunX 是一款面向通达信金融终端的缠论可视化插件它通过 DLL 扩展机制把笔、线段、中枢这三层缠论结构直接画在主图上。本文不空谈理论而是沿着痛点→原理→编译→部署→扩展的路径带你从零跑通这个开源项目并理解其算法与工程设计的取舍。1. 为什么需要机器画的缠论缠中说禅理论的核心是把价格走势拆解为可重复验证的结构K线包含关系、笔、线段、中枢。理论上谁都能画但实操中问题不少。手工画缠论的三个痛点主观性同一段走势不同人画的笔和中枢常有出入千人千缠。滞后性靠肉眼盯盘等确认中枢成立往往已经错过最佳观察窗口。低效率A股全市场几千只标的逐只手工标注不现实。一条DLL如何背书缠论ChanlunX 把缠论判定规则固化成 C 算法编译为通达信可加载的 DLL 插件。公式只需一行TDXDLL2(...)调用就能拿到标准化的笔端点、线段端点和中枢区间。规则统一、结果可复现这是手工画法难以替代的价值。2. 先看效果主图上的四层结构安装并绑定插件后缠论主图公式会输出四类元素黄色虚线是笔、橙色实线是线段、橙色矩形是线段中枢、黄色矩形是笔中枢。图1ChanlunX 缠论可视化插件效果图矩形框标注中枢结构虚线标注笔的划分图2ChanlunX 缠论可视化插件笔段划分效果图线条连接关键高低点展示笔与线段走势从上图能直观看到行情在左边形成笔与中枢右侧延续处笔被重新修正这正是增量数据处理的结果——后面我们会讲到算法如何做到这一点。3. 核心流水线拆解从K线到中枢的四级递进缠论分析不是单个算法而是一条四级流水线。ChanlunX 把每一级拆成独立模块对应四个源文件。流水线级别源文件输出结构K线包含处理KxianChuLi.cpp合并后的 Kxian 序列笔识别Bi.cpp、BiChuLi.cppBi 列表 / 端点标记线段连接Duan.cpp线段端点标记中枢识别ZhongShu.cppPivot 列表zg/zd/direction第一级K线包含关系处理包含关系指相邻两根K线高低点互相覆盖。处理规则取决于当前走势方向向上时取高高向下时取低低。KxianChuLi 的add方法逐根吞入K线边处理边维护方向// KxianChuLi.cpp逐根K线做包含处理 if (gao this-kxianList.back().gao di this-kxianList.back().di) { // 向上记录为方向1 kxian.fangXiang 1; } else if (gao this-kxianList.back().gao di this-kxianList.back().di) { // 向下记录为方向-1 kxian.fangXiang -1; } else if (gao this-kxianList.back().gao di this-kxianList.back().di) { // 前包含按方向吞并高低点jieShu 向后延伸 this-kxianList.back().jieShu 1; }注意每个合并后的 Kxian 都会记录kaiShi起点坐标与jieShu终点坐标坐标信息在后续输出端点标记时至关重要。第二级成笔判定笔是相邻顶底分型之间的走势段。BiChuLi 用ifChengbi判断一段K线能否成笔先要求至少4根合并后K线再验证是否出现突破前低的更低价向下笔或突破前高的更高价向上笔。// BiChuLi.cpp向下成笔的核心判断 if (tempKxianList.size() 4) return false; // K线数不足不成笔 float zuiDiJia tempKxianList.at(i).di; // 记录当前最低价 for (unsigned int j i 1; j tempKxianList.size(); j) { if (tempKxianList.at(j).di zuiDiJia) return true; // 出现更低价笔成立 }成笔后Bi结构体记录方向、起止坐标与最高最低价若后续K线继续创新高向上笔则笔延续、终点后移这就是走势未走完、笔会不断修正的原因。第三级与第四级线段与中枢Duan.cpp 在笔序列之上做标准化连接提供标准画法与11终结两种画法ZhongShu.cpp 统计连续三笔的重叠区间输出Pivot含 zg 中枢高、zd 中枢低、direction 方向并支持识别同方向第 N 个中枢。4. 九个DLL函数公式与C算法之间的桥通达信通过固定的回调约定调用插件。ChanlunX 在 Main.cpp 中注册了9个计算函数每个函数接收(nCount, pOut, a, b, c)形式的裸指针数组。函数注册表// Main.cpp注册函数表nFuncMark 对应公式中的函数编号 static PluginTCalcFuncInfo Info[] { {1, Func1}, // 简笔顶底端点 {2, Func2}, // 标准笔顶底端点 {3, Func3}, // 线段端点标准画法 {4, Func4}, // 线段端点11终结画法 {5, Func5}, // 中枢高点 {6, Func6}, // 中枢低点 {7, Func7}, // 中枢起点(1)/终点(2) {8, Func8}, // 中枢方向 {9, Func9}, // 同方向第 N 个中枢 {0, NULL}}; BOOL RegisterTdxFunc(PluginTCalcFuncInfo **pInfo) { if (*pInfo NULL) { *pInfo Info; return TRUE; } return FALSE; }数据如何流转以中枢输出为例公式先调用函数2得到笔端点序列 FRAC再把 FRAC、H、L 传给函数5/6/7。Main.cpp 内部把 float 指针拷贝进std::vector调用ZS()得到Pivot列表再把 zg、zd、起止信号逐位写回输出缓冲区。整个链路全是值语义的数组搬运不涉及共享内存隔离干净。编号输入参数输出内容典型用途1/2H、L顶底端点 ±1画简笔/标准笔3/4FRAC、H、L线段端点 ±1画标准线段/11线段5FRAC、H、L中枢高点数组画中枢上沿6FRAC、H、L中枢低点数组画中枢下沿7FRAC、H、L起点1、终点2标记中枢边界8FRAC、H、L方向数组区分上/下中枢9FRAC、H、L同向第 N 序号计数同向中枢5. 三步完成环境搭建与编译部署ChanlunX 使用 CMake 构建算法部分编译为静态库插件本体是共享库。整个流程只需三个步骤。第一步准备环境CMake 3.20 或更高版本Visual Studio 2019需支持 C17通达信金融终端用于部署验证第二步CMake 编译按通达信位数选择架构参数32位选Win3264位选x64mkdir build cd build cmake -A Win32 .. cmake --build . --config ReleaseCMakeLists.txt 中有个值得注意的设计算法核心chanlunx_core编译为静态库并与 DLL 一起使用/MT静态链接 CRT让插件自包含、不依赖宿主程序运行时而测试程序单独用/MD配合 GoogleTest 的动态 CRT两条链路互不干扰。第三步部署到通达信把编译产物ChanlunX.dll复制到通达信安装目录的T0002\dlls\。在通达信公式系统里把该 DLL 绑定为2 号插件函数。新建主图公式粘贴下一节的公式代码即可。提醒DLL 位数必须与通达信一致混用会导致加载失败。6. 主图公式实战三行代码画出缠论全貌绑定2号插件后公式里用TDXDLL2(函数号, 参数...)调用。以下公式完整画出了笔、线段及两级中枢{标准笔端点} FRAC:TDXDLL2(2,H,L,0); {画上升/下降笔黄色虚线} DRAWLINE(FRAC-1,L,FRAC1,H,0), DOTLINE,COLORYELLOW; DRAWLINE(FRAC1,H,FRAC-1,L,0), DOTLINE,COLORYELLOW; {笔中枢的高、低与起止} BIZG:TDXDLL2(5,FRAC,H,L); BIZD:TDXDLL2(6,FRAC,H,L); BISE:TDXDLL2(7,FRAC,H,L); {画笔中枢黄色矩形} STICKLINE(BISE,BIZD,BIZG,0,0),COLORYELLOW; {线段端点改4为11终结画法} DUAN1:TDXDLL2(3,FRAC,H,L); {画线段橙色实线} DRAWLINE(DUAN1-1,L,DUAN11,H,0), COLORFF8000; DRAWLINE(DUAN11,H,DUAN1-1,L,0), COLORFF8000;公式思路值得拆解DRAWLINE以 ±1 为条件把相邻顶底连成直线STICKLINE用中枢区间绘制矩形函数5/6/7 的返回值只在中枢内部非零配合IF(BIZG,BIZG,DRAWNULL)即可在非中枢区段留白。你还可以把函数4换成函数3验证两种线段画法的差异。7. 质量保障GoogleTest 与双链路构建算法类项目最怕看着对、一测就错。ChanlunX 用 Google Test 覆盖核心函数的边界情况。测试用例设计// tests/chanlunx_test.cpp边界与正常场景并重 TEST_F(Bi1Test, 空数据返回全零) { std::vectorfloat out Bi1(0, {}, {}); EXPECT_EQ(out.size(), 0ul); // 空输入不崩溃 } TEST_F(Bi1Test, 正常笔划分) { std::vectorfloat h {10.0f, 12.0f, 11.0f, 7.0f}; std::vectorfloat l {9.0f, 8.0f, 7.0f, 6.0f}; std::vectorfloat out Bi1(4, h, l); EXPECT_EQ(out.size(), 4ul); // 输出长度与输入一致 }测试覆盖空输入、单根K线、两根K线不成笔、正常成笔等场景直接规避了数组越界和异常输入崩溃这两类插件高危问题。双链路构建的意义测试程序直接编译算法源文件chanlunx_test链接CORE_SRCS而不是链接/MT的静态库因此可以用/MD与 GoogleTest 的动态 CRT 正常配合。这种插件与测试各走各的运行时的做法避免了两套 CRT 混用导致的崩溃是值得借鉴的工程细节。8. 二次开发与进阶玩法模块化让扩展门槛很低算法层加函数、接口层注册编号、公式层调用三步即可上线一个新指标。扩展一个笔中枢个数函数在 ZhongShu.cpp 里基于ZS()的结果写一个计数函数在 Main.cpp 中照抄 Func9 的注册方式加为 10 号函数然后公式里TDXDLL2(10,FRAC,H,L)即可。整个流程不需要改动任何既有接口。与常用指标联动缠论结构适合与其他指标互相验证这里给出不同周期下的参考配置思路应用场景适用周期观察重点联动指标短线1/5分钟笔的快速转折MACD 背驰波段30/60分钟线段方向均线多空排列中线日线中枢突破成交量配合长线周/月线大级别中枢波动率过滤9. 对比与取舍为什么选DLL 公式这条路缠论分析实现方式不少ChanlunX 的选择有其明确理由对比维度ChanlunX独立行情软件量化平台脚本落地成本复制一个DLL即可需要切换软件依赖平台环境计算性能C 原生、毫秒级一般取决于解释器规则透明度开源可审计黑盒可查看与看盘流程集成直接画在主图上需来回切换通常无图形化主图开发门槛需编译 C无扩展能力脚本语言门槛低它的主要代价是编译环境要求Windows MSVC和通达信平台绑定。但如果你日常就在通达信里看盘这种零切换成本的收益通常大于迁移成本。10. 小结与下一步ChanlunX 的价值在于把缠论从主观经验变成可执行、可复现、可验证的代码K线包含、成笔、线段、中枢四级流水线职责清晰9个 DLL 函数与通达信公式无缝对接GoogleTest 与双链路构建为质量兜底。它适合三类人想统一缠论画法的技术分析爱好者、需要快速验证缠论结构的中级开发者、以及想在通达信生态里做指标创新的量化实践者。下一步建议先按本文三步跑通部署再用测试用例库做边界回归最后在公式层尝试你自己的画法组合——算法的边界往往就是你对缠论理解的边界。【免费下载链接】ChanlunX缠中说禅炒股缠论可视化插件项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

从 2 小时到 5 分钟:数据库驱动安装方法对比实测

从 2 小时到 5 分钟:数据库驱动安装方法对比实测

从 2 小时到 5 分钟:数据库驱动安装方法对比实测 【免费下载链接】dbeaver-driver-all dbeaver所有jdbc驱动都在这,dbeaver all jdbc drivers ,come and download with me , one package come with all jdbc drivers. 项目地址: https://gitcode.com/g…

2026/8/16 20:09:16 阅读更多 →
解决CMD运行bash报WSL ERROR:从原理到实战的完整排查指南

解决CMD运行bash报WSL ERROR:从原理到实战的完整排查指南

1. 从CMD到Bash:一次看似简单却暗藏玄机的环境切换如果你是一个长期在Windows环境下工作的开发者,或者是一个需要同时处理Windows和Linux任务的运维人员,那么“在CMD里敲个bash命令”这个操作,对你来说可能就像呼吸一样自然。这背…

2026/8/16 20:09:16 阅读更多 →
Linux内存排查:当top显示内存不足却找不到占用进程时如何解决

Linux内存排查:当top显示内存不足却找不到占用进程时如何解决

1. 问题引入:当TOP告诉你一个“谎言”在Linux系统运维和性能调优的日常里,top命令是我们最信赖的“仪表盘”。它能实时告诉我们CPU在忙什么,内存被谁吃了。但有时候,这个仪表盘会显示一个令人困惑的读数:系统的内存使用…

2026/8/16 20:08:16 阅读更多 →

最新新闻

Linux符号链接ln -s详解:从原理到实战的完整指南

Linux符号链接ln -s详解:从原理到实战的完整指南

1. 项目概述:链接文件,Linux系统管理的“快捷方式” 在Linux世界里,文件系统就像一座巨大的图书馆,而 ln -s 命令,就是我们为这本书创建“快捷方式”或“引用卡片”的核心工具。这个项目标题“链接文件配置”听起来很…

2026/8/16 20:58:39 阅读更多 →
面向意图编程:AI时代组织重构的资产转移与协作范式

面向意图编程:AI时代组织重构的资产转移与协作范式

1. 项目概述:当“意图”成为组织的新语言最近和几个做企业架构和产品研发的朋友聊天,大家不约而同地提到了一个共同的痛点:组织跑得越来越快,但内部协作的“摩擦力”却越来越大。产品经理的“需求”到技术团队那里变成了另一套“功…

2026/8/16 20:58:39 阅读更多 →
机器学习算法分类与数据处理实战:从理论到工程实践

机器学习算法分类与数据处理实战:从理论到工程实践

1. 从“炼丹”到“炼金”:为什么算法与数据是机器学习的双螺旋 最近和几个刚入行的朋友聊天,发现一个挺有意思的现象。很多人一提到机器学习,脑子里蹦出来的第一个画面,可能就是打开某个框架,比如Scikit-learn&#xf…

2026/8/16 20:58:39 阅读更多 →
一网打尽抖音四大热榜:用 DouYin 抓取热搜、热门视频、热门音乐与正能量榜

一网打尽抖音四大热榜:用 DouYin 抓取热搜、热门视频、热门音乐与正能量榜

一网打尽抖音四大热榜:用 DouYin 抓取热搜、热门视频、热门音乐与正能量榜 【免费下载链接】DouYin API of DouYin for Humans used to Crawl Popular Videos and Musics 项目地址: https://gitcode.com/gh_mirrors/douyin2/DouYin 想要快速掌握抖音热榜抓取…

2026/8/16 20:58:39 阅读更多 →
面向意图编程与AI Agent驱动下的组织资产转型与重构

面向意图编程与AI Agent驱动下的组织资产转型与重构

1. 从“做什么”到“要什么”:意图驱动的组织变革序幕 最近和几个不同行业的朋友聊天,发现一个挺有意思的共性现象:无论是做软件开发的、搞产品设计的,还是负责市场运营的,大家手头的工作似乎都变得越来越“碎”。一个…

2026/8/16 20:58:39 阅读更多 →
pgrust 兼容性完全指南:哪些 PostgreSQL 特性已完整支持?

pgrust 兼容性完全指南:哪些 PostgreSQL 特性已完整支持?

pgrust 兼容性完全指南:哪些 PostgreSQL 特性已完整支持? 【免费下载链接】pgrust Postgres rewritten in Rust, now faster than Postgres and Clickhouse 项目地址: https://gitcode.com/GitHub_Trending/pg/pgrust pgrust 兼容性是许多数据库开…

2026/8/16 20:57:39 阅读更多 →

日新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/16 6:00:23 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/16 6:00:24 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/16 6:00:27 阅读更多 →