TA-Lib Python 蜡烛图形态识别完全指南61 个 CDL 形态一次讲透【免费下载链接】ta-lib-pythonPython wrapper for TA-Lib (http://ta-lib.org/).项目地址: https://gitcode.com/gh_mirrors/ta/ta-lib-python拿到一段open/high/low/close数据后如何一次性识别出吞没、晨星、三只乌鸦等 61 种经典 K 线形态TA-Lib Python 把底层 C 库的全部 Pattern Recognition 算法统一封装为CDL前缀函数形态识别结果可直接转成回测与风控用的买卖信号。本文覆盖全部 61 个函数的调用方式、信号语义、penetration参数与三种 API 的取舍。先跑通一次调用 ⚡️import numpy as np import talib n 120 open_ np.random.random(n) high np.maximum(open_, np.random.random(n)) 0.05 low np.minimum(open_, np.random.random(n)) - 0.05 close np.random.random(n) # 三个函数同一次扫描输出均为与输入等长的 int32 数组 engulf talib.CDLENGULFING(open_, high, low, close) crows talib.CDL3BLACKCROWS(open_, high, low, close) morning talib.CDLMORNINGSTAR(open_, high, low, close, penetration0.2) print(np.where(engulf -100)[0]) # 看跌信号所在 K 线位置 print(np.where(morning 100)[0]) # 看涨信号位置输入约定很简单open/high/low/close四个等长一维浮点数组长度不一致会直接报错。与均线类指标最大的差别是形态函数没有timeperiod参数——一个形态需要看几根 K 线由形态本身决定单根、双根或三根以上不存在可调窗口。读懂输出信号的三态语义 形态函数的输出是np.int32整数数组与输入等长每个位置只有三种取值取值含义100当前 K 线触发看涨形态0未触发或处于 lookback 前段-100当前 K 线触发看跌形态前段为什么是0而不是NaN每个形态函数都有一个lookback——识别出首个有效信号前需要的最少历史 K 线数由底层 C 库计算。talib/_func.pxi 中用make_int_array把 lookback 之前的位置统一填0保证输出数组无NaNnp.where、布尔掩码这类操作可以直接用不需要先处理缺失值。talib/_ta_lib.pyi 中每个CDL*函数的返回类型都声明为NDArray[np.int32]IDE 补全与静态检查以此为准。61 个形态按实战场景分组 按 K 线根数划分只是查字典按信号方向分组才贴近实盘决策。以下四组包含全部 61 个函数签名与 docs/func_groups/pattern_recognition.md 完全一致。底部反转信号怎么捕捉下跌末端出现时提示止跌可能是左侧观察的第一信号建议等右侧 K 线确认后再介入。单根反转、双根确认与三根组合各占一席integer CDLHAMMER(open, high, low, close) # Hammer 锤子线 integer CDLINVERTEDHAMMER(open, high, low, close) # Inverted Hammer 倒锤子线 integer CDLDRAGONFLYDOJI(open, high, low, close) # Dragonfly Doji 蜻蜓十字星 integer CDLTAKURI(open, high, low, close) # Takuri 探水竿 integer CDLCLOSINGMARUBOZU(open, high, low, close) # Closing Marubozu 收盘光头光脚 integer CDLPIERCING(open, high, low, close) # Piercing 刺透形态 integer CDLHARAMI(open, high, low, close) # Harami 孕线 integer CDLHARAMICROSS(open, high, low, close) # Harami Cross 十字孕线 integer CDLBREAKAWAY(open, high, low, close) # Breakaway 脱离形态顶部反转信号怎么捕捉上涨高位出现时提示动能衰竭与放量、长上影叠加时权重更高integer CDLINVERTEDHAMMER(open, high, low, close) # Inverted Hammer 倒锤子线 integer CDLSHOOTINGSTAR(open, high, low, close) # Shooting Star 射击之星 integer CDLGRAVESTONEDOJI(open, high, low, close) # Gravestone Doji 墓碑十字星 integer CDLDARKCLOUDCOVER(open, high, low, close, penetration0) # Dark Cloud Cover 乌云盖顶 integer CDLCOUNTERATTACK(open, high, low, close) # Counterattack 反攻形态 integer CDLHOMINGPIGEON(open, high, low, close) # Homing Pigeon 家鸽 integer CDLONNECK(open, high, low, close) # On-Neck Pattern 颈上线 integer CDLINNECK(open, high, low, close) # In-Neck Pattern 颈内线 integer CDLEVENINGSTAR(open, high, low, close, penetration0) # Evening Star 黄昏星 integer CDLEVENINGDOJISTAR(open, high, low, close, penetration0) # Evening Doji Star 黄昏十字星 integer CDLUPSIDEGAP2CROWS(open, high, low, close) # Upside Gap Two Crows 向上跳空两只乌鸦 integer CDLCONCEALBABYSWALL(open, high, low, close) # Concealing Baby Swallow 藏婴吞没其中CDLDARKCLOUDCOVER与两个黄昏星变体带penetration参数可单独调灵敏度。趋势延续与中继信号怎么用连续多根同向结构确认趋势健康回测里常作加仓与持有条件比单根反转形态可靠integer CDL3WHITESOLDIERS(open, high, low, close) # Three White Soldiers 三白兵 integer CDL3BLACKCROWS(open, high, low, close) # Three Black Crows 三只乌鸦 integer CDLIDENTICAL3CROWS(open, high, low, close) # Identical Three Crows 相同三只乌鸦 integer CDLRISEFALL3METHODS(open, high, low, close) # Rising/Falling Three Methods 上升/下降三法 integer CDLGAPSIDESIDEWHITE(open, high, low, close) # Up/Down-gap side-by-side white lines integer CDLSEPARATINGLINES(open, high, low, close) # Separating Lines 分离线 integer CDL3OUTSIDE(open, high, low, close) # Three Outside Up/Down 三外部 integer CDL3INSIDE(open, high, low, close) # Three Inside Up/Down 三内部 integer CDLPIERCING(open, high, low, close) # Piercing 刺透形态阳线刺穿阴线实体中性与观察类形态放在哪里用十字星、纺锤线、光头光脚这类形态不直接给方向用来识别多空拉锯、盘整与缺口行为适合当过滤器或与其他指标联动integer CDLDOJI(open, high, low, close) # Doji 十字星 integer CDLLONGLEGGEDDOJI(open, high, low, close) # Long Legged Doji 长腿十字星 integer CDLDOJISTAR(open, high, low, close) # Doji Star 十字星线 integer CDLRICKSHAWMAN(open, high, low, close) # Rickshaw Man 黄包车夫 integer CDLSPINNINGTOP(open, high, low, close) # Spinning Top 纺锤线 integer CDLHIGHWAVE(open, high, low, close) # High-Wave Candle 高浪线 integer CDLMARUBOZU(open, high, low, close) # Marubozu 光头光脚 integer CDLLONGLINE(open, high, low, close) # Long Line Candle 长实体线 integer CDLSHORTLINE(open, high, low, close) # Short Line Candle 短实体线 integer CDLBELTHOLD(open, high, low, close) # Belt-hold 腰带线 integer CDL2CROWS(open, high, low, close) # Two Crows 两只乌鸦 integer CDLTHRUSTING(open, high, low, close) # Thrusting 脱手形态 integer CDL3LINESTRIKE(open, high, low, close) # Three-Line Strike 三线打击 integer CDL3STARSINSOUTH(open, high, low, close) # Three Stars In The South 南方三星 integer CDLMATHOLD(open, high, low, close, penetration0) # Mat Hold 垫住形态上升趋势中继 integer CDLADVANCEBLOCK(open, high, low, close) # Advance Block 前进阻挡 integer CDLTASUKIGAP(open, high, low, close) # Tasuki Gap 脱节缺口 integer CDLHIKKAKE(open, high, low, close) # Hikkake Pattern 陷阱形态 integer CDLHIKKAKEMOD(open, high, low, close) # Modified Hikkake 修正陷阱形态 integer CDLKICKING(open, high, low, close) # Kicking 反冲形态 integer CDLKICKINGBYLENGTH(open, high, low, close) # Kicking by Length 按实体长度定多空 integer CDLLADDERBOTTOM(open, high, low, close) # Ladder Bottom 梯底 integer CDLSTALLEDPATTERN(open, high, low, close) # Stalled Pattern 停顿形态 integer CDLSTICKSANDWICH(open, high, low, close) # Stick Sandwich 夹棒 integer CDLTRISTAR(open, high, low, close) # Tristar 三星 integer CDLUNIQUE3RIVER(open, high, low, close) # Unique 3 River 独特三河 integer CDLXSIDEGAP3METHODS(open, high, low, close) # Upside/Downside Gap Three Methods integer CDLMATCHINGLOW(open, high, low, close) # Matching Low 并列低价penetration 阈值怎么调61 个函数中只有 7 个多出一个penetration: float 0参数声明见 talib/_ta_lib.pyi函数形态典型场景CDLMORNINGSTARMorning Star 晨星底部反转CDLMORNINGDOJISTARMorning Doji Star 早晨十字星底部反转CDLEVENINGSTAREvening Star 黄昏星顶部反转CDLEVENINGDOJISTAREvening Doji Star 黄昏十字星顶部反转CDLDARKCLOUDCOVERDark Cloud Cover 乌云盖顶顶部反转CDLABANDONEDBABYAbandoned Baby 弃婴极端反转CDLMATHOLDMat Hold 垫住上升趋势中继它控制实体穿透/重叠比例的判定阈值默认0最严格取值越大判定越宽松、触发越频繁。具体阈值逻辑在底层 C 库中实现Python 层只做透传。# 高波动品种上默认阈值可能从不触发放宽后再看信号分布 strict talib.CDLEVENINGSTAR(o, h, l, c) loose talib.CDLEVENINGSTAR(o, h, l, c, penetration0.2) print((loose ! 0).sum() - (strict ! 0).sum()) # 放宽后多出的信号数三种调用风格怎么权衡维度Function APIAbstract APIStream API输入4 个等长 numpy 数组dict/pandas.DataFrame/polars.DataFrame历史数组建句柄 逐根标量输出等长int32数组等长int32数组int标量适用历史批量扫描、回测数据管道对接实时逐根行情Function API 即前文的talib.CDL*直调适合一次性批量扫描。Abstract API 接受 dict 或 DataFramerun与直接调用等价tests/test_abstract.py 中有逐项一致性断言from talib import abstract # dict 键为 open/high/low/closepandas/polars DataFrame 同样支持 func abstract.Function(CDLMORNINGSTAR) print(func.info) # name / group / input_names / output_names print(func.lookback) # 首个有效信号前需要的最少 K 线数 out func({open: o, high: h, low: l, close: c})Stream API 建一次句柄后增量计算每来一根 K 线只需 O(1) 更新无需重扫历史实现见 talib/_stream.pxifrom talib import stream handle stream.CDLENGULFING(o, h, l, c) # 历史数据建立句柄 print(handle.value) # int 标量-100 / 0 / 100 signal handle.update(o_new, h_new, l_new, c_new) # 新 K 线增量更新三者的信号语义一致差别只在输出形态批量接口返回数组流式接口返回标量。句柄支持pickle传递结果tests/test_stream.py 对全部形态函数做了流式/批量一致性验证。从源码到测试的验证链条Cython 包装模板talib/_func.pxi 中每个CDL*函数走同一条流水线check_array校验输入类型 →check_length4断言四数组等长 →check_begidx4跳过前段NaN→lib.TA_*_Lookback()算出 lookback →make_int_array前段填 0 → 调用 C 库写入int32结果。61 个函数均由同一模板生成。类型桩talib/_ta_lib.pyi 声明全部 61 个函数返回类型统一NDArray[np.int32]补全与静态检查以此为准。docstring 统一生成talib/_abstract.pxi 中的Output is a candlestick标志负责把输出统一渲染为integer (values are -100, 0 or 100)流式测试直接扫描该标志收集全部形态函数做参数化测试。数值断言tests/test_func.py 用 20 根样例 K 线对CDL3BLACKCROWS整段数组精确断言——前 17 位全0第 18 位-100Abstract 与 Function 结果逐元素相等Stream 的value断言为int且与批量结果末位一致。延伸阅读形态识别函数参考docs/func_groups/pattern_recognition.md全部函数清单docs/funcs.md函数 API 使用指南docs/func.md抽象 API 指南docs/abstract.md文档索引docs/doc_index.md【免费下载链接】ta-lib-pythonPython wrapper for TA-Lib (http://ta-lib.org/).项目地址: https://gitcode.com/gh_mirrors/ta/ta-lib-python创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
星穹铁道自动清体力:March7thAssistant 让每天上线的重复劳动变成后台任务 星穹铁道自动清体力:March7thAssistant 让每天上线的重复劳动变成后台任务 【免费下载链接】March7thAssistant 日常交给三月七,开拓留给你。《崩坏:星穹铁道》开源自动化助手。 项目地址: https://gitcode.com/gh_mirrors/ma/March7thAssi… · 2026/11/4 11:09:45
bandwhich 终端带宽监控工具:从源码编译到安装排错一次跑通 bandwhich 终端带宽监控工具:从源码编译到安装排错一次跑通 【免费下载链接】bandwhich Terminal bandwidth utilization tool 项目地址: https://gitcode.com/gh_mirrors/ba/bandwhich
bandwhich 是一款终端带宽监控工具,能按进程、连接、远端 I… · 2026/11/4 11:09:45
优化Hermes Agent的并发编程模型:多线程与异步IO比较 优化Hermes Agent的并发编程模型:多线程与异步IO比较
在现代AI代理系统中,高效处理并发任务是提升性能的关键。Hermes Agent作为一款强大的AI代理框架,采用了多线程与异步IO相结合的并发编程模型,以应对复杂的任务处理需求。本文将… · 2026/11/4 11:08:43
LunaTranslator 完整指南:从 HOOK 到 OCR,掌握视觉小说游戏翻译 LunaTranslator 完整指南:从 HOOK 到 OCR,掌握视觉小说游戏翻译 【免费下载链接】LunaTranslator 视觉小说翻译器 / Visual Novel Translator 项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator
LunaTranslator 是一款免费开源、… · 2026/11/4 11:50:37
如何用自有ROM构建多语言Emerald 3DS:西班牙语、法语与意大利语版本构建教程 【免费下载链接】emerald-3ds Native Pokmon Emerald port for Nintendo 3DS, featuring dual-screen gameplay, stereoscopic 3D, and a fully 3D world. 项目地址: https://gitcode.com/gh_mirrors/em/emerald-3ds 点击查看 免费下载 Emerald 3DS 是《宝可梦 红宝… · 2026/11/4 11:50:37
蔡司三坐标测量仪是什么?一文读懂原理、型号、精度与行业应用 蔡司三坐标测量仪是什么?简单说,三坐标测量机(CMM,Coordinate Measuring Machine)就是一台能在三维空间里 "量尺寸" 的设备:测头沿着 X、Y、Z 三个方向移动,逐点或连续扫过工件表面&a… · 2026/11/4 11:49:36
Xoodyak算法的各种密码分析方法全面盘点 Xoodyak算法的各种密码分析方法全面盘点Xoodyak作为NIST轻量级密码竞赛的决赛算法,其安全性受到了学界的广泛审查。目前,所有已发表的攻击都针对缩减轮数的版本,其完整的12轮核心置换Xoodoo尚未被任何攻击所突破。以下是根据现有研究… · 2026/11/4 11:49:36
【LLM】第五章:LangChain框架介绍+开发前的准备工作 【LLM】第五章:LangChain框架介绍开发前的准备工作
本系列开始循序渐进讲LangChain框架。
LangChain是当前构建生产级AI智能体系统的首选,学习LangChain框架的意义不仅仅是开发智能体,透过框架,我们可以看到设计框架的这群牛人&… · 2026/11/4 11:49:36
CBC-MAC算法的各种密码分析方法全面盘点 CBC-MAC算法的各种密码分析方法全面盘点CBC-MAC(Cipher Block Chaining Message Authentication Code)是一种基于分组密码构造消息认证码的经典算法-。虽然设计精巧,但在不同条件下存在多种密码分析方法。以下是针对CBC-MAC及其主要变体的攻击… · 2026/11/4 11:49:36
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38
AI辅助技术栈评估:提升研发决策效率60% 1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17
从生成Token到直接决策:Jev如何重塑AI Agent工程实践 1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17
32G统一内存跑大模型:内存账、TPS实测与端云分流 想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38