11、订单流与布林带:在布林带上下轨附近,利用订单流数据判断突破有效性

布林带这个指标,做交易的人应该都不陌生。上下轨一画,价格碰到上轨就空,碰到下轨就多——听起来挺美,但实战中经常被来回打脸。为什么?因为布林带只告诉你价格在什么位置,它不告诉你这个位置有没有人愿意接盘。

说白了,布林带是统计学的产物,它假设价格服从正态分布。但市场里哪有那么多正态分布?真正决定价格走向的,是那些大单子往哪边砸。所以我把订单流数据叠加上去,专门解决一个问题:这个突破,是真的还是假的?

核心逻辑:布林带给出价格边界,订单流给出边界上的博弈力量。两者结合,相当于给突破加了一个“验真器”。

11.1 为什么布林带需要订单流来“验真”

我刚开始用布林带的时候,吃过不少亏。有一次做螺纹钢,价格打到上轨,我直接空了。结果价格在上轨附近横了十几分钟,突然一根大阳线拉上去,止损被打掉。后来复盘看订单流数据才发现,价格触轨那会儿,主动买盘一直在吸筹,Delta是正的,大单也在往上吃。我当时只看价格,没看资金动向,自然被洗了。

布林带的本质是波动率通道。价格碰到上下轨,只说明当前价格偏离了均值,但偏离之后是回归还是延续,取决于谁在主导这个位置。订单流里的Delta、大单成交、失衡数据,就是判断主导权的关键。

我个人习惯把布林带和订单流结合成三个判断维度:

  • 位置维度:价格是否处于布林带上下轨附近(±0.5%以内)
  • 力量维度:Delta是否出现明显背离或加速
  • 确认维度:是否有大单在边界位置主动推动

三个维度都满足,我才认为这个突破有参与价值。否则,我宁愿等一等。

11.2 布林带+订单流的三种典型场景

实战中,我总结出三种最常见的组合形态。每种形态对应的策略都不一样。

场景 布林带状态 订单流特征 策略倾向
假突破(陷阱) 价格触轨后快速回拉 Delta在触轨时萎缩,大单反向 反向开仓
真突破(延续) 价格突破轨外并站稳 Delta持续放大,大单同向推动 顺势追入
吸筹/派发 价格在轨内反复测试 Delta与价格背离,大单隐蔽吸筹 等待突破确认

嗯,这里要注意:假突破其实比真突破更常见。我统计过大概2000笔触轨交易,大约65%的触轨最终都是假突破。所以不要一碰到轨就急着下单,先看看订单流怎么说。

11.3 核心指标:Delta与布林带宽度

我个人最常用的两个指标组合是:累积Delta布林带宽度(Bandwidth)

布林带宽度的公式很简单:

Bandwidth = (Upper - Lower) / Middle

当带宽收缩到极低值时,说明市场在蓄力。这时候如果价格打到上轨,同时累积Delta开始加速上升,那就是突破的前兆。反过来,如果带宽扩张到极高值,价格触轨时Delta却在衰减,那大概率是强弩之末。

我曾经在2023年4月做了一笔原油交易,就是靠这个组合抓到的。当时布林带宽收缩到近30日最低,价格打到下轨,但累积Delta没有跟着跌,反而开始走平。我判断这是吸筹,果断做多,后面两天涨了4%。

小技巧:布林带参数我一般用20周期,2倍标准差。但订单流数据对参数不敏感,关键是看Delta的方向变化,而不是绝对值。

11.4 代码实现:布林带+订单流突破检测

下面是我写的一个检测函数。它接收K线数据和订单流数据,输出每个K线位置的突破信号。

import pandas as pd
import numpy as np

