每個加密貨幣交易者都至少目睹過這樣的場景:一個昨天還無人知曉的代幣,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线形态、连环清算。附实用算法。}
}
Authors
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.