第十三章:订单流与支撑阻力——动态识别与验证

支撑和阻力,是技术分析的基石。但传统画法有个硬伤——你画的水平线,市场真的认吗?

我早年做手工交易时,经常对着K线图画线。画完觉得挺美,结果价格一碰就穿。后来我才明白:真正的支撑阻力,不是画出来的,是交易员用真金白银堆出来的

订单流数据,恰好能让我们看到这堆「钱」到底堆在哪。

一、传统支撑阻力的痛点

先说说传统方法的问题。你想想看,大部分人画支撑阻力,无非是看前高前低、均线、斐波那契。但这些方法有个共同毛病——静态

  • 前高前低:价格突破后,原来的支撑变阻力,但什么时候变?没人知道
  • 均线:参数调一调,线就变了,主观性太强
  • 斐波那契:0.618还是0.786?不同人画出来不一样

说白了,这些方法都是「猜」。而订单流,是「看」。

核心观点:支撑阻力不是线,是「价格-成交量」的密集区。订单流能让我们看到这些区域的形成、强化和瓦解。

二、订单流视角下的支撑阻力本质

从订单流角度看,支撑阻力就两种:

  1. 堆积区(POC区域):成交量最大的价格区间,多空博弈最激烈的地方
  2. 缺口区(Value Area Gap):成交量稀薄的价格区间,价格容易快速通过

我习惯把堆积区叫做「战场」,缺口区叫做「无人区」。价格在战场里会反复拉锯,在无人区里会一穿而过。

为什么会这样?因为堆积区里有大量未成交的订单。价格回到这里,这些订单就会被激活。而缺口区里没什么挂单,价格自然走得快。

三、动态识别方法

好,理论说完了,上干货。我常用的动态识别方法有三个:

3.1 基于Volume Profile的支撑阻力

Volume Profile(成交量分布)是最直观的工具。它把成交量按价格水平排列,而不是按时间。

具体做法:

  • 取一段行情(比如过去24小时或100根K线)
  • 计算每个价格水平的成交量
  • 找到POC(成交量最大的价格)
  • 找到Value Area(占70%成交量的价格区间)
  • VA的上边界是阻力,下边界是支撑

嗯,这里要注意:POC和VA边界不是固定的。随着新K线加入,它们会动态变化。这就是「动态识别」的含义。

# 计算动态支撑阻力
def dynamic_support_resistance(df, lookback=100):
    """
    df: 包含price和volume的DataFrame
    lookback: 回溯周期
    返回: 当前POC, VA_High, VA_Low
    """
    recent = df.tail(lookback)
    
    # 按价格聚合成交量
    vol_profile = recent.groupby('price')['volume'].sum()
    
    # 找到POC
    poc = vol_profile.idxmax()
    
    # 计算VA
    total_vol = vol_profile.sum()
    sorted_vol = vol_profile.sort_values(ascending=False)
    
    cum_vol = 0
    va_prices = []
    for price, vol in sorted_vol.items():
        cum_vol += vol
        va_prices.append(price)
        if cum_vol / total_vol >= 0.7:
            break
    
    va_high = max(va_prices)
    va_low = min(va_prices)
    
    return poc, va_high, va_low

我的经验:回溯周期别用固定K线数,用固定时间窗口(比如过去4小时)。因为不同交易时段活跃度不同,固定K线数会导致VA失真。

3.2 基于Delta堆积的支撑阻力

Volume Profile看的是总成交量,但Delta能告诉我们谁在主导。

我遇到过这种情况:价格在某个区间堆积,成交量很大,但Delta是负的。这说明虽然成交活跃,但卖方在主导。这个「支撑」其实很脆弱。

反过来,如果Delta为正且持续放大,这个支撑就靠谱得多。

判断逻辑:

  • Delta堆积区 + 正Delta → 强支撑/阻力
  • Delta堆积区 + 负Delta → 弱支撑/阻力(容易破)
  • Delta堆积区 + Delta归零 → 中性,等方向

3.3 基于订单簿失衡的实时验证

这是最实时的验证方法。当价格接近我们识别的支撑阻力位时,看订单簿的挂单情况。

具体看什么?

  • 买一和卖一的挂单量对比
  • 买一到买五的总量和卖一到卖五的总量
  • 大单挂单的位置和撤单情况

我常用的一个指标叫「订单簿失衡率」:

def orderbook_imbalance(bid_volumes, ask_volumes):
    """
    bid_volumes: 买方各档位挂单量列表
    ask_volumes: 卖方各档位挂单量列表
    返回: 失衡率 (-1到1, 正数表示买方占优)
    """
    total_bid = sum(bid_volumes)
    total_ask = sum(ask_volumes)
    
    if total_bid + total_ask == 0:
        return 0
    
    return (total_bid - total_ask) / (total_bid + total_ask)

当价格接近支撑位时,如果失衡率突然转正(买方挂单增多),说明支撑有效。如果失衡率持续为负,那这个支撑大概率守不住。

四、实战验证流程

光有识别方法不够,还得有验证流程。我个人的标准流程是这样的:

  1. 初步识别:用Volume Profile找到POC和VA边界
  2. 强度判断:看Delta堆积情况,判断支撑阻力的强弱
  3. 实时验证:价格接近时,看订单簿失衡率和成交量的变化
  4. 确认/放弃:如果验证通过,就按支撑阻力操作;如果验证失败,放弃这个位置

我曾经踩过的坑:有一次识别出一个很漂亮的POC支撑,Delta也是正的,觉得稳了。结果价格一碰到,直接一根大阴线穿下去。后来复盘发现,那个POC是隔夜形成的,而当天开盘前有大额空单进场,订单簿早就变了。所以记住:支撑阻力是动态的,昨天的战场今天可能已经失效

五、多周期验证

单周期识别容易误判。我建议至少看两个周期:

周期 作用 典型参数
大周期(日线/4小时) 确定主要战场,过滤噪音 回溯24小时或100根K线
小周期(15分钟/5分钟) 精确入场,找具体点位 回溯2小时或20根K线

大周期告诉你「大概在哪个区间」,小周期告诉你「具体在哪个价格」。两者结合,准确率能提高不少。

六、知识体系图

下面这张图总结了本章的核心逻辑:

订单流支撑阻力动态识别体系 原始订单流数据 Volume Profile Delta堆积分析 订单簿失衡率 动态支撑阻力位(POC/VA/缺口) 多周期验证 → 强度判断 → 实时确认 → 执行/放弃 高概率交易决策

七、避坑指南

最后,分享几个我踩过的坑:

  • 别只看POC:POC是最大成交量,但不一定是关键位置。有时候VA边界比POC更重要
  • 注意时间衰减:3小时前的堆积和30分钟前的堆积,权重应该不同。我习惯给近期的数据更高权重
  • 别忽略假突破:价格突破支撑阻力后,如果成交量没跟上,很可能是假突破。等确认再动手
  • 订单簿会撒谎:有些大单是「展示单」,挂上去就撤。别只看挂单量,要看成交量和撤单率

嗯,支撑阻力这块内容其实很深。今天讲的这些,够你在实战中用一阵子了。记住一句话:市场不认你画的线,只认钱堆出来的位置

核心总结:动态支撑阻力的本质,是找到「多空双方真正交火的地方」。Volume Profile告诉你战场在哪,Delta告诉你谁占优,订单簿告诉你现在谁在增援。三者结合,你就能比大多数人更早发现关键位置的变化。

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