凹底淘金战法:通达信公式源码解析与地量启动信号捕捉
简介凹底淘金战法通达信指标公式源码以文档形式呈现面向股票投资者、技术分析爱好者尤其适合使用通达信软件并希望捕捉底部反转机会的人群。资源仅1个Word文档大小128KB内容既给出可直接复制的公式源码又对HJ_1至HJ_13及‘目标’函数逐条拆解包含成交量低于百日最低值、缩量至60日均量三分之一等筑底信号也涉及放量1.8倍至6倍且收阳、单日涨幅不低于4%等启动确认同时结合金额创新高、小流通市值等条件共同筛选。已有726人学习下载。通过通读这份文档读者能理解凹底形态背后的量价逻辑在通达信中快速搭建自己的选股公式并可借鉴FILTER过滤思路减少假信号干扰。内容精炼适合已经掌握通达信基础操作、希望系统整理底部选股策略的投资者。1. 凹底结构的可计算化把放量涨停前的地量区变成条件表达式复盘很多所谓的“底部首板”你会发现一个共性真正决定成败的往往不是放量那根K线本身而是它之前那几天的地量状态。凹底淘金战法的核心就是把“跌不动、没人卖、突然有大资金试盘”这套盘感拆解成可回测、可排序的通达信条件组合。它并不是简单的“地量见地价”或者“放量就追”而是在极度缩量确认底部结构之后用温和放量启动和资金异动来确认反转信号。整套公式由13个中间变量HJ_1到HJ_13组成最终输出“目标”买入信号。适合那些用通达信做每日盘后筛选、希望把买点前置到起涨第一天的交易者。理解这套公式不只是会用更要清楚每个条件的边界在哪尤其是HJ_12里的流通市值限制和FILTER平滑逻辑这两处是后续实战调整的关键。2. 凹底结构的三层量价过滤从地量确认到启动信号2.1 第一层下跌末端的极值缩量公式里最先做的是确认“凹底”的存在。HJ_1是当日成交量小于过去100天内最低量的前一天值也就是创出百日地量。HJ_2更狠要求当日成交量不足60日均量的三分之一。这两组条件的理论依据是在下跌末端愿意割肉的人基本卖完了成交量自然枯竭。缩量到这种程度说明抛压衰竭接下来的反弹即使幅度不大阻力也相对小。这里需要区分一下HJ_1看的是“极值”HJ_2看的是“相对60日均量的偏离度”。极值缩量可能出现在长期阴跌后的某一天但也可能出现在一波急跌的途中所以单靠HJ_1或HJ_2都不够它们服务于后续的HJ_5和HJ_6——统计最近3天内满足条件的次数。连续3天出现地量比单日地量更能说明下跌动能的耗尽。2.2 第二层启动当天的温和放量与价格确认HJ_3和HJ_4负责捕捉“启动信号”。HJ_3要求当日成交量是昨日的1.8倍到6倍之间同时收盘价高于昨日收盘价这是经典的温和放量阳线。下限1.8倍的用意是过滤掉盘中脉冲式的假放量上限6倍是把那种突发消息驱动的巨量排除在外因为超过6倍的量能往往意味着筹码交换过于剧烈后续承接跟不上。HJ_4覆盖的是一种特殊形态涨幅达到4%但成交量并没有显著放大。它允许缩量大阳线出现本质上是识别那种抛压极轻、小资金就能拉出大涨幅的分歧转一致状态。其中HIGHLOW这个看起来冗余的条件在通达信里实际上是用来确保该K线不是一字板给第三天的操作留下了价格空间和流动性。2.3 第三层资金活跃度与小市值加速器HJ_7到HJ_12是一个相对独立的判断分支它用成交金额AMOUNT来识别资金异动。HJ_8到HJ_11分别判断当日成交额是否是过去10日、30日、60日、100日的最大值四个条件用OR连接也就是说只要触及其中任何一个周期的新高就说明当日资金活跃度显著提升。这个分支和放量阳线叠加使用时确认强度更高因为金额新高既可能来自放量也可能来自高价股在缩量状态下的天然高金额选股时要注意区分。HJ_12里的CAPITAL/100000035把流通股本限制在3500万股以下这是一个典型的“小盘加速器”设定。小流通盘意味着同样的资金量能推动更高的涨幅但这也是整套公式里最容易失效的参数——A股近年的新股普遍流通盘偏大这个条件会筛掉大量次新股的启动机会。2.4 公式整体的逻辑优先级把这三层条件放在一起看目标信号的逻辑优先级是先通过HJ_5或HJ_6确认近期出现过地量结构再用FILTER(HJ_13,3)平滑启动信号最后要求启动信号出现前连续两天高点高于低点。这个顺序决定了公式的适用场景是“地量之后的首次异动”而不是“地量当天的左侧抄底”。下表汇总了各条件的实际作用边界方便对照调试时快速定位条件函数原型逻辑作用主要失效场景HJ_1VOLREF(LLV(VOL,100),1)百日地量确认次新股无百日数据HJ_2VOL/MA(VOL,60)1/3量能萎缩偏离度长期横盘后均量失真HJ_3量比1.8~6倍且收阳温和放量启动高开低走的假阳线HJ_4涨幅4%且量能未放大缩量分歧转一致ST股或低价股易误触发HJ_12金额周期新高且流通股本3500万资金活跃度小盘确认大盘股直接不参与目标地量确认启动信号前两日振幅正常最终买入信号连续跌停后的低位放量易误判3. 源码的完整结构和参数边界从逐行解读到通达信落地3.1 带注释的完整公式源码把原始公式整理成可读性更高的版本每行都标注了在通达信公式系统里的实际含义。以下代码直接复制到通达信的“公式管理器—新建—技术指标公式”即可使用HJ_1:VOLREF(LLV(VOL,100),1); {创百日地量} HJ_2:VOL/MA(VOL,60)1/3; {量能不足60日均量的三分之一} HJ_3:VOLREF(VOL,1)*1.8 AND VOL/REF(VOL,1)6 AND CLOSEREF(CLOSE,1); {放量1.8~6倍且收阳} HJ_4:(CLOSE-REF(CLOSE,1))/REF(CLOSE,1)0.04 AND (VOLMA(VOL,60) OR VOL/REF(VOL,1)1.2 OR VOLHHV(VOL,5)) AND HIGHLOW; {涨幅4%且量能相对克制} HJ_5:COUNT(HJ_2,3); {3日内出现HJ_2的次数} HJ_6:COUNT(HJ_1,3); {3日内出现HJ_1的次数} HJ_7:1*AMOUNT; {当日成交金额万元} HJ_8:HHV(HJ_7,10)HJ_7; {创10日金额新高} HJ_9:HHV(HJ_7,30)HJ_7; {创30日金额新高} HJ_10:HHV(HJ_7,60)HJ_7; {创60日金额新高} HJ_11:HHV(HJ_7,100)HJ_7; {创100日金额新高} HJ_12:HJ_8 OR HJ_9 OR HJ_10 OR HJ_11 AND CAPITAL/100000035 AND CLOSEREF(CLOSE,1); {金额创新高且流通股本3500万股} HJ_13:HJ_3 OR HJ_4 OR HJ_12; {启动信号的三个触发来源} 目标:IF(HJ_5 OR HJ_6 AND FILTER(HJ_13,3) AND REF(HIGH,1)REF(LOW,1) AND REF(HIGH,2)REF(LOW,2),1,0),COLORYELLOW,LINETHICK2;3.2 逐段逻辑说明HJ_5和HJ_6用的是COUNT函数统计最近3天内地量条件出现的次数。COUNT返回的是数值不是布尔值。在最后的目标判断里HJ_5 OR HJ_6先参与运算结果再和FILTER(HJ_13,3)做AND。这里有个通达信公式的隐含细节当HJ_5或HJ_6的值大于0时视为真但整个条件的最终输出是1或0这得益于IF函数的强制转换。ADD如果你在副图里用这个指标看到数值大于0.5再确认信号比较稳妥因为浮点显示下1和0的视觉差异容易被压缩。FILTER(HJ_13,3)是整套公式里最关键的平滑函数。FILTER(A,N)的含义是当A条件第一次成立时输出1之后的N个周期内无论A是否再次成立都输出0。这里的N3意味着一次启动信号触发后3天内不重复计数。这个设计的目的是避免同一波启动行情被反复标记比如连续两天放量阳线第一天已经触发信号第二天如果还触发就会出现重复的买入提示。在实际选股场景中这个3天的间隔期也是观察信号有效性的窗口——如果3天内股价不涨反跌说明启动失败需要重新等待。3.3 参数调整边界这个公式没有使用通达信的“参数精灵”所有阈值都是硬编码的。这意味着调参必须进源码改改完记得在公式管理器里点“测试公式”确认语法无误。几个可以调的阈值及合理区间如下表参数位置原值建议调整范围调整后影响VOL/MA(VOL,60)1/30.25~0.4值越小越严格筛选出的地量结构越极端但信号越少VOL/REF(VOL,1)1.8倍和6倍1.5~2.0 / 4~8下限调低会更早捕捉放量但假信号增多上限调高会纳入更多分歧板涨幅0.044%0.03~0.05低于3%时噪音变大高于5%时容易错过已经启动的票CAPITAL/10000003520~80当前A股生态建议放宽到80否则很多创业板和科创板的票直接不在候选池FILTER周期32~5周期越长重复信号越少适合做趋势跟踪而非短线打板关于CAPITAL这个参数需要特别说明。CAPITAL在通达信里返回的是流通股本单位是手所以除以1000000后得到的是“万手”再换算成“万股”时逻辑上是CAPITAL/100。但原公式用的是/1000000这意味着它实际筛选的是流通股本小于350万股的超微型股票。这个数字在通达信里其实对应的是一手100股的概念偏差。你在复盘时会发现满足这个条件的票大概率是刚上市不久的新股或者长期停牌刚复牌的股票普通交易者持仓范围很窄。我一般会把它改成CAPITAL/10035000也就是流通股本小于3500万股更接近公式摘要里表达的“流通市值不超过3500万元”的本意。4. 实战中的信号过滤FILTER的误用、量价背离和二次确认4.1 FILTER在选股和副图里行为不同的坑FILTER函数在通达信里有两种使用场景行为完全不同。在技术指标公式里FILTER的输出是逐K线计算的序列所以你在副图里看到的是连续的信号段。但在条件选股公式里FILTER只对最后一个K线有效。这导致同一个公式放在副图里看历史信号很密集拿去选股却总是选不出票原因就是它只检查“当前K线是否满足过滤后的条件”。实战中我会同时建两个公式一个副图指标用来盯盘看历史信号分布一个条件选股公式用来每日收盘后跑筛股。选股公式的末尾要改成这样目标:IF(HJ_5 OR HJ_6 AND FILTER(HJ_13,3) AND REF(HIGH,1)REF(LOW,1) AND REF(HIGH,2)REF(LOW,2),1,0);选股时勾选“目标1”之外要手动加上一个附加条件排除停牌股和ST股。通达信里可以用DYNAINFO(4)0判断当日是否有成交但选股公式里DYNAINFO只在最后一根K线有意义所以这不算历史回测条件只能用于每日盘后筛选。如果你要跑历史回测建议把停牌过滤去掉用“目标1 AND 收盘价0”这种最朴素的条件。4.2 量价背离的二次复核公式本身的HJ_4已经在尝试捕捉“缩量上涨”的背离状态。但在实际复盘信号时有一种情况公式无法覆盖放量阳线的收盘价没有突破前5日最高价。这种信号出现的位置往往离真正的启动点还有一段距离属于资金试盘而非正式启动。我会用成交金额做一个二次过滤ZD_1:REF(HHV(HIGH,5),1); 选股:目标1 AND CLOSEZD_1 AND AMOUNT REF(MA(AMOUNT,5),1)*1.2;这个条件的逻辑是要求信号当天的收盘价突破前5日最高价并且成交金额高于前5日平均金额的1.2倍。前者确认价格位置后者补充确认资金活跃度。如果你手头有“通达信实时数据”或“通达信实时行情”接口还可以在这个基础上叠加分时均线确认即当日分时价格始终运行在均价线上方说明资金进场意愿连续而非脉冲式拉抬。4.3 流通市值参数在当前市场的适配公式里CAPITAL/100000035这个条件放在五年前A股是成立的现在却会漏掉大部分机会。原因是全面注册制之后新股发行价和流通股本普遍提升3500万股以下的票要么是北交所的小盘股要么是长期阴跌的老庄股都不是主流资金的操作对象。我的一般改法是把它放宽到2亿股以内同时结合股价过滤把绝对股价低于3元的ST风险股排除掉HJ_12:HJ_8 OR HJ_9 OR HJ_10 OR HJ_11 AND CAPITAL/10020000 AND CLOSE3 AND CLOSEREF(CLOSE,1);这样改完之后信号数量会明显增加但HJ_5和HJ_6已经在前端做了地量确认所以多出来的信号更多是“底部区域的放量启动”而不是追高信号。5. 进阶用法信号次日低吸的触发条件和防守位置的量化把公式输出的信号当作买入动作本身是很多人的习惯性误用。更稳健的用法是把“目标1”的当天当作观察日把买入动作放到信号次日的特定价格区间。这个进阶用法需要改造成两个前置条件一是确认凹底结构在信号次日没有被破坏二是设定明确的触发价和防守价。具体做法是新建一个副图指标用以下代码画出信号次日的低吸触发线{信号引用} HG:REF(目标,1)1; {前一日出现凹底信号} TG:HIGHREF(LOW,1)*1.02; {当日高点回踩前日低点附近} DC:LOWREF(CLOSE,1); {当日最低价触及前日收盘价} 低吸触发:HG AND TG AND DC,NODRAW; STICKLINE(低吸触发,LOW,LOW*0.98,2,0),COLORRED;这里低吸触发条件的逻辑是信号次日如果股价回踩到前一日收盘价附近LOWREF(CLOSE,1)同时盘中高点高于前一日低点2%以上说明有资金在低位承接此时挂单买入的性价比远高于信号当天追高。防守位置就放在前一日收盘价下方3%的位置用通达信的止损函数或者直接按自己的交易系统执行。如果想让这个策略更进一步可以把目标信号在30分钟级别重新跑一遍。通达信支持跨周期引用新建一个30分钟周期的公式引用日线级别的地量判断日线地量:EXTDATA_NUM(1,1); {需要先在日线公式里用EXTDATA写入HJ_2的结果} 30分启动:VOLREF(VOL,1)*2 AND CLOSEREF(CLOSE,1); 买点:30分启动 AND 日线地量1;这种“日线定方向、30分钟定节奏”的用法充分利用了公式里HJ_2地量条件的稳定性也规避了日线信号滞后的问题。不过EXTDATA跨周期写入需要手动刷新建议在通达信里设置盘后自动执行一遍。最终的实盘逻辑可以精简成三句话凹底地量当天不买确认启动信号后等次日低吸低吸触发后防守位设在前收盘下方3%。任何信号体系都必须连上执行策略才有意义这个公式的意义在于把“地量之后的首日异动”这个模糊概念变成了一个可量化、可回测、可执行的候选池子剩下的就要交给你的仓位管理和止损纪律了。本文还有配套的精品资源点击获取