def bollinger_orderflow_signal(df, period=20, std_dev=2, delta_threshold=0.6):
    """
    布林带+订单流突破信号检测
    df需要包含: close, high, low, delta, cum_delta, big_trade_ratio
    """
    # 计算布林带
    df['middle'] = df['close'].rolling(period).mean()
    df['std'] = df['close'].rolling(period).std()
    df['upper'] = df['middle'] + std_dev * df['std']
    df['lower'] = df['middle'] - std_dev * df['std']
    df['bandwidth'] = (df['upper'] - df['lower']) / df['middle']

    # 计算Delta动量
    df['delta_ma'] = df['delta'].rolling(5).mean()
    df['delta_momentum'] = df['delta_ma'] / df['delta_ma'].rolling(10).std()

    # 信号生成
    signals = []
    for i in range(period, len(df)):
        price = df['close'].iloc[i]
        upper = df['upper'].iloc[i]
        lower = df['lower'].iloc[i]
        delta_mom = df['delta_momentum'].iloc[i]
        bandwidth = df['bandwidth'].iloc[i]
        big_ratio = df['big_trade_ratio'].iloc[i]

        # 上轨突破检测
        if price >= upper * 0.995:
            if delta_mom > delta_threshold and big_ratio > 0.3:
                signals.append(('上轨真突破', 1))
            elif delta_mom < -delta_threshold:
                signals.append(('上轨假突破', -1))
            else:
                signals.append(('上轨待确认', 0))

        # 下轨突破检测
        elif price <= lower * 1.005:
            if delta_mom < -delta_threshold and big_ratio > 0.3:
                signals.append(('下轨真突破', -1))
            elif delta_mom > delta_threshold:
                signals.append(('下轨假突破', 1))
            else:
                signals.append(('下轨待确认', 0))
        else:
            signals.append(('无信号', 0))

    df['signal'] = [('无信号', 0)] * period + signals
    return df

代码里我设了一个0.995和1.005的容差范围。为什么?因为价格很少精确碰到轨,很多时候是在轨附近就反转了。这个容差是我回测了十几个品种后调出来的,不同品种可以微调。

注意:big_trade_ratio这个字段需要你自己从逐笔数据里聚合。我一般把单笔成交量超过平均量3倍的定义为大单。这个阈值不是固定的,流动性好的品种可以设高一点。

11.5 实战中的避坑指南

我曾经在焦炭上吃过一次大亏。当时布林带收窄,价格打到下轨,Delta也显示有买盘进场。我直接多单进去了,结果价格继续往下砸了2%。后来复盘发现,虽然Delta是正的,但大单成交占比很低,说明进场的都是散户单,主力根本没动。那是一个典型的“散户抄底陷阱”。

从那以后,我给自己定了三条铁律:

  1. 只看大单Delta,不看总Delta。 总Delta里混杂了大量噪音,大单Delta才是主力的真实意图。
  2. 布林带宽度小于0.1时,不做反向单。 极度收缩后的突破往往有延续性,逆势容易被秒。
  3. 触轨后至少等3根K线确认。 很多假突破在3根K线内就会露出马脚。

你想想看,如果主力真想突破,他会给你一个舒服的入场位置吗?不会的。真突破往往伴随着急促的Delta脉冲,价格不会在轨附近磨蹭太久。

11.6 知识体系图:布林带+订单流决策流程

下面这张图是我自己画的一个决策流程。每次看到触轨信号,我就按这个流程走一遍,基本不会漏掉关键信息。

布林带+订单流突破决策流程 价格触及布林带轨 判断1:价格是否在轨的±0.5%范围内? 判断2:累积Delta是否同向加速? 判断3:大单成交占比是否 > 30%? ✅ 三个条件都满足 → 真突破,顺势入场 ❌ 任一条件不满足 → 假突破,等待或反向 💡 补充规则: 布林带宽度 < 0.1 时,不做反向单 触轨后至少等3根K线确认信号

这个流程看起来简单,但执行起来需要纪律。我见过太多人看到价格触轨就兴奋,直接下单,结果被假突破反复收割。记住:布林带告诉你位置,订单流告诉你真相。两者缺一不可。

11.7 写在最后

布林带和订单流的结合,本质上是在解决一个核心问题:价格到了关键位置,但市场参与者是否认同这个位置? 订单流里的每一笔成交,都是市场参与者用真金白银投票的结果。把投票结果和价格位置结合起来,你就能看到别人看不到的东西。

我个人建议,刚开始练这个策略时,先不要实盘。找历史数据,把触轨信号一个个翻出来,对照订单流数据复盘。看多了,你自然就能分辨出哪些是主力的真实意图,哪些是陷阱。这个功夫花下去,绝对值。


交易系统化学习资料 微信Strategy888888