每个加密货币交易者都至少目睹过这样的场景:一个昨天还无人知晓的代币,4小时内暴涨800%。推特上火箭表情满天飞。Reddit上涌现"这只是开始"的帖子。你那位一个月前连订单簿和麦当劳点餐都分不清的同事,给你发消息:"兄弟,至少投一百块进去"。12小时后,代币从峰值跌去85%。一片寂静。火箭已删。
问题不在于是否会暴跌。问题在于如何系统化地从中获利,而不被拉盘本身碾压。
本文不构成投资建议(这是没人看但律师坚持要加的免责声明)。这是一篇关于识别低流动性资产脉冲行情反转点的机制、信号和算法的技术分析。
拉盘砸盘的解剖学:一场疯狂的三个阶段
在做空之前,你需要理解这个现象的结构。每一次山寨币的拉盘砸盘都经历三个阶段,每个阶段在数据中都有其特征性信号。

阶段一:吸筹(静默狩猎)
持续时间:几小时到几天不等。
某个群体——内幕人士、协调的Telegram群组,或者仅仅是一个拥有信息优势的大户——开始悄悄买入代币。操作非常谨慎:小额订单,分散在多个交易所,通常在亚洲交易时段进行(此时流动性最低,市场注意力分散)。
数据中可见的特征:
- 成交量逐步增加(比过去7天均值高50-200%),但价格几乎不动
- 买盘侧订单簿变厚:在当前价格下方2-5%处出现"挂单墙"
- 链上指标(针对DEX代币):大额转账至交易所,独立买家钱包数量增长
- 永续合约的资金费率(如果有的话)开始轻微上升
在这个阶段做空为时过早。你还不知道这是吸筹还是有机需求。区分两者往往是不可能的——差异只有事后才能看出来。
阶段二:脉冲(狂欢派对)
持续时间:30分钟到12小时。
价格突破关键阻力位,级联反应开始。空头的止损被清算。FOMO(错失恐惧症)将散户卷入。加密推特变成回音室。每一次转发都是一个新的50倍杠杆多头。
特征信号:
- 成交量比均值高1000-5000%(没有打错)
- 资金费率飙升至每8小时0.1-0.5%(正常值为0.01%)
- 持仓量呈指数级增长:新仓位开设速度快于关闭速度
- 买卖价差扩大3-10倍,因为卖盘侧流动性不足
- 订单簿上方出现真空:当前价格与最近的大额卖单之间一片空白
在这个阶段做空等于自杀。 这就像站在火车前面,因为"它总会停下来的"。是的,它会停下来。但到那时你早已被清算了。更多细节见下文"不该做什么"部分。
阶段三:派发与崩盘(宿醉)
持续时间:2到48小时。
内幕人士开始获利了结。价格出现首次明显回调(从峰值下跌15-30%)。散户"抄底"。价格反弹。然后再次下跌。每次反弹都更弱。每次下跌都更深。
数据中的变化:
- 成交量依然很高,但向卖方倾斜
- 资金费率开始下降,但仍处于异常高位
- 持仓量停止增长或开始下降(多头平仓)
- 出现大额市价卖单,将订单簿"啃"下好几档
- 链上数据:大额资金从内幕人士钱包转入交易所
这就是狩猎区。 工作从这里开始。
做空的关键入场信号
单个信号是弱的。三个以上的组合才是可操作的假设。

