A cryptocurrency technical analysis framework from the market maker's perspective.
Core Principles
| # | Principles |
|---|---|
| 1 | Market maker's perspective — think from the standpoint of a liquidity provider/market maker |
| 2 | Structural reasoning — directly giving "bullish/bearish" conclusions is prohibited; conclusions must go through structural reasoning |
| 3 | Multi-path thinking — must output 3 or more possible paths |
| 4 | Falsifiability — all judgments must be accompanied by negation conditions |
| 5 | Probability quantification — path probabilities must be given as specific numerical values (e.g., 55%) |
Data Acquisition
Every analysis must call the Binance API to obtain real-time data. Refer to references/api-endpoints.md for the complete endpoint list.
Required Data
- K-line data: obtain OHLCV data for the specified period
- Funding rate: judge extreme values of market sentiment
- Open interest (OI): long-short strength comparison
- Long-short ratio: holdings ratio of large traders and retail traders
API Call Examples
# K 线数据(合约)— limit 必须 ≥ 300,确保 EMA(200) 有足够数据点
curl -s "https://fapi.binance.com/fapi/v1/klines?symbol=BTCUSDT&interval=1h&limit=300"
# 资金费率
curl -s "https://fapi.binance.com/fapi/v1/fundingRate?symbol=BTCUSDT&limit=1"
# 持仓量
curl -s "https://fapi.binance.com/fapi/v1/openInterest?symbol=BTCUSDT"
# 大户多空比
curl -s "https://fapi.binance.com/futures/data/topLongShortAccountRatio?symbol=BTCUSDT&period=1h&limit=1"
API Call Specifications
To avoid triggering Binance API rate limits (HTTP 418), the following rules must be observed:
- Request interval: each API request must be at least 100ms apart
- Batch retrieval: prioritize using the
limitparameter to retrieve enough data at once and avoid multiple requests - Data volume requirement: K-line
limitmust be ≥ 300 (EMA(200) requires at least 200 K-lines, with an additional 100 as warm-up buffer) - Retry mechanism: use exponential backoff retry when encountering errors
- 1st retry: wait 1s
- 2nd retry: wait 2s
- 3rd retry: wait 4s
- Maximum of 3 retries
- Error handling:
- HTTP 418/429: pause requests for 30s then retry
- JSON parsing error: check the response content; it may be an HTML error page
- Timeout: use cached data to continue the analysis
# 推荐:一次获取多个周期(减少请求次数)
# 所有周期统一用 limit=300,确保长均线有足够数据
curl -s "https://fapi.binance.com/fapi/v1/klines?symbol=BTCUSDT&interval=4h&limit=300"
Indicator Calculation
After obtaining K-line data, calculate the following indicators. For detailed formulas, refer to references/indicators.md。
Core Indicators (Mandatory)
- RSI (14): overbought/oversold judgment
- MACD (12, 26, 9): trend momentum
- ATR (14): volatility
- Bollinger Bands (20, 2): volatility range and percentile
- EMA (20, 50, 200): trend direction
Optional Indicators
- Fibonacci retracement: key pullback/rebound levels (used when the starting point of the swing is clearly defined)
Output Framework
Data Panel
┌─────────────────────────────────────────────────────────────┐
│ 📊 {SYMBOL}/USDT 永续合约 │ {INTERVAL} │ {TIME} │
├─────────────────────────────────────────────────────────────┤
│ 价格: ${PRICE} │ 24h: {CHANGE}% │ 成交量: ${VOL} │
├─────────────────────────────────────────────────────────────┤
│ 【持仓数据】 │
│ OI: {OI} │ 资金费率: {RATE}% │ 多空比(大户): {RATIO} │
├─────────────────────────────────────────────────────────────┤
│ 【技术指标】 │
│ RSI(14): {RSI} │ MACD: {DIF}/{DEA} │ ATR(14): ${ATR} │
│ 布林: ${BOLL_UP} / ${BOLL_MID} / ${BOLL_DN} │ 带宽: {BW}% │
│ EMA: 20=${EMA20} │ 50=${EMA50} │ 200=${EMA200} │
└─────────────────────────────────────────────────────────────┘
Executive Summary
┌─────────────────────────────────────────────────────────────┐
│ 🎯 执行摘要 │
├─────────────────────────────────────────────────────────────┤
│ 核心区间: $_____ – $_____ │
│ 做市阶段: □吸筹 □拉升 □派发 □下跌 □再平衡 □诱导 │
│ 庄家意图: _____________________________________ │
│ 陷阱对象: □追多者 □扛空者 □抄底者 □高杠杆 │
│ 一句话: _______________________________________ │
└─────────────────────────────────────────────────────────────┘
For the full output template, refer to references/analysis-template.md。
Analysis Process
Single-period Analysis
- Obtain K-line and derivatives data
- Calculate technical indicators
- Output the data panel and executive summary
- Analyze liquidity distribution and capital flows
- Determine the market-making phase
- Output multi-path deduction (3 or more)
- Provide operational suggestions and key monitoring points
Full-cycle analysis
Supports two modes:
Short-term mode (default, interval=full)
Suitable for short-term trading with holding periods of 1-3 days.
Period configuration:1d → 4h → 1h → 15m(intervals 6x/4x/4x)
┌────────┬────────┬────────┬─────────────┬───────────────┬──────────┐
│ 周期 │ 趋势 │ RSI │ MACD │ 关键位 │ 信号强度 │
├────────┼────────┼────────┼─────────────┼───────────────┼──────────┤
│ 日线 │ ↑/↓/— │ ___ │ ___ │ $_____ │ ★★★☆☆ │
│ 4H │ ↑/↓/— │ ___ │ ___ │ $_____ │ ★★★☆☆ │
│ 1H │ ↑/↓/— │ ___ │ ___ │ $_____ │ ★★★☆☆ │
│ 15m │ ↑/↓/— │ ___ │ ___ │ $_____ │ ★★★☆☆ │
└────────┴────────┴────────┴─────────────┴───────────────┴──────────┘
Swing mode (interval=swing)
Suitable for swing trading with holding periods of 3-14 days.
Period configuration:1w → 1d → 4h → 1h(intervals 7x/6x/4x)
┌────────┬────────┬────────┬─────────────┬───────────────┬──────────┐
│ 周期 │ 趋势 │ RSI │ MACD │ 关键位 │ 信号强度 │
├────────┼────────┼────────┼─────────────┼───────────────┼──────────┤
│ 周线 │ ↑/↓/— │ ___ │ ___ │ $_____ │ ★★★☆☆ │
│ 日线 │ ↑/↓/— │ ___ │ ___ │ $_____ │ ★★★☆☆ │
│ 4H │ ↑/↓/— │ ___ │ ___ │ $_____ │ ★★★☆☆ │
│ 1H │ ↑/↓/— │ ___ │ ___ │ $_____ │ ★★★☆☆ │
└────────┴────────┴────────┴─────────────┴───────────────┴──────────┘
Trigger method:
- User says "full-cycle analysis" "full" → short-term mode
- User says "swing analysis" "swing" → swing mode
Quick analysis (quick)
Suitable for quickly checking the current state, no full analysis needed.
Trigger method: User says "quick analysis" "quick" "btc quick"
Period configuration: only 4h + 1h
┌─────────────────────────────────────────────────────────────┐
│ ⚡ {SYMBOL} 快速分析 │ {TIME} │
├─────────────────────────────────────────────────────────────┤
│ 价格: ${PRICE} │ 4H RSI: ___ │ 1H MACD: ___ │
│ 资金费率: ___% │ 多空比: ___ │ OI: ___ │
├─────────────────────────────────────────────────────────────┤
│ 一句话: _____________________________________ │
│ 关键位: 支撑 $_____ │ 阻力 $_____ │
└─────────────────────────────────────────────────────────────┘
Position analysis (position)
Position analysis with entry price, automatically calculates profit and loss and gives targeted suggestions.
Trigger method:
- User says "btc position 87600"
- User says "btc position 87600"
- User says "I went long btc at 87600"
Output template:
┌─────────────────────────────────────────────────────────────┐
│ 📍 {SYMBOL} 持仓分析 │
├─────────────────────────────────────────────────────────────┤
│ 入场价: ${ENTRY} │ 当前价: ${PRICE} │
│ 浮盈/亏: {+/-}___% (${DIFF}) │
├─────────────────────────────────────────────────────────────┤
│ 市场环境: │
│ • 趋势: _____ │ 动量: _____ │ 波动: _____ │
│ • 资金面: 费率 ___% │ 多空比 ___ │
├─────────────────────────────────────────────────────────────┤
│ 💡 建议: │
│ [明确的单一建议] │
│ │
│ 执行计划: │
│ • _____ @ $_____ │
│ • _____ @ $_____ │
├─────────────────────────────────────────────────────────────┤
│ ⚠️ 风险: _____________________________________ │
└─────────────────────────────────────────────────────────────┘
Replay analysis (replay)
Review recent price action and compare with previous judgments.
Trigger method: User says "replay" "replay" "btc replay"
Functions:
- Fetch the price action of the last 24h/7d
- Mark key turning points
- Analyze market maker behavior
- Extract transferable experience
Path elimination analysis (1h)
A verification layer that connects the preceding and following, linking 15m high-frequency and 4h swing.
Trigger method: cron automatically executes every hour at :45, or user says "1h analysis" "path elimination"
Core tasks:
- Read
crypto-analysis-log.mdthe 3 paths from the most recent 4h analysis - Use 15m candlestick data to verify whether short-term price behavior matches path expectations
- Mark status for each path: ✅continue / ❌eliminate / 🆕new
- Update probability allocation (probabilities of eliminated paths are reallocated to surviving paths)
- Record probability iteration trajectory (e.g., 55%→60%→65%)
Period configuration:15m + 1h + 4h(15m for micro verification, 1h/4h for meso trend confirmation)
Output requirements:
- Path elimination table (refer to
references/analysis-template.mdpath elimination template) - Probability iteration trajectory
- Key observation points for the next 1h (specific price levels + verification conditions)
- Word limit:≤350 words
Path elimination rules:
- Price breaks the path negation condition → ❌eliminate
- 4 consecutive 15m candles opposite to the path direction → reduce probability by ≥15%
- Probability drops below 10% → ❌eliminate
- A new structure not covered by the path appears → 🆕new
Daily comprehensive review (daily)
Comprehensive review + macro positioning, replacing the original 8h-replay.
Trigger method: cron automatically executes daily at 09:40 SGT, or user says "daily review" "daily"
Core Task:
- Read
crypto-analysis-log.mdall analysis records from the last 24h in - Build a multi-timeframe linkage table (1W/1D/4H/1H four levels, with weights)
- Perform Wyckoff phase assessment (checkbox format)
- Review the 24h path hit rate
- Output next-day key price levels and strategy adjustments
Timeframe Configuration:4h + 1d + 1w(add weekly timeframe for macro cycle positioning)
Output Requirements:
- Multi-timeframe linkage table (refer to
references/analysis-template.mddaily review template) - Wyckoff phase checkboxes
- 24h path verification review (hit rate statistics)
- Probability change trajectory
- Next-day outlook (key price levels + strategy adjustments + threshold updates)
- Word limit:≤600 words
Differences from the original 8h-replay:
- Time span extended from 8h to 24h
- Added weekly macro perspective
- Added Wyckoff phase assessment
- Added multi-timeframe linkage weight table
- Review depth is more comprehensive, suitable for a once-daily rhythm
Continuous Conversation Support
Re-analyze
When the user says "re-analyze":
- Re-fetch the latest data
- Compare against the invalidation conditions of the previous paths
- Update path status (✅ valid / ❌ invalidated)
- Adjust probability allocation
Review
When the user says "review":
- Review the initial judgment against the actual price action
- Mark which paths were validated/invalidated
- Analyze key turning points
- Extract transferable lessons
Common Market Maker Plays
Intraday Double Kill
The most common intraday manipulation pattern, wiping out both longs and shorts within a single day.
价格走势示意:
∧ (诱多高点)
/ \
/ \___________/ (V 型反转)
─────● ●
开盘 杀多 杀空 收盘
Phase Breakdown:
- Act One (Long Trap): Break through key resistance, attracting momentum longs to enter
- Act Two (Long Kill): Rapid drop of 3-5%, triggering long stop-losses + leveraged liquidations
- Act Three (Short Kill): V-shaped rebound from the bottom, forcing shorts to cover
Identification Features:
- Intraday amplitude > 5%
- Funding rate drops rapidly (from normal to < 0.005%)
- 4H RSI rebounds after touching oversold zone
False Breakout (Long Trap)
阻力位 ─────────────────────
∧ (假突破)
/ \
────────────/ \
↓ 快速回落
Features:
- Unable to hold after the first breakout of key resistance
- Falls back below the resistance level within 15 minutes after the breakout
- Volume expands on the breakout but shrinks afterward
Response: Do not chase the first breakout candle; wait for a retest confirmation
False Breakdown (Short Trap)
↑ 快速收回
支撑位 ────────────\ /─────────
∨ (假跌破)
Features:
- Quickly recovers after breaking below support (within 15-30 minutes)
- Funding rate falls instead of rising on the breakdown (indicating shorts did not enter heavily)
- RSI is in the oversold zone (< 30)
Response: Do not chase shorts when RSI < 30; wait for a confirmation signal
Washout-Pump
┌─────────────┐ (新高)
│ │
∧ │ 拉升 │
/ \ │ │
───● \__│ │
前高 洗盘│ │
Features:
- Consolidates sideways near the previous high
- Suddenly drops rapidly to wash out profit-taking positions
- Then strongly pumps to break above the previous high
Identification: OI decreases during shakeouts and rises during pumps
Cross-Asset Analysis
ETH as a Sentiment Amplifier
ETH volatility is usually higher than BTC, making it a magnifying glass for market sentiment.
| Signal | Meaning |
|---|---|
| ETH decline > BTC × 1.5 | Panic intensifies, altcoins under pressure |
| ETH gain > BTC × 1.5 | Risk appetite returns |
| ETH funding rate < BTC funding rate | Deeper altcoin panic |
| ETH lags (BTC rises, ETH does not) | Beware of fake breakouts |
Applications of Correlation Analysis
- Scenario 1: BTC 4H RSI < 30 + ETH funding rate < 0.005% → probability of a rebound increases greatly
- Scenario 2: BTC breaks resistance + ETH lags → beware of fake breakouts
- Scenario 3: ETH/BTC exchange rate stabilizes + ETH funding rate recovers → altseason signal
Fibonacci Retracement (Optional Tool)
Use it within clear trend swings to help identify key pullback/rebound levels.
Use Cases
| Scenario | How to Draw |
|---|---|
| Pullback after an uptrend | From the swinglowto thehigh |
| Rebound after a downtrend | From the swinghighto thelow |
Key Retracement Levels
| Retracement Ratio | Meaning | Trading Tip |
|---|---|---|
| 23.6% | Strong pullback | Signal of trend continuation, can add to position with the trend |
| 38.2% | Healthy pullback | Common first support level |
| 50.0% | Standard pullback | Bull-bear dividing line; if it holds, the trend continues |
| 61.8% | Deep pullback | Golden ratio level, trend may weaken |
| 78.6% | Last line of defense | If broken, the trend will likely reverse |
Principles of Use
Important: Using Fibonacci alone has limited meaning; it is only effective when it resonates with other signals:
- Fibonacci level + EMA support/resistance = strong resonance
- Fibonacci level + previous high/previous low = strong resonance
- Fibonacci level + high-volume node = strong resonance
Example
BTC 从 $85,000 涨到 $97,000 后回调:
波段幅度: $97,000 - $85,000 = $12,000
23.6% 回撤: $97,000 - $12,000 × 0.236 = $94,168
38.2% 回撤: $97,000 - $12,000 × 0.382 = $92,416
50.0% 回撤: $97,000 - $12,000 × 0.500 = $91,000
61.8% 回撤: $97,000 - $12,000 × 0.618 = $89,584
78.6% 回撤: $97,000 - $12,000 × 0.786 = $87,568
Position Status Awareness
During analysis, you must ask about or infer the user's position status and provide targeted advice based on different statuses.
Status Identification
| Status | How to Identify | Focus of Advice |
|---|---|---|
| No position | User does not mention a position | Entry levels, position-building strategy |
| Holding a long position | User says "I have a long" "went long" "entry price xxx" | Take-profit/stop-loss adjustment, whether to add/reduce position |
| Holding a short position | User says "I have a short" "went short" | Take-profit/stop-loss adjustment, whether to add/reduce position |
| Closed position | User says "already out" "closed the position" "no position" | Can we re-enter? |
Scenario-based recommendation template
Scenario A: No position
┌─────────────────────────────────────────────────────────────┐
│ 💡 操作建议(无仓位) │
├─────────────────────────────────────────────────────────────┤
│ 当前适合: □观望 □做多 □做空 │
│ │
│ 若做多: │
│ • 入场区: $_____ │
│ • 止损: $_____(亏损 ___%) │
│ • 目标: $_____ → $_____ │
│ • 仓位: 总资金 ___% │
│ │
│ 不建议: _____________________________________ │
└─────────────────────────────────────────────────────────────┘
Scenario B: Holding a position
┌─────────────────────────────────────────────────────────────┐
│ 💡 持仓建议({多/空}单 @ ${入场价}) │
├─────────────────────────────────────────────────────────────┤
│ 当前盈亏: {+/-}___% (${当前价} vs ${入场价}) │
│ 市场状态: _____________________________________ │
│ │
│ 建议操作: │
│ □ 继续持有 — 理由: _____ │
│ □ 部分止盈 — 在 $_____ 减仓 ___% │
│ □ 全部止盈 — 在 $_____ 离场 │
│ □ 止损调整 — 移至 $_____ │
│ □ 加仓 — 在 $_____ 加仓 ___% │
│ │
│ ⚠️ 风险提示: _____________________________________ │
└─────────────────────────────────────────────────────────────┘
Stop-loss/take-profit direction rules (must be followed):
- For a long position, the stop-loss must be < the entry price, and the take-profit must be > the entry price
- For a short position, the stop-loss must be > the entry price, and the take-profit must be < the entry price
- Violating this rule = long and short directions are reversed, absolutely not allowed
- Example: Short @ $67,800 → stop-loss should be in the $68,200+ area (above), take-profit should be in the $67,000- area (below)
Avoid contradictory recommendations:
- ❌ Do not recommend "take-profit" and "add to position" at the same time
- ❌ Do not give multiple mutually exclusive actions
- ❌ Do not use a take-profit level as a stop-loss level (check the direction!)
- ✅ Give only one clear primary recommendation + alternative conditions
Bottom/top signal tracking
Use a concise table format to track key signals:
Bottom signal checklist
┌─────────────────────────────────────────────────────────────┐
│ 📋 底部信号追踪 │
├─────────────────────────────────────────────────────────────┤
│ ✅ 多空比 < 2.5 当前: ___ (目标: < 2.5) │
│ ✅ 4H RSI > 35 当前: ___ (需从超卖区回升) │
│ ❌ 日线收阳 当前: ___ (需 > ___%) │
│ ❌ 1H MACD 金叉 当前: ___ (需 DIF > DEA) │
│ ✅ 资金费率负 当前: ___% (目标: < 0.01%) │
│ ❌ OI 下降后企稳 当前: ___ (较高点 -___%) │
├─────────────────────────────────────────────────────────────┤
│ 达成: 3/6 → 信号强度: ★★★☆☆ │
│ 建议: 等待更多信号确认后再入场 │
└─────────────────────────────────────────────────────────────┘
Top signal checklist
┌─────────────────────────────────────────────────────────────┐
│ 📋 顶部信号追踪 │
├─────────────────────────────────────────────────────────────┤
│ ❌ 多空比 > 3.5 当前: ___ (过热警戒) │
│ ❌ 4H RSI > 70 当前: ___ (超买区) │
│ ❌ 资金费率 > 0.05% 当前: ___% │
│ ❌ OI 创新高 当前: ___ BTC │
│ ❌ 周线 RSI > 80 当前: ___ (牛市顶部区) │
│ ❌ 价格触及周线上轨 当前: $_____ │
├─────────────────────────────────────────────────────────────┤
│ 达成: 0/6 → 尚未出现顶部信号 │
└─────────────────────────────────────────────────────────────┘
Notes
- All prices must be accurate to 2 decimal places
- The sum of probabilities must equal 100%
- It is prohibited to use current events to directly determine direction
- Negative conditions must be specific and verifiable
- Pay attention to extreme funding rate values (< 0.005% or > 0.05%)
- Be alert to reversals when the long/short ratio is > 3.5
- Fibonacci must be used in resonance with other indicators
- Position recommendations must be single and clear, avoiding contradictions