1. 资金费率:贪婪税
资金费率是在永续合约上持有仓位的成本。当所有人都想做多时,多头向空头付费。费率越高,市场向一侧倾斜越严重。
| 资金费率(每8小时) | 解读 | 操作 |
|---|---|---|
| 0.01% | 正常 | 无 |
| 0.03-0.05% | 多头需求增加 | 观察 |
| 0.05-0.1% | 强烈倾斜 | 准备做空 |
| 0.1-0.3% | 极端倾斜 | 积极寻找入场点 |
| > 0.3% | 疯狂 | 确认后做空 |
为什么有效: 在每8小时0.3%的资金费率下,多头每天仅持仓成本就要支付约1%。在10倍杠杆下,这是每天10%的资金。这种状态无法持续太久——仓位会开始关闭,从而压低价格。
注意: 极端的资金费率本身不是做空信号。在价格继续上涨期间,它可能维持数小时甚至数天的高位。资金费率是过滤器(确认倾斜),而非触发器(入场点)。
def funding_rate_signal(
current_rate: float,
historical_rates: list[float],
lookback: int = 90, # 90个周期 = 30天
) -> dict:
"""
评估当前资金费率的异常程度。
Returns:
signal: 'neutral' | 'elevated' | 'extreme' | 'insane'
z_score: float — 偏离正常值的程度
percentile: float — 在历史数据中的百分位
"""
import numpy as np
hist = np.array(historical_rates[-lookback:])
mean = hist.mean()
std = hist.std()
z_score = (current_rate - mean) / std if std > 0 else 0
percentile = np.searchsorted(np.sort(hist), current_rate) / len(hist)
if z_score > 4:
signal = 'insane'
elif z_score > 3:
signal = 'extreme'
elif z_score > 2:
signal = 'elevated'
else:
signal = 'neutral'
return {
'signal': signal,
'z_score': round(z_score, 2),
'percentile': round(percentile, 4),
'annualized_cost': round(current_rate * 3 * 365 * 100, 1), # 年化百分比
}
2. 持仓量:谁被困住了
持仓量(OI)是期货中未平仓合约的总量。当OI随价格一起上升——新参与者正在入场(主要是多头)。当价格开始下跌但OI仍然很高——这些多头被困住了。他们的清算将成为砸盘的燃料。
关键模式:
| 价格 | OI | 解读 |
|---|---|---|
| 上涨 | 上涨 | 新多头入场(拉盘进行中) |
| 上涨 | 下跌 | 空头平仓(空头挤压) |
| 下跌 | 高位 | 多头被困(砸盘潜力) |
| 下跌 | 下跌 | 多头平仓(砸盘进行中) |
多头最危险、空头最佳的时刻: 价格开始下跌,但OI仍在最高点。这意味着开仓的多头还没有平仓——他们在期待反弹。当希望消失时,连环清算就会开始。
def oi_divergence_signal(
prices: list[float],
oi_values: list[float],
window: int = 12, # 12根K线(例如 12 × 5分钟 = 1小时)
) -> dict:
"""
检测价格/OI背离。
看涨OI背离:价格下跌,OI高企——多头被困。
"""
import numpy as np
recent_prices = np.array(prices[-window:])
recent_oi = np.array(oi_values[-window:])
price_change = (recent_prices[-1] - recent_prices[0]) / recent_prices[0]
oi_change = (recent_oi[-1] - recent_oi[0]) / recent_oi[0]
oi_at_peak = recent_oi[-1] > np.percentile(oi_values, 90)
price_declining = price_change < -0.03 # 价格下跌3%以上
trapped_longs = oi_at_peak and price_declining
if len(oi_values) > window * 2:
oi_velocity = oi_change / max(abs(price_change), 0.001)
else:
oi_velocity = 0
return {
'trapped_longs': trapped_longs,
'oi_percentile': round(
np.searchsorted(np.sort(oi_values), recent_oi[-1]) / len(oi_values), 2
),
'price_change': round(price_change * 100, 2),
'oi_change': round(oi_change * 100, 2),
'oi_velocity': round(oi_velocity, 2),
}
3. 成交量分析:逐笔数据中的真相
成交量是唯一不可伪造的市场指标(好吧,几乎不可以——某些交易所的刷量交易仍然存在,但主流平台在这方面已经改善了很多)。
做空信号:
上涨时成交量萎缩。 经典的弱势信号。价格创新高,但该波段成交量低于前一波。买方力竭。
下跌时成交量放大。 如果一次-10%的回调伴随的成交量超过了上一波上涨的成交量——卖方已经夺取了主导权。
低量假突破。 价格突破局部高点,但突破时成交量比均值低2-3倍。这是对买家的陷阱:价格会迅速回落。
def volume_exhaustion_signal(
candles: list[dict], # [{open, high, low, close, volume, timestamp}, ...]
pump_start_idx: int,
) -> dict:
"""
拉盘后的成交量衰竭分析。
"""
import numpy as np
pump_candles = candles[pump_start_idx:]
up_candles = [c for c in pump_candles if c['close'] > c['open']]
down_candles = [c for c in pump_candles if c['close'] <= c['open']]
if not up_candles or not down_candles:
return {'signal': 'insufficient_data'}
avg_up_vol = np.mean([c['volume'] for c in up_candles])
avg_down_vol = np.mean([c['volume'] for c in down_candles])
up_volumes = [c['volume'] for c in up_candles]
if len(up_volumes) >= 3:
first_half = np.mean(up_volumes[:len(up_volumes)//2])
second_half = np.mean(up_volumes[len(up_volumes)//2:])
volume_degradation = (second_half - first_half) / first_half
else:
volume_degradation = 0
all_volumes = np.array([c['volume'] for c in candles])
vol_mean = all_volumes[:-len(pump_candles)].mean() if len(candles) > len(pump_candles) else all_volumes.mean()
vol_std = all_volumes[:-len(pump_candles)].std() if len(candles) > len(pump_candles) else all_volumes.std()
current_z = (pump_candles[-1]['volume'] - vol_mean) / vol_std if vol_std > 0 else 0
return {
'sell_buy_volume_ratio': round(avg_down_vol / max(avg_up_vol, 1), 2),
'volume_degradation_pct': round(volume_degradation * 100, 1),
'current_volume_z_score': round(current_z, 2),
'signal': 'exhaustion' if volume_degradation < -0.3 else 'active',
}
4. K线形态:依然有效的古典方法
没错,K线分析起源于17世纪,本间宗久和稻米期货。没错,YouTube上90%的"K线策略"都是垃圾。但在拉盘之后的5分钟和15分钟时间框架上,某些形态具有统计上显著的预测能力。原因很简单:它们反映了真实的微观结构——控制权从买方转向卖方。
值得跟踪的形态:
| 形态 | 描述 | 拉盘后可靠性 |
|---|---|---|
| 流星线 (Shooting Star) | 长上影线,小实体在底部 | 高 |
| 空头吞没 (Bearish Engulfing) | 阴线完全包住前一根阳线 | 高 |
| 黄昏之星 (Evening Star) | 三根K线:大阳线 -> 十字星 -> 大阴线 | 非常高 |
| 墓碑十字星 (Gravestone Doji) | 开盘=收盘在底部,长上影线 | 中等 |
| 三只乌鸦 (Three Black Crows) | 三根连续阴线,收盘价逐级递降 | 高(确认性) |
至关重要的一点: 脱离背景的形态只是噪音。随机回调中的流星线毫无意义。但在拉盘顶部出现的流星线,配合异常资金费率和OI背离——那完全是另一回事。
def detect_reversal_patterns(
candles: list[dict],
min_upper_shadow_ratio: float = 2.0, # 上影线 > 2倍实体(流星线标准)
) -> list[dict]:
"""
检测看跌反转形态。
"""
signals = []
for i in range(2, len(candles)):
c = candles[i]
body = abs(c['close'] - c['open'])
upper_shadow = c['high'] - max(c['close'], c['open'])
lower_shadow = min(c['close'], c['open']) - c['low']
total_range = c['high'] - c['low']
if total_range == 0:
continue
if (upper_shadow > body * min_upper_shadow_ratio
and lower_shadow < body * 0.5
and c['close'] < c['open']): # 看跌
signals.append({
'pattern': 'shooting_star',
'index': i,
'timestamp': c['timestamp'],
'strength': upper_shadow / total_range,
})
prev = candles[i - 1]
if (prev['close'] > prev['open'] # 前一根是阳线
and c['close'] < c['open'] # 当前是阴线
and c['open'] > prev['close'] # 开盘高于前收盘
and c['close'] < prev['open']): # 收盘低于前开盘
signals.append({
'pattern': 'bearish_engulfing',
'index': i,
'timestamp': c['timestamp'],
'strength': body / (abs(prev['close'] - prev['open']) + 1e-10),
})
if i >= 2:
c1 = candles[i - 2]
c2 = candles[i - 1]
c3 = candles[i]
c1_body = abs(c1['close'] - c1['open'])
c2_body = abs(c2['close'] - c2['open'])
c3_body = abs(c3['close'] - c3['open'])
if (c1['close'] > c1['open'] # 第一根是阳线
and c2_body < c1_body * 0.3 # 第二根很小(十字星)
and c3['close'] < c3['open'] # 第三根是阴线
and c3_body > c1_body * 0.5 # 第三根足够大
and c3['close'] < c1['close']): # 第三根收盘低于第一根收盘
signals.append({
'pattern': 'evening_star',
'index': i,
'timestamp': c['timestamp'],
'strength': c3_body / c1_body,
})
return signals
5. VWAP:现实的锚点
VWAP(成交量加权平均价格)是按成交量加权的均价。从拉盘起点锚定的VWAP显示了脉冲期间所有买入者的平均入场价格。
为什么重要: 当价格跌破锚定VWAP时——平均买家已经亏损。心理压力开始积聚。在拉盘初期"低价"买入的人开始获利了结。在顶部买入的人——陷入恐慌。
规则: 放量跌破锚定VWAP是做空或加仓的强烈信号。
def anchored_vwap(
candles: list[dict],
anchor_idx: int,
) -> list[float]:
"""
从指定点(拉盘起点)计算锚定VWAP。
"""
vwap_values = []
cum_vol = 0
cum_vol_price = 0
for i in range(anchor_idx, len(candles)):
c = candles[i]
typical_price = (c['high'] + c['low'] + c['close']) / 3
cum_vol += c['volume']
cum_vol_price += typical_price * c['volume']
vwap = cum_vol_price / cum_vol if cum_vol > 0 else typical_price
vwap_values.append(vwap)
return vwap_values
6. 连环清算:多米诺效应
这是最强大的砸盘机制——也是空头最赚钱的机制。逻辑很简单:
- 交易者以20倍杠杆开多。价格下跌5%即触发清算。
- 价格下跌5%。仓位被清算——交易所以市价卖出。
- 市价卖出推动价格进一步下跌。这又清算了下一个交易者。
- 如此循环。级联效应。

如何提前预判:
CoinGlass清算热力图显示清算水平集中在哪里。如果在当前价格下方看到一道清算"墙"——跌至该水平大概率会引发连锁清算。
| 工具 | 功能 | URL |
|---|---|---|
| CoinGlass热力图 | 价格图上的清算水平 | coinglass.com/liq/BTC |
| CoinGlass OI | 各交易所持仓量 | coinglass.com/open-interest |
| CoinGlass资金费率 | 各交易所资金费率 | coinglass.com/funding-rate |
| Coinalyze | OI + 成交量 + 清算 | coinalyze.net |
| Hyblock Capital | 清算水平 | hyblock.co |
连锁清算信号: 如果在当前价格-5%到-15%的区间内集中了超过500万美元的清算量(对于日成交量5000万-2亿美元的山寨币而言)——连锁清算很可能发生。
实用算法:筛选 -> 入场 -> 风控
理论很美好。现在来看流水线。
步骤1:筛选(Scanner)
从数千个代币中,需要筛选出处于拉盘后阶段的代币。标准:
def pump_scanner(
symbols: list[str],
exchange, # ccxt exchange instance
lookback_hours: int = 24,
min_pump_pct: float = 100, # 回看期内最低+100%
min_volume_z: float = 3, # 成交量Z-score > 3
) -> list[dict]:
"""
处于拉盘后阶段的代币扫描器。
"""
import numpy as np
candidates = []
for symbol in symbols:
try:
candles = exchange.fetch_ohlcv(symbol, '1h', limit=168) # 7天
if len(candles) < 168:
continue
closes = [c[4] for c in candles]
volumes = [c[5] for c in candles]
recent_closes = closes[-lookback_hours:]
max_price = max(recent_closes)
min_price_before = min(closes[:-lookback_hours]) if len(closes) > lookback_hours else closes[0]
pump_pct = (max_price - min_price_before) / min_price_before * 100
current_price = closes[-1]
drawdown_from_peak = (current_price - max_price) / max_price * 100
vol_baseline = np.mean(volumes[:-lookback_hours])
vol_std = np.std(volumes[:-lookback_hours])
vol_recent = np.mean(volumes[-lookback_hours:])
vol_z = (vol_recent - vol_baseline) / vol_std if vol_std > 0 else 0
if pump_pct >= min_pump_pct and vol_z >= min_volume_z:
candidates.append({
'symbol': symbol,
'pump_pct': round(pump_pct, 1),
'drawdown_from_peak': round(drawdown_from_peak, 1),
'volume_z_score': round(vol_z, 2),
'current_price': current_price,
'peak_price': max_price,
})
except Exception:
continue
candidates.sort(key=lambda x: x['drawdown_from_peak'], reverse=True)
return candidates
步骤2:信号汇聚(评分)
对每个候选代币——按全部六个参数评估:
def confluence_score(
funding_signal: dict,
oi_signal: dict,
volume_signal: dict,
pattern_signals: list[dict],
vwap_position: float, # 价格 / VWAP(< 1 = 低于VWAP)
liquidation_density: float, # 当前价格下方的清算量(百万美元)
) -> dict:
"""
做空入场的综合评分。
分数0-6,每个因素 = 0或1分。
"""
score = 0
reasons = []
if funding_signal['signal'] in ('extreme', 'insane'):
score += 1
reasons.append(f"Funding z-score: {funding_signal['z_score']}")
if oi_signal['trapped_longs']:
score += 1
reasons.append(f"Trapped longs: OI percentile {oi_signal['oi_percentile']}")
if volume_signal['signal'] == 'exhaustion':
score += 1
reasons.append(f"Volume degradation: {volume_signal['volume_degradation_pct']}%")
strong_patterns = [p for p in pattern_signals if p['strength'] > 0.6]
if strong_patterns:
score += 1
reasons.append(f"Pattern: {strong_patterns[-1]['pattern']}")
if vwap_position < 0.98: # 价格低于VWAP 2%以上
score += 1
reasons.append(f"Below VWAP: {round((1 - vwap_position) * 100, 1)}%")
if liquidation_density > 5: # > 500万美元清算量
score += 1
reasons.append(f"Liquidation density: ${liquidation_density}M")
if score >= 4:
action = 'strong_short'
elif score >= 3:
action = 'short'
elif score >= 2:
action = 'watch'
else:
action = 'skip'
return {
'score': score,
'max_score': 6,
'action': action,
'reasons': reasons,
}
步骤3:入场与风险管理
入场:
- 评分 >= 4:50%仓位入场
- 评分 = 3:25%仓位入场
- 评分 < 3:等待
止损:
- 设在最近的摆动高点上方 + 1-2%缓冲
- 不要用紧止损。山寨币的波动会杀死你。距入场价最少5-10%。
- 评分 = 6时,可接受8-12%的止损(信心越强 = 止损越宽,但杠杆要更低)
止盈:
- TP1(50%仓位):下一个主要支撑位或入场价-20%
- TP2(30%仓位):从拉盘起点算的VWAP
- TP3(20%仓位):拉盘前的价格水平
仓位大小:
假设资金1万美元,每笔交易风险2%,止损8%:
使用3倍杠杆:你冒200美元(资金的2%)的风险,去博取500-1250美元的潜在收益(TP1-TP3)。
最大杠杆:3-5倍。 不能更多。说真的。山寨币在拉盘阶段可能在"所有指标都说该做空"之后又涨50%。高杠杆 = 清算。
不该做什么:五大致命错误
1. 不要在拉盘过程中做空
"它肯定会跌的!"——是的,会跌。但什么时候?如果你在+200%时做空,而价格先涨到+600%再跌到+150%——你在+450%时就被清算了。从技术上说你是对的。实际上——破产。
规则: 只在首次明显回调(从峰值下跌15%或更多)并形成反转结构后才入场。
2. 不要使用过紧的止损
在ATR为15%的山寨币上设2%的止损——这不是风控,这是对做市商的慈善。你的止损会在下一次剧烈波动中几分钟内被扫掉。
规则: 止损 >= 当前时间框架ATR的1.5倍。最好是2倍。
3. 不要把所有资金押在一笔交易上
即使评分6/6,成功概率也只有大约65-70%。这意味着每10笔交易中有3笔亏损。如果每笔投入10%资金——连续三次亏损 = -30%回撤。心理上,此后你的交易会更糟糕。
规则: 每笔交易1-2%资金。极端确信时最多5%。
4. 不要忽视流动性
你不是高盛。如果一个代币日成交量200万美元,你试图以5万美元入场——你本身就成了市场事件。你的入场会推动价格,你的退出也会推动价格。滑点会吃掉所有利润。
规则: 仓位大小 <= 代币日成交量的1%。
5. 不要在没有做空功能的现货市场上做空
这看起来很明显,但通过在DEX上购买反向代币或"卖出打算低价买回的现货"来"做空"的人数量惊人。使用流动性良好的交易所的期货。或者干脆不做空。
监控工具
CoinGlass (coinglass.com)
期货分析的首要工具:
- 清算热力图: 价格图上的清算水平可视化
- 资金费率: 各交易所资金费率实时对比
- 持仓量: 各交易所汇总OI
- 多空比: 多头与空头的比率(按账户数和成交量)
Coinalyze (coinalyze.net)
深度衍生品分析:
- 汇总OI: 按交易所拆分的合并持仓量
- 清算: 按多/空拆分的清算历史
- OI加权资金费率: 考虑各交易所份额的更精确资金费率
TradingView (tradingview.com)
用于图表分析:
- Pine Script自动化K线形态识别
- 锚定VWAP(内置工具)
- 通过社区指标叠加CoinGlass数据
Laevitas (laevitas.ch)
专业衍生品终端:
- Gamma敞口
- 期权资金流
- 按行权价的OI热力图
使用AI代理自动化
上述所有内容都可以(也应该)自动化。以下是检测系统的架构:
import asyncio
import numpy as np
from dataclasses import dataclass
from enum import Enum
class AlertLevel(Enum):
WATCH = "watch"
PREPARE = "prepare"
ENTRY = "entry"
@dataclass
class PumpDumpAlert:
symbol: str
level: AlertLevel
score: int
reasons: list[str]
suggested_entry: float | None
suggested_stop: float | None
suggested_tp: list[float]
timestamp: float
class PumpDumpDetector:
"""
用于检测拉盘后砸盘的AI代理。
流水线:
1. 扫描:成交量Z-score > 3 + 价格涨幅 > 100%
2. 过滤:资金费率飙升 + OI增长
3. 等待:5m/15m上的反转形态
4. 警报:评分 -> 通知
"""
def __init__(
self,
exchange,
symbols: list[str],
volume_z_threshold: float = 3.0,
funding_z_threshold: float = 2.0,
min_pump_pct: float = 80.0,
scan_interval_sec: int = 60,
):
self.exchange = exchange
self.symbols = symbols
self.volume_z_threshold = volume_z_threshold
self.funding_z_threshold = funding_z_threshold
self.min_pump_pct = min_pump_pct
self.scan_interval_sec = scan_interval_sec
self.active_watches: dict[str, dict] = {}
async def scan_loop(self):
"""主扫描循环。"""
while True:
candidates = await self._broad_scan()
for candidate in candidates:
symbol = candidate['symbol']
if symbol not in self.active_watches:
self.active_watches[symbol] = {
'first_seen': asyncio.get_event_loop().time(),
'pump_peak': candidate['peak_price'],
'pump_start_approx': candidate.get('pump_start_price'),
}
await self._emit_alert(PumpDumpAlert(
symbol=symbol,
level=AlertLevel.WATCH,
score=0,
reasons=[f"Pump detected: +{candidate['pump_pct']}%"],
suggested_entry=None,
suggested_stop=None,
suggested_tp=[],
timestamp=asyncio.get_event_loop().time(),
))
analysis = await self._deep_analysis(symbol)
if analysis['score'] >= 3:
entry = candidate['current_price']
stop = candidate['peak_price'] * 1.02 # 峰值上方2%
await self._emit_alert(PumpDumpAlert(
symbol=symbol,
level=AlertLevel.ENTRY if analysis['score'] >= 4 else AlertLevel.PREPARE,
score=analysis['score'],
reasons=analysis['reasons'],
suggested_entry=entry,
suggested_stop=stop,
suggested_tp=[
entry * 0.80, # TP1: -20%
entry * 0.65, # TP2: -35%
entry * 0.50, # TP3: -50%
],
timestamp=asyncio.get_event_loop().time(),
))
current_time = asyncio.get_event_loop().time()
self.active_watches = {
s: d for s, d in self.active_watches.items()
if current_time - d['first_seen'] < 48 * 3600
}
await asyncio.sleep(self.scan_interval_sec)
async def _broad_scan(self) -> list[dict]:
"""快速扫描所有交易对。"""
...
async def _deep_analysis(self, symbol: str) -> dict:
"""
对特定交易对的深度分析。
收集全部6个信号并计算汇聚评分。
"""
funding = await self._get_funding_signal(symbol)
oi = await self._get_oi_signal(symbol)
volume = await self._get_volume_signal(symbol)
patterns = await self._get_pattern_signals(symbol, timeframe='5m')
vwap_pos = await self._get_vwap_position(symbol)
liq_density = await self._get_liquidation_density(symbol)
return confluence_score(
funding, oi, volume, patterns, vwap_pos, liq_density
)
async def _emit_alert(self, alert: PumpDumpAlert):
"""发送警报(Telegram、webhook等)。"""
print(f"[{alert.level.value.upper()}] {alert.symbol} "
f"Score: {alert.score}/6 | {', '.join(alert.reasons)}")
...
自动化关键阈值
| 参数 | WATCH阈值 | ENTRY阈值 |
|---|---|---|
| 成交量Z-score | > 3 | > 5 |
| 资金费率Z-score | > 2 | > 3 |
| 4小时OI增长 | > 50% | > 100% |
| 距峰值价格 | -5%到-15% | -15%到-30% |
| K线形态 | 任何 | 强信号(strength > 0.6) |
| 价格 vs VWAP | 接近VWAP | 低于2%以上 |
统计与现实
让我们坦诚面对。这个策略不是圣杯。以下是2024-2025年数据回测的大致统计:
| 指标 | 数值 |
|---|---|
| 胜率(评分 >= 4) | ~62-68% |
| 平均盈利 | +18-25% |
| 平均亏损 | -8-12% |
| 盈亏比 | 1.8-2.3 |
| 最大回撤 | -15-22% |
| 夏普比率 | 1.1-1.6 |
关键局限性:
-
幸存者偏差: 我们只分析在期货交易所交易的代币。最疯狂的拉盘砸盘发生在DEX上,那里无法做空。
-
流动性: 许多山寨币期货的流动性不足以支撑有意义的仓位规模。滑点可能吃掉2-5%的利润。
-
与做市商博弈: 专业做市商了解这些模式,并积极利用它们来扫空头的止损。在反转形态形成后制造假拉盘——这是标准手法。
-
做空的黑天鹅风险: 理论上做空的亏损是无限的。实际上止损可以解决问题——但在低流动性时刻,止损可能以远差于设定价格的价格成交。
结论
做空山寨币拉盘后的砸盘,是加密货币中为数不多的真正存在统计优势(edge)的策略之一。原因在于:散户的集体非理性创造了可预测的模式,而连环清算的机制会放大朝你有利方向的行情。
三条值得铭记的规则:
-
永远不要做空脉冲行情。 等待阶段三。等待反转形态。等待OI背离。耐心是你最重要的工具,而不是某个花哨的指标。
-
使用信号汇聚。 一个指标是噪音。两个是假设。四个以上是可交易的机会。资金费率 + OI + 形态 + VWAP = 入场。
-
管理仓位大小,而非杠杆。 每笔交易2%风险,最高3-5倍杠杆,止损 >= 1.5 ATR。无聊?是的。但无聊的交易者是一年后唯一还在市场上的人。
最后一点。请记住:每次砸盘的背后,都是失去真金白银的真实的人。他们中许多是屈服于FOMO的新手。我们分析的是市场机制,而非鼓励操纵。从市场低效中获利是合法的。制造这种低效则不是。
更多关于资金费率及其对杠杆的影响,请参阅我们的文章资金费率正在杀死你的杠杆。关于交易中的异常检测方法——交易机器人异常检测。关于跨交易所资金费率套利——跨交易所资金费率套利。
有用链接
- CoinGlass — 清算热力图
- CoinGlass — 资金费率
- CoinGlass — 持仓量
- Coinalyze — 汇总持仓量
- Hyblock Capital — 清算水平
- Laevitas — 衍生品分析
- TradingView — 锚定VWAP
- Binance — 资金费率历史
引用
@article{soloviov2026shitcoinpumpdump,
author = {Soloviov, Eugen},
title = {如何捕捉山寨币拉盘后的暴跌:系统化方法},
year = {2026},
url = {https://marketmaker.cc/zh/blog/post/shitcoin-pump-dump-strategies},
version = {0.1.0},
description = {系统化解析山寨币拉盘后的做空策略。资金费率、持仓量、成交量分析、K线形态、连环清算。附实用算法。}
}
MarketMaker.cc Team
量化研究与策略