BTC/USDT 4H Council Report

Signal: BEARISH (64%)  |  Price: $60,521.80  |  2026-06-27 17:00 KST  |  300 candles

Council: 0 bullish, 3 neutral, 3 bearish  |  Support: $60,009 / $59,430 / $59,080  |  Resistance: $60,580 / $60,620 / $60,734

result.json   raw.txt   report.md


BTC Chart

Executive Summary

BTC/USDT 4시간 구조는 현재 $60,521.80 기준으로 bearish 우위가 더 크다. ICT의 마지막 bearish BOS $62,232.10 아래 체류, EMA20 $60,762.14·EMA120 $63,887.93·EMA240 $67,191.96 하회, 파생 롱 과밀과 CVD 약화가 구조적 약세 판정을 지지한다. 다만 Wyckoff는 $58,288 Spring 이후 $60,580 SOS가 형성된 축적 Phase D 후보를 제시하므로, 시장은 완전한 추세 하락이라기보다 하단 축적 가능성과 약세 구조가 충돌하는 전환성 구간에 있다. 현재 위치는 Wyckoff range의 EQ $61,665 아래 할인 구간이자 Fibonacci ret_0.5 $60,619.80 바로 아래로, $60,580-$61,230 회복 여부가 축적 진행과 실패 반등을 가르는 핵심 조건이다. bearish 구조의 최종 무효화는 $64,250 상향 수용이며, 그 전에는 $62,232.10 회복이 우선적인 구조 약화 신호다.

Confluences

Conflicts


Agent Matrix

AgentSignalConfidenceSupportResistance
Wyckoff ExpertNEUTRAL62%$59,080 / $58,288$60,580 / $60,762
ICT TraderBEARISH78%$58,288 / $58,030$60,734 / $60,762
Derivatives TraderBEARISH66%$58,300 / $58,030$60,700 / $60,900
Candlestick ReaderBEARISH55%$59,430 / $58,030$60,762 / $61,814
Fibonacci AnalystNEUTRAL58%$60,009 / $59,252$60,620 / $61,231
Harmonic SpecialistNEUTRAL46%$59,934 / $60,603$60,762 / $61,200

Agent Details

Wyckoff Expert — NEUTRAL (62%)

Support: $59,080 / $58,288 / $58,030 | Resistance: $60,580 / $60,762 / $61,665 | Horizon: medium term

4시간 구조는 regime=ACC, acc_score 84.8, regime_fitness 0.848로 축적 후보가 우세하며, 확인된 이벤트 체인은 SC $59,080 → AR $64,250 → ST $63,650 → Spring $58,288 → SOS $60,580입니다. 구조적으로는 Spring 이후 SOS가 포착되어 Phase D 축적 진행으로 해석되므로 structure_bias는 bullish가 맞지만, 현재가 $60,521.80은 SOS $60,580과 EMA20 $60,762.14 아래에 있어 즉시 상승 추종 setup은 아직 확정되지 않았습니다. 핵심은 $60,580 재돌파와 $61,665 부근 EQ 회복 여부이며, 이 구간을 받아들이지 못하면 Phase D 내 LPS 형성 전 $59,080 또는 Spring 저점 $58,288 재시험이 먼저 나올 수 있습니다. 따라서 구조는 강세 축적이지만, 실행 관점의 setup_bias는 아직 중립으로 두는 것이 적절합니다.
ICT Trader — BEARISH (78%)

Support: $58,288 / $58,030 | Resistance: $60,734 / $60,762 / $61,814 | Horizon: 단기~중기, 4시간봉 기준

확인된 구조는 bearish입니다. 최근 구조 시퀀스가 CHoCH_bearish $78,713.80 이후 $76,014.20, $74,203.60, $72,436.00, 그리고 마지막 $62,232.10 bearish BOS로 이어졌고, 현재가 $60,521.80는 이 마지막 구조 레벨 아래에 머물고 있습니다. 가격은 EQ $61,813.60 아래 discount에 있어 신규 숏 진입 위치는 다소 낮지만, EMA20 $60,762.14와 previous day high $60,734.00를 회복하지 못해 단기 반등이 매도 유동성 공급 구간으로 작동하고 있습니다. 활성 bullish OB, unfilled FVG, 최근 liquidity sweep이 모두 부재하므로 반전보다 $58,288.00 previous day low 및 $58,030.00 range low 재테스트 가능성이 더 높습니다.
Derivatives Trader — BEARISH (66%)

Support: $58,300 / $58,030 / $57,200 | Resistance: $60,700 / $60,900 / $61,500 | Horizon: 단기, 파생 데이터 선행성을 감안한 4~8시간 중심

확인된 구조는 현재가 $60,521.80이 EMA20 $60,762.14, EMA120 $63,887.93, EMA240 $67,191.96 아래에 위치해 있어 bearish로 판단한다. 파생 포지셔닝은 롱 계정 비율 0.672와 롱 과밀도 1.000으로 롱이 혼잡한 반면, CVD 변화는 -3136.1430으로 반등 참여가 약해 상승 추세 확인이 부족하다. OI가 24시간 -1.1490% 감소해 신규 매수 레버리지 유입보다는 포지션 축소가 나타나며, aggregate_score 0.293과 bear_signals 4개는 하방 압력을 지지한다. 단기적으로 $60,700-$61,500 상단 청산을 스윕할 수 있으나, $61,500 위에서 수용되지 못하면 $58,300 및 $57,200 하방 유동성 테스트 가능성이 높다.
Candlestick Reader — BEARISH (55%)

Support: $59,430 / $58,030 | Resistance: $60,762 / $61,814 / $63,888 | Horizon: short term

BTC/USDT 4시간 기준 현재가 $60,521.80는 EMA20 $60,762.14 바로 아래에 있으며, EMA120 $63,887.93와 EMA240 $67,191.96도 모두 하회하고 있어 확인된 구조는 bearish로 본다. 최근 패턴은 bearish_engulfing@294 하나뿐이고 품질 0.467의 candidate 등급이며 고거래량 패턴도 없어 강한 반전 확정 신호라기보다는 단기 매도 압력 신호에 가깝다. bear_score는 0.750, bull_score는 0으로 캔들 점수는 하방을 지지하지만, 최근 5개 캔들 중 4개가 양봉이고 현재가가 7일 EQ 약 $61,813.60 아래 할인 구간에 있어 setup_score는 0.46으로 제한한다. 핵심은 $60,762.14 EMA20 회복 여부이며, 실패 시 $58,030.00 7일 저점 재테스트 가능성이 높아진다.
Fibonacci Analyst — NEUTRAL (58%)

Support: $60,009 / $59,252 / $58,030 | Resistance: $60,620 / $61,231 / $62,101 | Horizon: short term

확정 구조는 $63,210 고점에서 $58,030 저점으로 형성된 하락 스윙 기준이므로 아직 bearish로 판단한다. 현재가 $60,521.80은 ret_0.5 $60,619.80에 매우 근접해 있으며, fib_reaction_state가 testing이고 reaction_probability가 0.65로 단기 반응 가능성은 있다. 다만 핵심 황금비율 저항인 ret_0.618 $61,230.99를 돌파·수용하기 전까지는 상승은 하락 추세 내 되돌림으로 해석하는 것이 타당하다. 하방에서는 ret_0.382 $60,008.61 이탈 시 $59,252.39, 이후 주요 confluence zone인 $58,030.00 재시험 위험이 커진다.
Harmonic Specialist — NEUTRAL (46%)

Support: $59,934 / $60,603 / $60,767 | Resistance: $60,762 / $61,200 / $61,676 | Horizon: short to medium term

4시간 기준 하모닉 스캔은 총 124개 패턴 중 completed 49개, forming D PRZ 75개로 다수의 bullish PRZ 클러스터를 보여주지만, 실제 실행 가능 패턴은 0개로 분류되어 방향성 투표 권한은 제한적입니다. 현재가 $60,521.80는 최근접 Bat PRZ $59,934.01-$61,200.40 내부이며 PRZ 중심 $60,567.20와 0.08% 거리라 반등 후보 구간에 있으나, 이 Bat은 low quality·비고신뢰 PRZ라 구조를 뒤집을 수 없습니다. 더 의미 있는 상방 setup은 strict medium Bat PRZ $60,602.82-$61,675.69, Shark PRZ $60,767.09-$61,843.92, 그리고 completed Butterfly candidate PRZ $60,933.28-$61,663.11의 중첩에서 나오며, 확인 시 TP 후보는 $62,199.70-$62,302.44, $62,854.85-$62,918.36, 이후 $63,915.30 부근입니다. 그러나 가격은 EMA20 $60,762.14 아래, EMA120 $63,887.93 및 EMA240 $67,191.96 아래에 있어 확인된 강세 구조로 보기는 어렵고, PRZ 반응·15m/1h MSS·CHoCH·CVD/OI 확인 전까지는 neutral 신호가 타당합니다.

Operating Path — complex (61%)

#PriceTypeSourceEst. HoursDescription
1$61,230liquidity_sweepFibonacci (ret_0.618 $61,230.99), Harmonic (Bat PRZ 상단 $61,200.40), Derivatives (상단 청산 sweep $60,700-$61,500), ICT (EMA20 $60,762.14·PDH $60,734 매도 유동성 공급)3.0최근 5캔들 중 4개 양봉의 단기 모멘텀이 EMA20 $60,762.14와 PDH $60,734 위 스톱을 sweep하며 '$60,580-$61,230 회복 확인 구간'의 상단인 Fib 황금비율 ret_0.618 $61,230.99 + 하모닉 Bat PRZ 상단 $61,200.40 합류대를 시험. 롱 과밀(롱비율 0.672)·CVD -3136·OI -1.15% 환경에서 상향 수용 실패 시 매도 유동성 공급 구간으로 작동하는 실패성 반등(숏 프리미엄 진입 구간).
2$60,009support_testFibonacci (ret_0.382 $60,008.61), Derivatives8.0$61,230 거부 후 EMA20·SOS($60,580)를 재하회하며 첫 지지인 Fib ret_0.382 $60,008.61과 $60,000 심리선을 테스트. 이 구간 수용 실패가 하방 연속성의 1차 확인 신호.
3$59,080support_testWyckoff (SC $59,080), Candlestick ($59,429.89)15.0Candlestick 보조 지지 $59,429.89를 거쳐 Wyckoff 메인 레인지 저점 SC $59,080을 테스트. Phase D 내 LPS 형성 전 하단 방어 시험 구간으로, 이탈 시 Spring 저점 재시험이 우선됨.
4$58,030swing_lowFibonacci/ICT/Wyckoff/Candlestick/Derivatives 다중 합류 ($58,288 Spring·PDL, $58,030 range low·7일 저점·fib confluence, 파생 청산대 $58,300) — WP 후보 레벨(score 0.6)22.0$58,288 Wyckoff Spring·ICT PDL과 $58,030 range low·7일 저점·fib confluence가 중첩되고 파생 하방 청산대 $58,300과도 겹치는 핵심 하단 유동성·방어 구간. 24시간 주요 하방 타깃이며, ICT($58,288/$58,030 재테스트)·Candlestick($58,030 재시험)·Derivatives($58,300) 다수가 지지.

Period Extremes

HorizonExpected LowExpected HighSequence
4h$60,650$61,230High first
8h$60,009$61,230High first
24h$58,030$61,230High first

Triggers

Invalidation: $62,232

Raw Operating Path Response
```json
{
  "path_type": "complex",
  "confidence": 0.61,
  "waypoints": [
    {
      "seq": 1,
      "price": 61230.0,
      "type": "liquidity_sweep",
      "source": "Fibonacci (ret_0.618 $61,230.99), Harmonic (Bat PRZ 상단 $61,200.40), Derivatives (상단 청산 sweep $60,700-$61,500), ICT (EMA20 $60,762.14·PDH $60,734 매도 유동성 공급)",
      "description": "최근 5캔들 중 4개 양봉의 단기 모멘텀이 EMA20 $60,762.14와 PDH $60,734 위 스톱을 sweep하며 '$60,580-$61,230 회복 확인 구간'의 상단인 Fib 황금비율 ret_0.618 $61,230.99 + 하모닉 Bat PRZ 상단 $61,200.40 합류대를 시험. 롱 과밀(롱비율 0.672)·CVD -3136·OI -1.15% 환경에서 상향 수용 실패 시 매도 유동성 공급 구간으로 작동하는 실패성 반등(숏 프리미엄 진입 구간).",
      "est_hours": 3.0
    },
    {
      "seq": 2,
      "price": 60008.61,
      "type": "support_test",
      "source": "Fibonacci (ret_0.382 $60,008.61), Derivatives",
      "description": "$61,230 거부 후 EMA20·SOS($60,580)를 재하회하며 첫 지지인 Fib ret_0.382 $60,008.61과 $60,000 심리선을 테스트. 이 구간 수용 실패가 하방 연속성의 1차 확인 신호.",
      "est_hours": 8.0
    },
    {
      "seq": 3,
      "price": 59080.0,
      "type": "support_test",
      "source": "Wyckoff (SC $59,080), Candlestick ($59,429.89)",
      "description": "Candlestick 보조 지지 $59,429.89를 거쳐 Wyckoff 메인 레인지 저점 SC $59,080을 테스트. Phase D 내 LPS 형성 전 하단 방어 시험 구간으로, 이탈 시 Spring 저점 재시험이 우선됨.",
      "est_hours": 15.0
    },
    {
      "seq": 4,
      "price": 58030.0,
      "type": "swing_low",
      "source": "Fibonacci/ICT/Wyckoff/Candlestick/Derivatives 다중 합류 ($58,288 Spring·PDL, $58,030 range low·7일 저점·fib confluence, 파생 청산대 $58,300) — WP 후보 레벨(score 0.6)",
      "description": "$58,288 Wyckoff Spring·ICT PDL과 $58,030 range low·7일 저점·fib confluence가 중첩되고 파생 하방 청산대 $58,300과도 겹치는 핵심 하단 유동성·방어 구간. 24시간 주요 하방 타깃이며, ICT($58,288/$58,030 재테스트)·Candlestick($58,030 재시험)·Derivatives($58,300) 다수가 지지.",
      "est_hours": 22.0
    }
  ],
  "period_extremes": {
    "4h":  {"expected_high": 61230.0, "expected_low": 60650.0, "high_first": true},
    "8h":  {"expected_high": 61230.0, "expected_low": 60008.61, "high_first": true},
    "24h": {"expected_high": 61230.0, "expected_low": 58030.0, "high_first": true}
  },
  "triggers": {
    "bullish": {"price": 61665.0, "description": "EMA20 $60,762.14·Fib 황금비율 $61,230.99를 회복한 뒤 Wyckoff EQ $61,665·ICT 7일 EQ $61,813.60 위에서 수용되면 할인→프리미엄 전환으로 약세 시나리오가 약화. 이어 $62,232.10 ICT 마지막 bearish BOS 회복 시 강세 가속."},
    "bearish": {"price": 58030.0, "description": "$58,030 range low·Spring 영역을 하향 이탈·수용하면 Wyckoff 축적 후보가 무효화되며 $57,200·$56,621.15 하방 유동성으로 추세 하락이 가속."}
  },
  "scenario_invalidation": 62232.1
}
```

Raw Chairman Response
{
  "overall_signal": "bearish",
  "overall_confidence": 0.64,
  "execution_setup": {
    "setup_bias": "bearish",
    "setup_strength": 0.68,
    "active_setups": [
      "현재가 $60,521.80이 EMA20 $60,762.14 아래에 머물며 단기 평균 회복이 미확인",
      "ICT 기준 마지막 bearish BOS 레벨 $62,232.10 아래 체류",
      "파생 포지셔닝에서 롱 계정 비율 0.672, 롱 과밀 조건이 확인되어 반등 추종의 구조적 신뢰가 낮음",
      "CVD 변화 -3136.1430 및 OI 24시간 -1.1490%로 신규 상승 레버리지 유입보다 포지션 축소 성격이 우세",
      "Fib ret_0.5 $60,619.80 및 Wyckoff SOS $60,580 부근을 즉시 회복하지 못한 상태",
      "하모닉상 $59,934.01-$61,200.40 bullish Bat PRZ 내부에 있으나 저품질·미확인 후보로 단독 구조 전환 근거는 부족"
    ],
    "setup_vs_structure": "구조적 판정과 실행 셋업은 모두 약세 쪽으로 기울어져 있다. 다만 Wyckoff 축적 후보와 하모닉 bullish PRZ가 현재가 부근에 있어, 즉시 추격형 약세 셋업은 $60,580-$61,230 회복 여부를 확인해야 하는 구간이다."
  },
  "signal_breakdown": {
    "bullish_count": 0,
    "bearish_count": 3,
    "neutral_count": 3
  },
  "key_levels": {
    "support": [
      60008.61,
      59429.89,
      59080,
      58288,
      58030,
      57200,
      56621.15,
      54829.01
    ],
    "resistance": [
      60580,
      60619.8,
      60734,
      60762.14,
      61230.99,
      61665,
      61813.6,
      62232.1,
      63887.93,
      64250
    ]
  },
  "confluences": [
    "EMA20 $60,762.14는 Derivatives, Wyckoff, ICT, Candlestick, Harmonic 모두가 단기 회복 여부를 보는 핵심 저항으로 제시했다.",
    "$58,030은 Fibonacci의 주요 스윙 저점, ICT의 range low, Wyckoff 보조 지지, Candlestick의 7일 저점, Harmonic 하단 지지와 중첩되는 핵심 구조 지지다.",
    "$58,288-$59,080 구간은 Wyckoff Spring $58,288 및 SC $59,080, ICT previous day low $58,288, 파생 하방 청산대 $58,300과 겹치는 하단 유동성·방어 구간이다.",
    "$60,580-$60,620 구간은 Wyckoff SOS $60,580과 Fibonacci ret_0.5 $60,619.80이 겹치는 단기 구조 확인선이다.",
    "$61,200-$61,230 구간은 Fibonacci 황금비율 ret_0.618 $61,230.99와 Harmonic bullish Bat PRZ 상단 $61,200.40이 겹치는 되돌림 저항이다.",
    "$61,665-$61,813 구간은 Wyckoff range EQ 약 $61,665와 ICT 7일 EQ $61,813.60이 겹치는 구조적 중립선이다.",
    "$62,232.10은 ICT의 마지막 bearish BOS 레벨이며, Harmonic 후보 PRZ 및 TP 맥락과도 가까워 구조 회복 여부의 상위 확인선이다."
  ],
  "conflicts": [
    "Wyckoff는 SC $59,080 → AR $64,250 → Spring $58,288 → SOS $60,580의 축적 Phase D 후보를 근거로 구조를 bullish로 본다. 반면 ICT는 마지막 bearish BOS $62,232.10 아래 체류를 근거로 구조를 bearish로 판정한다.",
    "Fibonacci와 Harmonic은 현재가가 $60,000-$61,200 반등 후보 구간에 있다고 보지만, 둘 다 아직 $60,619.80-$61,230.99 상향 수용이나 하위 시간대 반전 확인이 부족하다고 인정한다.",
    "Candlestick은 최근 5개 캔들 중 4개 양봉이라는 단기 반등 요소를 언급하지만, EMA20 $60,762.14 아래 체류와 bearish engulfing 후보로 인해 최종 평가는 약세다.",
    "파생 데이터는 롱 과밀과 CVD 약화를 통해 반등의 질을 의심하지만, OI 감소는 공격적 신규 숏 증가라기보다 포지션 축소 성격도 있어 약세 확신을 과도하게 높이기는 어렵다."
  ],
  "highest_conviction_analyst": "ICT Trader — 마지막 구조 이벤트가 $62,232.10 bearish BOS로 명확하고, 현재가 $60,521.80이 해당 구조선과 EMA20 $60,762.14 아래에 있으며, bull_score 3.0 대비 bear_score 12.7 및 setup score 0.92로 가장 강한 방향성과 구체적 구조 레벨을 제시했다.",
  "invalidation_level": "$64,250 상향 수용 시 현재 bearish 구조 판정은 무효화된다. 중간 경고선은 $62,232.10 회복이며, 이 위에서 수용되면 약세 구조의 신뢰도는 크게 낮아진다.",
  "executive_summary": "BTC/USDT 4시간 구조는 현재 $60,521.80 기준으로 bearish 우위가 더 크다. ICT의 마지막 bearish BOS $62,232.10 아래 체류, EMA20 $60,762.14·EMA120 $63,887.93·EMA240 $67,191.96 하회, 파생 롱 과밀과 CVD 약화가 구조적 약세 판정을 지지한다. 다만 Wyckoff는 $58,288 Spring 이후 $60,580 SOS가 형성된 축적 Phase D 후보를 제시하므로, 시장은 완전한 추세 하락이라기보다 하단 축적 가능성과 약세 구조가 충돌하는 전환성 구간에 있다. 현재 위치는 Wyckoff range의 EQ $61,665 아래 할인 구간이자 Fibonacci ret_0.5 $60,619.80 바로 아래로, $60,580-$61,230 회복 여부가 축적 진행과 실패 반등을 가르는 핵심 조건이다. bearish 구조의 최종 무효화는 $64,250 상향 수용이며, 그 전에는 $62,232.10 회복이 우선적인 구조 약화 신호다."
}
Full Result JSON
{
  "symbol": "BTC/USDT",
  "timeframe": "4h",
  "timestamp": "2026-06-27 17:00 KST",
  "last_price": 60521.8,
  "num_candles": 300,
  "stage1_analyses": {
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.66,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.74,
      "setup_signals": [
        "현재가 $60,521.80이 EMA20 $60,762.14 아래에 있으며 단기 반등이 아직 구조적 수용으로 확인되지 않음",
        "EMA120 $63,887.93 대비 -5.3%, EMA240 $67,191.96 대비 -9.9%로 중기 구조는 여전히 하방 우위",
        "롱 계정 비율 0.672, 계정 롱 과밀도 1.000으로 롱 포지셔닝이 과밀한 contrarian bearish 조건",
        "CVD 변화 -3136.1430, CVD divergence 0.150으로 가격 반등 대비 매수 체결 참여가 약함",
        "24시간 OI -1.1490%로 신규 롱 유입보다 포지션 언와인딩 성격이 강함",
        "상단 $60,700, $60,900, $61,500 청산 클러스터는 단기 스윕 가능성이 있으나, 흡수 실패 시 재하락 트리거",
        "하단 $58,300, $57,200 청산 유동성이 열려 있어 하방 자석 구간이 존재"
      ],
      "reasoning": "확인된 구조는 현재가 $60,521.80이 EMA20 $60,762.14, EMA120 $63,887.93, EMA240 $67,191.96 아래에 위치해 있어 bearish로 판단한다. 파생 포지셔닝은 롱 계정 비율 0.672와 롱 과밀도 1.000으로 롱이 혼잡한 반면, CVD 변화는 -3136.1430으로 반등 참여가 약해 상승 추세 확인이 부족하다. OI가 24시간 -1.1490% 감소해 신규 매수 레버리지 유입보다는 포지션 축소가 나타나며, aggregate_score 0.293과 bear_signals 4개는 하방 압력을 지지한다. 단기적으로 $60,700-$61,500 상단 청산을 스윕할 수 있으나, $61,500 위에서 수용되지 못하면 $58,300 및 $57,200 하방 유동성 테스트 가능성이 높다.",
      "key_levels": {
        "support": [
          58300,
          58030,
          57200,
          53600
        ],
        "resistance": [
          60700,
          60900,
          61500,
          63887.93,
          65500,
          65597.2
        ]
      },
      "time_horizon": "단기, 파생 데이터 선행성을 감안한 4~8시간 중심",
      "invalidation_level": "$61,500 위 4시간봉 종가 수용",
      "risk_scenario": "$60,700-$61,500 상단 청산 클러스터가 강하게 스윕되고 가격이 $61,500 위에서 수용되면 숏 커버링이 발생해 EMA120 $63,887.93까지 반등이 확장될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.15,
        "cvd_change": -3136.143,
        "oi_trend": 0.385,
        "oi_change_pct_24h": -1.149,
        "oi_latest": 104632.912,
        "funding_pressure": 0.438,
        "funding_avg": 6.156e-05,
        "funding_change_24h": -6.49e-06,
        "long_account_ratio": 0.677,
        "short_account_ratio": 0.323,
        "long_account_latest": 0.672,
        "short_account_latest": 0.328,
        "long_account_change_24h": -0.0263,
        "short_account_change_24h": 0.0263,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.489,
        "spot_futures_basis_pct": -0.0434,
        "basis_change_lookback": 0.0023,
        "aggregate_score": 0.293,
        "bull_signals": 0,
        "bear_signals": 4,
        "liq_below": [
          [
            58300,
            28762.006690000002
          ],
          [
            57200,
            29411.41899
          ],
          [
            53600,
            35513.579275
          ]
        ],
        "liq_above": [
          [
            60700,
            24981.958281
          ],
          [
            60900,
            26362.920367199997
          ],
          [
            61500,
            32037.829960799998
          ]
        ],
        "strongest_liq_level": 65500,
        "fragility_score": 0.481,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.66,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.74,\n  \"setup_signals\": [\n    \"현재가 $60,521.80이 EMA20 $60,762.14 아래에 있으며 단기 반등이 아직 구조적 수용으로 확인되지 않음\",\n    \"EMA120 $63,887.93 대비 -5.3%, EMA240 $67,191.96 대비 -9.9%로 중기 구조는 여전히 하방 우위\",\n    \"롱 계정 비율 0.672, 계정 롱 과밀도 1.000으로 롱 포지셔닝이 과밀한 contrarian bearish 조건\",\n    \"CVD 변화 -3136.1430, CVD divergence 0.150으로 가격 반등 대비 매수 체결 참여가 약함\",\n    \"24시간 OI -1.1490%로 신규 롱 유입보다 포지션 언와인딩 성격이 강함\",\n    \"상단 $60,700, $60,900, $61,500 청산 클러스터는 단기 스윕 가능성이 있으나, 흡수 실패 시 재하락 트리거\",\n    \"하단 $58,300, $57,200 청산 유동성이 열려 있어 하방 자석 구간이 존재\"\n  ],\n  \"reasoning\": \"확인된 구조는 현재가 $60,521.80이 EMA20 $60,762.14, EMA120 $63,887.93, EMA240 $67,191.96 아래에 위치해 있어 bearish로 판단한다. 파생 포지셔닝은 롱 계정 비율 0.672와 롱 과밀도 1.000으로 롱이 혼잡한 반면, CVD 변화는 -3136.1430으로 반등 참여가 약해 상승 추세 확인이 부족하다. OI가 24시간 -1.1490% 감소해 신규 매수 레버리지 유입보다는 포지션 축소가 나타나며, aggregate_score 0.293과 bear_signals 4개는 하방 압력을 지지한다. 단기적으로 $60,700-$61,500 상단 청산을 스윕할 수 있으나, $61,500 위에서 수용되지 못하면 $58,300 및 $57,200 하방 유동성 테스트 가능성이 높다.\",\n  \"key_levels\": {\n    \"support\": [\n      58300,\n      58030,\n      57200,\n      53600\n    ],\n    \"resistance\": [\n      60700,\n      60900,\n      61500,\n      63887.93,\n      65500,\n      65597.2\n    ]\n  },\n  \"time_horizon\": \"단기, 파생 데이터 선행성을 감안한 4~8시간 중심\",\n  \"invalidation_level\": \"$61,500 위 4시간봉 종가 수용\",\n  \"risk_scenario\": \"$60,700-$61,500 상단 청산 클러스터가 강하게 스윕되고 가격이 $61,500 위에서 수용되면 숏 커버링이 발생해 EMA120 $63,887.93까지 반등이 확장될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.52,
      "setup_signals": [
        "가격이 하락 스윙 $63,210 → $58,030의 EQ/ret_0.5 $60,619.80 바로 아래에서 테스트 중이며 현재가 $60,521.80은 해당 레벨과 0.16% 거리",
        "ret_0.382 $60,008.61이 단기 지지로 작동할 수 있어 $60,000 부근 방어 시 ret_0.618 $61,230.99까지 반등 여지 존재",
        "현재가는 EQ $60,619.80 아래의 할인 구간에 위치해 있으나, 아직 $60,619.80 상향 수용이 확인되지 않은 프리-컨펌 반등 setup",
        "상단에는 golden ratio ret_0.618 $61,230.99와 ret_0.786 $62,101.17 저항이 대기하여 반등은 구조 전환보다 되돌림 성격이 강함"
      ],
      "reasoning": "확정 구조는 $63,210 고점에서 $58,030 저점으로 형성된 하락 스윙 기준이므로 아직 bearish로 판단한다. 현재가 $60,521.80은 ret_0.5 $60,619.80에 매우 근접해 있으며, fib_reaction_state가 testing이고 reaction_probability가 0.65로 단기 반응 가능성은 있다. 다만 핵심 황금비율 저항인 ret_0.618 $61,230.99를 돌파·수용하기 전까지는 상승은 하락 추세 내 되돌림으로 해석하는 것이 타당하다. 하방에서는 ret_0.382 $60,008.61 이탈 시 $59,252.39, 이후 주요 confluence zone인 $58,030.00 재시험 위험이 커진다.",
      "key_levels": {
        "support": [
          60008.61,
          59252.39,
          58030.0,
          56621.15,
          54829.01
        ],
        "resistance": [
          60619.8,
          61230.99,
          62101.17,
          63210.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$63,210.00",
      "risk_scenario": "반대로 $60,619.80 ret_0.5에서 명확히 거절되고 $60,008.61 ret_0.382를 이탈하면 단기 bullish setup은 실패하며, $58,030.00 저점 및 confluence zone 재시험 가능성이 높아진다. $58,030.00마저 하향 이탈하면 확장 목표는 $56,621.15, $55,885.65, $54,829.01 순으로 열린다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "High→Low: $63,210 → $58,030",
        "direction": "down",
        "nearest_fib": "ret_0.5",
        "nearest_fib_price": 60619.8,
        "nearest_fib_distance": 0.16,
        "golden_ratio_level": 61230.99,
        "fib_ret_382": 60008.61,
        "fib_ret_618": 61230.99,
        "confluence_zones": [
          {
            "price": 58030.0,
            "count": 2,
            "levels": [
              "ext_1.0",
              "ext_1.0"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          60008.6072,
          59252.3856,
          58030.0
        ],
        "resistance_levels": [
          60619.8,
          61230.9928,
          62101.1656
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 59252.39,
            "distance_pct": 2.1,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.382",
            "price": 60008.61,
            "distance_pct": 0.85,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.5",
            "price": 60619.8,
            "distance_pct": 0.16,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.618",
            "price": 61230.99,
            "distance_pct": 1.17,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.786",
            "price": 62101.17,
            "distance_pct": 2.61,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 58030.0,
            "distance_pct": 4.12,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.272",
            "price": 56621.15,
            "distance_pct": 6.45,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.414",
            "price": 55885.65,
            "distance_pct": 7.66,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.618",
            "price": 54829.01,
            "distance_pct": 9.41,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 52850.4,
            "distance_pct": 12.68,
            "is_support": true,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.52,\n  \"setup_signals\": [\n    \"가격이 하락 스윙 $63,210 → $58,030의 EQ/ret_0.5 $60,619.80 바로 아래에서 테스트 중이며 현재가 $60,521.80은 해당 레벨과 0.16% 거리\",\n    \"ret_0.382 $60,008.61이 단기 지지로 작동할 수 있어 $60,000 부근 방어 시 ret_0.618 $61,230.99까지 반등 여지 존재\",\n    \"현재가는 EQ $60,619.80 아래의 할인 구간에 위치해 있으나, 아직 $60,619.80 상향 수용이 확인되지 않은 프리-컨펌 반등 setup\",\n    \"상단에는 golden ratio ret_0.618 $61,230.99와 ret_0.786 $62,101.17 저항이 대기하여 반등은 구조 전환보다 되돌림 성격이 강함\"\n  ],\n  \"reasoning\": \"확정 구조는 $63,210 고점에서 $58,030 저점으로 형성된 하락 스윙 기준이므로 아직 bearish로 판단한다. 현재가 $60,521.80은 ret_0.5 $60,619.80에 매우 근접해 있으며, fib_reaction_state가 testing이고 reaction_probability가 0.65로 단기 반응 가능성은 있다. 다만 핵심 황금비율 저항인 ret_0.618 $61,230.99를 돌파·수용하기 전까지는 상승은 하락 추세 내 되돌림으로 해석하는 것이 타당하다. 하방에서는 ret_0.382 $60,008.61 이탈 시 $59,252.39, 이후 주요 confluence zone인 $58,030.00 재시험 위험이 커진다.\",\n  \"key_levels\": {\n    \"support\": [\n      60008.61,\n      59252.39,\n      58030.0,\n      56621.15,\n      54829.01\n    ],\n    \"resistance\": [\n      60619.8,\n      61230.99,\n      62101.17,\n      63210.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$63,210.00\",\n  \"risk_scenario\": \"반대로 $60,619.80 ret_0.5에서 명확히 거절되고 $60,008.61 ret_0.382를 이탈하면 단기 bullish setup은 실패하며, $58,030.00 저점 및 confluence zone 재시험 가능성이 높아진다. $58,030.00마저 하향 이탈하면 확장 목표는 $56,621.15, $55,885.65, $54,829.01 순으로 열린다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "neutral",
      "confidence": 0.62,
      "structure_bias": "bullish",
      "setup_bias": "neutral",
      "setup_score": 0.45,
      "setup_signals": [
        "가격 $60,521.80은 메인 레인지 저점 SC $59,080과 고점 AR $64,250 사이에 있으며, EQ 약 $61,665 아래의 할인 구간에 위치",
        "Spring 후보/이벤트가 $58,288에서 발생한 뒤 가격이 SC $59,080 위로 회복했으나, 아직 강한 LPS 또는 BU 확인은 없음",
        "최근 SOS 라벨은 $60,580에 형성되었지만 현재가 $60,521.80으로 해당 SOS 레벨을 소폭 하회하여 즉시 강세 확인은 미완성",
        "EMA20 $60,762.14도 아직 명확히 회복하지 못해 단기 수요 우위 확인이 부족",
        "상단 확인 레벨은 $60,580 재돌파 후 $61,665 EQ 회복이며, 실패 시 $59,080 및 $58,288 재테스트 위험 존재"
      ],
      "reasoning": "4시간 구조는 regime=ACC, acc_score 84.8, regime_fitness 0.848로 축적 후보가 우세하며, 확인된 이벤트 체인은 SC $59,080 → AR $64,250 → ST $63,650 → Spring $58,288 → SOS $60,580입니다. 구조적으로는 Spring 이후 SOS가 포착되어 Phase D 축적 진행으로 해석되므로 structure_bias는 bullish가 맞지만, 현재가 $60,521.80은 SOS $60,580과 EMA20 $60,762.14 아래에 있어 즉시 상승 추종 setup은 아직 확정되지 않았습니다. 핵심은 $60,580 재돌파와 $61,665 부근 EQ 회복 여부이며, 이 구간을 받아들이지 못하면 Phase D 내 LPS 형성 전 $59,080 또는 Spring 저점 $58,288 재시험이 먼저 나올 수 있습니다. 따라서 구조는 강세 축적이지만, 실행 관점의 setup_bias는 아직 중립으로 두는 것이 적절합니다.",
      "key_levels": {
        "support": [
          59080.0,
          58288.0,
          58030.0
        ],
        "resistance": [
          60580.0,
          60762.14,
          61665.0,
          64250.0,
          65597.2
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "58288.0",
      "risk_scenario": "$60,580과 EMA20 $60,762.14를 회복하지 못하고 $59,080 SC를 다시 이탈하면, 현재의 SOS 해석은 약화되며 $58,288 Spring 저점 재시험이 우선됩니다. 특히 $58,288 아래로 4시간 종가 수용이 발생하면 Phase D 축적 시나리오는 무효화되고, 레인지 하단 실패 또는 새로운 하락 구조로 재평가해야 합니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 84.8,
        "dis_score": 77.5,
        "regime": "ACC",
        "regime_state": "acc_candidate",
        "structure_bias": "bullish",
        "phase_context": "acc_candidate / accumulation / Phase D",
        "phases_detected": [
          "SC",
          "AR",
          "ST",
          "Spring",
          "SOS"
        ],
        "last_phase": "SOS",
        "phase_candidates": [
          {
            "label": "SC",
            "side": "low",
            "idx": 170,
            "price": 59080.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 183,
            "price": 64250.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 224,
            "price": 63650.0,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 292,
            "price": 58288.0,
            "color": "#f9844a"
          },
          {
            "label": "SOS",
            "side": "high",
            "idx": 296,
            "price": 60580.0,
            "color": "#06d6a0"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "4h_cycle_1",
            "sequence": 1,
            "timeframe": "4h",
            "regime": "accumulation",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 170,
            "end_idx": 296,
            "phase_count": 5,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 170,
                "price": 59080.0,
                "color": "#ffd166",
                "dt": "2026-06-06 01:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 183,
                "price": 64250.0,
                "color": "#06d6a0",
                "dt": "2026-06-08 05:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 224,
                "price": 63650.0,
                "color": "#118ab2",
                "dt": "2026-06-15 01:00:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 292,
                "price": 58288.0,
                "color": "#f9844a",
                "dt": "2026-06-26 09:00:00+09:00"
              },
              {
                "label": "SOS",
                "side": "high",
                "idx": 296,
                "price": 60580.0,
                "color": "#06d6a0",
                "dt": "2026-06-27 01:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "4h_cycle_1",
        "primary_structure_id": "4h_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.8482023411371238,
        "current_event": "SOS",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 59080.0,
        "main_range_high": 64250.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"neutral\",\n  \"setup_score\": 0.45,\n  \"setup_signals\": [\n    \"가격 $60,521.80은 메인 레인지 저점 SC $59,080과 고점 AR $64,250 사이에 있으며, EQ 약 $61,665 아래의 할인 구간에 위치\",\n    \"Spring 후보/이벤트가 $58,288에서 발생한 뒤 가격이 SC $59,080 위로 회복했으나, 아직 강한 LPS 또는 BU 확인은 없음\",\n    \"최근 SOS 라벨은 $60,580에 형성되었지만 현재가 $60,521.80으로 해당 SOS 레벨을 소폭 하회하여 즉시 강세 확인은 미완성\",\n    \"EMA20 $60,762.14도 아직 명확히 회복하지 못해 단기 수요 우위 확인이 부족\",\n    \"상단 확인 레벨은 $60,580 재돌파 후 $61,665 EQ 회복이며, 실패 시 $59,080 및 $58,288 재테스트 위험 존재\"\n  ],\n  \"reasoning\": \"4시간 구조는 regime=ACC, acc_score 84.8, regime_fitness 0.848로 축적 후보가 우세하며, 확인된 이벤트 체인은 SC $59,080 → AR $64,250 → ST $63,650 → Spring $58,288 → SOS $60,580입니다. 구조적으로는 Spring 이후 SOS가 포착되어 Phase D 축적 진행으로 해석되므로 structure_bias는 bullish가 맞지만, 현재가 $60,521.80은 SOS $60,580과 EMA20 $60,762.14 아래에 있어 즉시 상승 추종 setup은 아직 확정되지 않았습니다. 핵심은 $60,580 재돌파와 $61,665 부근 EQ 회복 여부이며, 이 구간을 받아들이지 못하면 Phase D 내 LPS 형성 전 $59,080 또는 Spring 저점 $58,288 재시험이 먼저 나올 수 있습니다. 따라서 구조는 강세 축적이지만, 실행 관점의 setup_bias는 아직 중립으로 두는 것이 적절합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59080.0,\n      58288.0,\n      58030.0\n    ],\n    \"resistance\": [\n      60580.0,\n      60762.14,\n      61665.0,\n      64250.0,\n      65597.2\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"58288.0\",\n  \"risk_scenario\": \"$60,580과 EMA20 $60,762.14를 회복하지 못하고 $59,080 SC를 다시 이탈하면, 현재의 SOS 해석은 약화되며 $58,288 Spring 저점 재시험이 우선됩니다. 특히 $58,288 아래로 4시간 종가 수용이 발생하면 Phase D 축적 시나리오는 무효화되고, 레인지 하단 실패 또는 새로운 하락 구조로 재평가해야 합니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.78,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.92,
      "setup_signals": [
        "현재가 $60,521.80가 EQ $61,813.60 아래의 discount 구간에 위치해 있으나, $62,232.10 bearish BOS 하단에서 회복 실패",
        "직전 구조 이벤트가 $62,232.10 하향 BOS로 확인되어 단기 구조는 매도 우위",
        "현재가가 EMA20 $60,762.14 아래에 있어 단기 평균 회복 실패",
        "previous day high $60,734.00 미돌파로 단기 buy-side liquidity 회수 실패",
        "EMA120 $63,887.93 및 EMA240 $67,191.96 아래에 위치해 중기 추세 압력이 하방",
        "활성 bullish OB와 미충족 bullish FVG가 없어 즉각적인 기관 매수 방어 근거가 약함"
      ],
      "reasoning": "확인된 구조는 bearish입니다. 최근 구조 시퀀스가 CHoCH_bearish $78,713.80 이후 $76,014.20, $74,203.60, $72,436.00, 그리고 마지막 $62,232.10 bearish BOS로 이어졌고, 현재가 $60,521.80는 이 마지막 구조 레벨 아래에 머물고 있습니다. 가격은 EQ $61,813.60 아래 discount에 있어 신규 숏 진입 위치는 다소 낮지만, EMA20 $60,762.14와 previous day high $60,734.00를 회복하지 못해 단기 반등이 매도 유동성 공급 구간으로 작동하고 있습니다. 활성 bullish OB, unfilled FVG, 최근 liquidity sweep이 모두 부재하므로 반전보다 $58,288.00 previous day low 및 $58,030.00 range low 재테스트 가능성이 더 높습니다.",
      "key_levels": {
        "support": [
          58288.0,
          58030.0
        ],
        "resistance": [
          60734.0,
          60762.14,
          61813.6,
          62232.1,
          64250.0,
          76234.7,
          78077.1,
          78128.55
        ]
      },
      "time_horizon": "단기~중기, 4시간봉 기준",
      "invalidation_level": "4시간봉 종가 기준 $62,232.10 상향 회복",
      "risk_scenario": "$60,734.00 previous day high와 EMA20 $60,762.14를 강하게 돌파한 뒤 $61,813.60 EQ 위에서 수용되면, 현재 하락 셋업은 약화되고 $62,232.10 구조 레벨 재탈환 시 숏 커버링이 발생할 수 있습니다. 이 경우 다음 상방 목표는 $64,250.00 bullish BOS 레벨이며, 그 위에서는 단기 구조가 neutral 또는 bullish로 전환될 가능성이 커집니다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 2,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 2,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": {
          "bottom": 76234.7,
          "top": 78077.1,
          "quality": "candidate",
          "score": 0.56
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 0,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 57,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "CHoCH_bearish",
            "level": 78713.8
          },
          {
            "type": "BOS_bearish",
            "level": 76014.2
          },
          {
            "type": "BOS_bearish",
            "level": 74203.6
          },
          {
            "type": "BOS_bearish",
            "level": 72436.0
          },
          {
            "type": "BOS_bullish",
            "level": 64250.0
          },
          {
            "type": "BOS_bearish",
            "level": 62232.1
          }
        ],
        "bos_sequence": [
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 1,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [
          {
            "type": "BSL",
            "level": 78128.55
          }
        ],
        "current_zone": "discount",
        "eq_level": 61813.6,
        "range_high": 65597.2,
        "range_low": 58030.0,
        "bull_score": 3.0,
        "bear_score": 12.7,
        "setup_bias": "bearish",
        "setup_score": 0.92,
        "setup_signals": [
          "bearish CHoCH below $78,713.80",
          "bearish BOS below $76,014.20",
          "bearish BOS below $74,203.60",
          "bearish BOS below $72,436.00",
          "bearish BOS below $62,232.10"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 31.2,
        "deepest_retracement_pct": 49.1,
        "previous_day_high": 60734.0,
        "previous_day_low": 58288.0,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.78,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.92,\n  \"setup_signals\": [\n    \"현재가 $60,521.80가 EQ $61,813.60 아래의 discount 구간에 위치해 있으나, $62,232.10 bearish BOS 하단에서 회복 실패\",\n    \"직전 구조 이벤트가 $62,232.10 하향 BOS로 확인되어 단기 구조는 매도 우위\",\n    \"현재가가 EMA20 $60,762.14 아래에 있어 단기 평균 회복 실패\",\n    \"previous day high $60,734.00 미돌파로 단기 buy-side liquidity 회수 실패\",\n    \"EMA120 $63,887.93 및 EMA240 $67,191.96 아래에 위치해 중기 추세 압력이 하방\",\n    \"활성 bullish OB와 미충족 bullish FVG가 없어 즉각적인 기관 매수 방어 근거가 약함\"\n  ],\n  \"reasoning\": \"확인된 구조는 bearish입니다. 최근 구조 시퀀스가 CHoCH_bearish $78,713.80 이후 $76,014.20, $74,203.60, $72,436.00, 그리고 마지막 $62,232.10 bearish BOS로 이어졌고, 현재가 $60,521.80는 이 마지막 구조 레벨 아래에 머물고 있습니다. 가격은 EQ $61,813.60 아래 discount에 있어 신규 숏 진입 위치는 다소 낮지만, EMA20 $60,762.14와 previous day high $60,734.00를 회복하지 못해 단기 반등이 매도 유동성 공급 구간으로 작동하고 있습니다. 활성 bullish OB, unfilled FVG, 최근 liquidity sweep이 모두 부재하므로 반전보다 $58,288.00 previous day low 및 $58,030.00 range low 재테스트 가능성이 더 높습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      58288.0,\n      58030.0\n    ],\n    \"resistance\": [\n      60734.0,\n      60762.14,\n      61813.6,\n      62232.1,\n      64250.0,\n      76234.7,\n      78077.1,\n      78128.55\n    ]\n  },\n  \"time_horizon\": \"단기~중기, 4시간봉 기준\",\n  \"invalidation_level\": \"4시간봉 종가 기준 $62,232.10 상향 회복\",\n  \"risk_scenario\": \"$60,734.00 previous day high와 EMA20 $60,762.14를 강하게 돌파한 뒤 $61,813.60 EQ 위에서 수용되면, 현재 하락 셋업은 약화되고 $62,232.10 구조 레벨 재탈환 시 숏 커버링이 발생할 수 있습니다. 이 경우 다음 상방 목표는 $64,250.00 bullish BOS 레벨이며, 그 위에서는 단기 구조가 neutral 또는 bullish로 전환될 가능성이 커집니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.46,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $60,521.80가 최근접 bullish Bat 형성 PRZ 중심 $60,567.20와 거의 동일한 구간에 위치하나, 해당 패턴은 low quality이고 PRZ 폭이 2.091%로 넓어 단독 실행 신호는 아님",
        "bullish Bat forming PRZ $59,934.01-$61,200.40 활성 구간 진입 상태, XAD·BC_EXT·ABCD 3개 Fib family confluence 존재",
        "bullish Bat strict medium PRZ $60,602.82-$61,675.69 및 bullish Shark strict medium PRZ $60,767.09-$61,843.92가 현재가 바로 위에 중첩되어 단기 반등 후보 구간 형성",
        "completed bullish Butterfly candidate는 PRZ $60,933.28-$61,663.11에서 반응 확인됨: PRZ touch/entry, rejection/defense, AD 0.236 반응 도달, reaction_score 0.75",
        "다만 council_relevant_prz_count=0, directional_influence_prz_count=0, actionable_patterns_list=[]로 집계되어 구조 전환 전의 약한 reversal-candidate setup에 머무름"
      ],
      "reasoning": "4시간 기준 하모닉 스캔은 총 124개 패턴 중 completed 49개, forming D PRZ 75개로 다수의 bullish PRZ 클러스터를 보여주지만, 실제 실행 가능 패턴은 0개로 분류되어 방향성 투표 권한은 제한적입니다. 현재가 $60,521.80는 최근접 Bat PRZ $59,934.01-$61,200.40 내부이며 PRZ 중심 $60,567.20와 0.08% 거리라 반등 후보 구간에 있으나, 이 Bat은 low quality·비고신뢰 PRZ라 구조를 뒤집을 수 없습니다. 더 의미 있는 상방 setup은 strict medium Bat PRZ $60,602.82-$61,675.69, Shark PRZ $60,767.09-$61,843.92, 그리고 completed Butterfly candidate PRZ $60,933.28-$61,663.11의 중첩에서 나오며, 확인 시 TP 후보는 $62,199.70-$62,302.44, $62,854.85-$62,918.36, 이후 $63,915.30 부근입니다. 그러나 가격은 EMA20 $60,762.14 아래, EMA120 $63,887.93 및 EMA240 $67,191.96 아래에 있어 확인된 강세 구조로 보기는 어렵고, PRZ 반응·15m/1h MSS·CHoCH·CVD/OI 확인 전까지는 neutral 신호가 타당합니다.",
      "key_levels": {
        "support": [
          59934.01,
          60602.82,
          60767.09,
          60933.28,
          58406.59,
          58030.0
        ],
        "resistance": [
          60762.14,
          61200.4,
          61675.69,
          61843.92,
          62153.24,
          62854.85,
          63915.3
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$59,934.01",
      "risk_scenario": "만약 $59,934.01 하단을 4시간 종가로 이탈하면 최근접 Bat PRZ 방어 실패로 해석되며, bullish PRZ 클러스터의 반등 setup은 약화됩니다. 이 경우 $58,406.59-$59,590.72의 lower Butterfly PRZ와 7일 저점 $58,030.00 재시험이 열릴 수 있고, 그 아래에서는 하모닉 반등 후보보다 EMA120 $63,887.93 아래의 약세 구조 지속이 우선됩니다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 124,
        "completed_patterns_found": 49,
        "forming_d_prz_found": 75,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 58,
        "swing_highs_scanned": 29,
        "swing_lows_scanned": 29,
        "timeframe": "4h",
        "prz_active_threshold_pct": 0.75,
        "prz_nearby_threshold_pct": 1.5,
        "prz_watch_threshold_pct": 3.0,
        "prz_max_width_pct": 1.3,
        "quality_counts": {
          "high": 3,
          "medium": 33,
          "low": 88
        },
        "prz_status_counts": {
          "active": 28,
          "nearby": 9,
          "watch": 28,
          "far": 59,
          "forming": 38
        },
        "high_confluence_prz_count": 18,
        "strict_patterns_found": 46,
        "candidate_patterns_found": 78,
        "active_patterns_at_prz": 28,
        "nearby_patterns": 9,
        "all_patterns": [
          "shark",
          "gartley",
          "bat",
          "butterfly",
          "gartley",
          "bat",
          "crab",
          "shark",
          "bat",
          "butterfly",
          "butterfly",
          "shark",
          "butterfly",
          "butterfly",
          "butterfly",
          "gartley",
          "crab",
          "shark",
          "butterfly",
          "shark",
          "crab",
          "bat",
          "shark",
          "bat",
          "bat",
          "gartley",
          "shark",
          "crab",
          "bat",
          "crab",
          "crab",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "gartley",
          "crab",
          "shark",
          "gartley",
          "crab",
          "butterfly",
          "gartley",
          "butterfly",
          "shark",
          "crab",
          "butterfly",
          "bat",
          "butterfly",
          "gartley",
          "butterfly",
          "crab",
          "shark",
          "crab",
          "shark",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "gartley",
          "gartley",
          "crab",
          "gartley",
          "crab",
          "shark",
          "shark",
          "crab",
          "crab",
          "crab",
          "shark",
          "gartley",
          "crab",
          "shark",
          "crab",
          "shark",
          "crab",
          "bat",
          "shark",
          "bat",
          "crab",
          "crab",
          "crab",
          "bat",
          "crab",
          "shark",
          "shark",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "butterfly",
          "bat",
          "bat",
          "crab",
          "crab",
          "gartley",
          "crab",
          "bat",
          "gartley",
          "butterfly",
          "crab",
          "bat",
          "shark",
          "bat",
          "gartley",
          "bat",
          "bat",
          "crab",
          "shark",
          "shark",
          "crab",
          "bat",
          "butterfly",
          "gartley",
          "shark",
          "bat"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish"
        ],
        "best_pattern": "shark",
        "best_pattern_quality": "strict",
        "best_quality": "medium",
        "best_pattern_score": 0.931,
        "best_completion_status": "forming",
        "nearest_pattern": "bat",
        "nearest_prz": 60567.2,
        "price_to_prz": 0.08,
        "prz_range": [
          59934.01,
          61200.4
        ],
        "council_relevant_prz_count": 0,
        "directional_influence_prz_count": 0,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.918,
            "ratio_score": 0.945,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61815.71,
            "prz_range": [
              61478.18,
              62153.24
            ],
            "prz_width_pct": 1.092,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.14,
            "price_to_prz_pct_raw": 2.1379,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 61815.71,
              "a_price": 63915.3,
              "tp1_ad_382": 62617.75,
              "tp2_ad_618": 63113.26,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6087,
              "ABC": 0.5807
            },
            "x_price": 61150.2,
            "x_idx": 182,
            "x_order": 3,
            "a_price": 63915.3,
            "a_idx": 206,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 282,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.862,
            "ratio_score": 0.826,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              60933.28,
              61663.11
            ],
            "prz_width_pct": 1.191,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.28,
            "price_to_prz_pct_raw": 1.2828,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61298.2,
              "a_price": 67255.4,
              "tp1_ad_382": 63573.85,
              "tp2_ad_618": 64979.75,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8338,
              "ABC": 0.5974,
              "BCD": 2.6563,
              "XAD": 1.6589
            },
            "x_price": 62315.0,
            "x_idx": 206,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 63136.2,
            "b_idx": 259,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 271,
            "c_order": 8,
            "d_idx": 284
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.931,
            "ratio_score": 1.0,
            "prz_score": 0.918,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61305.5,
            "prz_range": [
              60767.09,
              61843.92
            ],
            "prz_width_pct": 1.757,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.29,
            "price_to_prz_pct_raw": 1.2949,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 61305.5,
              "a_price": 63915.3,
              "tp1_ad_382": 62302.44,
              "tp2_ad_618": 62918.36,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5499,
              "ABC": 1.4993
            },
            "x_price": 61344.8,
            "x_idx": 160,
            "x_order": 5,
            "a_price": 63915.3,
            "a_idx": 206,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 235,
            "b_order": 3,
            "c_price": 63209.6,
            "c_idx": 282,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.9,
            "ratio_score": 0.911,
            "prz_score": 0.972,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61461.12,
            "prz_range": [
              61013.8,
              61908.44
            ],
            "prz_width_pct": 1.456,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.55,
            "price_to_prz_pct_raw": 1.552,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61461.12,
              "a_price": 66956.7,
              "tp1_ad_382": 63560.43,
              "tp2_ad_618": 64857.39,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.805,
              "ABC": 0.6362
            },
            "x_price": 62315.0,
            "x_idx": 206,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 234,
            "a_order": 3,
            "b_price": 63220.0,
            "b_idx": 267,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 271,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.87,
            "ratio_score": 0.837,
            "prz_score": 0.918,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61139.25,
            "prz_range": [
              60602.82,
              61675.69
            ],
            "prz_width_pct": 1.755,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.02,
            "price_to_prz_pct_raw": 1.0202,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 61139.25,
              "a_price": 63915.3,
              "tp1_ad_382": 62199.7,
              "tp2_ad_618": 62854.85,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5222,
              "ABC": 0.5807
            },
            "x_price": 60691.9,
            "x_idx": 198,
            "x_order": 8,
            "a_price": 63915.3,
            "a_idx": 206,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 282,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.866,
            "ratio_score": 0.935,
            "prz_score": 0.884,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61760.53,
            "prz_range": [
              61158.69,
              62362.37
            ],
            "prz_width_pct": 1.949,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.05,
            "price_to_prz_pct_raw": 2.0468,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61760.53,
              "a_price": 66419.2,
              "tp1_ad_382": 63540.14,
              "tp2_ad_618": 64639.59,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7999,
              "ABC": 0.7496
            },
            "x_price": 62315.0,
            "x_idx": 206,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 242,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 259,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 271,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.856,
            "ratio_score": 0.959,
            "prz_score": 0.873,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              58406.59,
              59590.72
            ],
            "prz_width_pct": 2.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.52,
            "price_to_prz_pct_raw": -2.5167,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 58998.66,
              "a_price": 67255.4,
              "tp1_ad_382": 62152.73,
              "tp2_ad_618": 64101.32,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.465,
              "BCD": 2.358,
              "XAD": 1.2608
            },
            "x_price": 60755.0,
            "x_idx": 194,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 263,
            "c_order": 3,
            "d_idx": 284
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.856,
            "ratio_score": 0.938,
            "prz_score": 0.873,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 58998.66,
            "prz_range": [
              58406.59,
              59590.72
            ],
            "prz_width_pct": 2.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.52,
            "price_to_prz_pct_raw": -2.5167,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 58998.66,
              "a_price": 67255.4,
              "tp1_ad_382": 62152.73,
              "tp2_ad_618": 64101.32,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.465
            },
            "x_price": 60755.0,
            "x_idx": 194,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 263,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.918,
            "ratio_score": 0.945,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61815.71,
            "prz_range": [
              61478.18,
              62153.24
            ],
            "prz_width_pct": 1.092,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.14,
            "price_to_prz_pct_raw": 2.1379,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 61815.71,
              "a_price": 63915.3,
              "tp1_ad_382": 62617.75,
              "tp2_ad_618": 63113.26,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6087,
              "ABC": 0.5807
            },
            "x_price": 61150.2,
            "x_idx": 182,
            "x_order": 3,
            "a_price": 63915.3,
            "a_idx": 206,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 282,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.862,
            "ratio_score": 0.826,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              60933.28,
              61663.11
            ],
            "prz_width_pct": 1.191,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.28,
            "price_to_prz_pct_raw": 1.2828,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61298.2,
              "a_price": 67255.4,
              "tp1_ad_382": 63573.85,
              "tp2_ad_618": 64979.75,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8338,
              "ABC": 0.5974,
              "BCD": 2.6563,
              "XAD": 1.6589
            },
            "x_price": 62315.0,
            "x_idx": 206,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 63136.2,
            "b_idx": 259,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 271,
            "c_order": 8,
            "d_idx": 284
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.931,
            "ratio_score": 1.0,
            "prz_score": 0.918,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61305.5,
            "prz_range": [
              60767.09,
              61843.92
            ],
            "prz_width_pct": 1.757,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.29,
            "price_to_prz_pct_raw": 1.2949,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 61305.5,
              "a_price": 63915.3,
              "tp1_ad_382": 62302.44,
              "tp2_ad_618": 62918.36,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5499,
              "ABC": 1.4993
            },
            "x_price": 61344.8,
            "x_idx": 160,
            "x_order": 5,
            "a_price": 63915.3,
            "a_idx": 206,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 235,
            "b_order": 3,
            "c_price": 63209.6,
            "c_idx": 282,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.9,
            "ratio_score": 0.911,
            "prz_score": 0.972,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61461.12,
            "prz_range": [
              61013.8,
              61908.44
            ],
            "prz_width_pct": 1.456,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.55,
            "price_to_prz_pct_raw": 1.552,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61461.12,
              "a_price": 66956.7,
              "tp1_ad_382": 63560.43,
              "tp2_ad_618": 64857.39,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.805,
              "ABC": 0.6362
            },
            "x_price": 62315.0,
            "x_idx": 206,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 234,
            "a_order": 3,
            "b_price": 63220.0,
            "b_idx": 267,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 271,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.87,
            "ratio_score": 0.837,
            "prz_score": 0.918,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61139.25,
            "prz_range": [
              60602.82,
              61675.69
            ],
            "prz_width_pct": 1.755,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.02,
            "price_to_prz_pct_raw": 1.0202,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 61139.25,
              "a_price": 63915.3,
              "tp1_ad_382": 62199.7,
              "tp2_ad_618": 62854.85,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5222,
              "ABC": 0.5807
            },
            "x_price": 60691.9,
            "x_idx": 198,
            "x_order": 8,
            "a_price": 63915.3,
            "a_idx": 206,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 282,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.866,
            "ratio_score": 0.935,
            "prz_score": 0.884,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61760.53,
            "prz_range": [
              61158.69,
              62362.37
            ],
            "prz_width_pct": 1.949,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.05,
            "price_to_prz_pct_raw": 2.0468,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61760.53,
              "a_price": 66419.2,
              "tp1_ad_382": 63540.14,
              "tp2_ad_618": 64639.59,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7999,
              "ABC": 0.7496
            },
            "x_price": 62315.0,
            "x_idx": 206,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 242,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 259,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 271,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.856,
            "ratio_score": 0.959,
            "prz_score": 0.873,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              58406.59,
              59590.72
            ],
            "prz_width_pct": 2.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.52,
            "price_to_prz_pct_raw": -2.5167,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 58998.66,
              "a_price": 67255.4,
              "tp1_ad_382": 62152.73,
              "tp2_ad_618": 64101.32,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.465,
              "BCD": 2.358,
              "XAD": 1.2608
            },
            "x_price": 60755.0,
            "x_idx": 194,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 263,
            "c_order": 3,
            "d_idx": 284
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.856,
            "ratio_score": 0.938,
            "prz_score": 0.873,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 58998.66,
            "prz_range": [
              58406.59,
              59590.72
            ],
            "prz_width_pct": 2.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.52,
            "price_to_prz_pct_raw": -2.5167,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 58998.66,
              "a_price": 67255.4,
              "tp1_ad_382": 62152.73,
              "tp2_ad_618": 64101.32,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.465
            },
            "x_price": 60755.0,
            "x_idx": 194,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 263,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.784,
            "ratio_score": 0.718,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 62608.77,
            "prz_range": [
              62202.51,
              63015.03
            ],
            "prz_width_pct": 1.298,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.45,
            "price_to_prz_pct_raw": 3.4483,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 62608.77,
              "a_price": 64738.0,
              "tp1_ad_382": 63422.14,
              "tp2_ad_618": 63924.64,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6611,
              "ABC": 0.8939
            },
            "x_price": 62315.0,
            "x_idx": 206,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 219,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 259,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 263,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.761,
            "ratio_score": 0.731,
            "prz_score": 0.884,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              61158.69,
              62362.37
            ],
            "prz_width_pct": 1.949,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.05,
            "price_to_prz_pct_raw": 2.0468,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.39,
                "adverse_move_ratio_ad": 0.14,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61760.53,
              "a_price": 66419.2,
              "tp1_ad_382": 63540.14,
              "tp2_ad_618": 64639.59,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7999,
              "ABC": 0.7496,
              "BCD": 2.6563,
              "XAD": 1.7931
            },
            "x_price": 62315.0,
            "x_idx": 206,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 242,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 259,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 271,
            "c_order": 8,
            "d_idx": 284
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.915,
            "ratio_score": 1.0,
            "prz_score": 0.858,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 60567.2,
            "prz_range": [
              59934.01,
              61200.4
            ],
            "prz_width_pct": 2.091,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.08,
            "price_to_prz_pct_raw": 0.075,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60567.2,
              "a_price": 64738.0,
              "tp1_ad_382": 62160.45,
              "tp2_ad_618": 63144.76,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3959,
              "ABC": 0.7523
            },
            "x_price": 60691.9,
            "x_idx": 198,
            "x_order": 8,
            "a_price": 64738.0,
            "a_idx": 219,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 259,
            "b_order": 3,
            "c_price": 61931.1,
            "c_idx": 287,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.884,
            "ratio_score": 0.992,
            "prz_score": 0.796,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 61404.36,
            "prz_range": [
              60655.8,
              62152.92
            ],
            "prz_width_pct": 2.438,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.46,
            "price_to_prz_pct_raw": 1.4583,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 61404.36,
              "a_price": 64738.0,
              "tp1_ad_382": 62677.81,
              "tp2_ad_618": 63464.55,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6193,
              "ABC": 0.3901
            },
            "x_price": 60691.9,
            "x_idx": 198,
            "x_order": 8,
            "a_price": 64738.0,
            "a_idx": 219,
            "a_order": 5,
            "b_price": 62232.1,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 282,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [],
        "tp_ladder": [],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "early"
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.46,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"현재가 $60,521.80가 최근접 bullish Bat 형성 PRZ 중심 $60,567.20와 거의 동일한 구간에 위치하나, 해당 패턴은 low quality이고 PRZ 폭이 2.091%로 넓어 단독 실행 신호는 아님\",\n    \"bullish Bat forming PRZ $59,934.01-$61,200.40 활성 구간 진입 상태, XAD·BC_EXT·ABCD 3개 Fib family confluence 존재\",\n    \"bullish Bat strict medium PRZ $60,602.82-$61,675.69 및 bullish Shark strict medium PRZ $60,767.09-$61,843.92가 현재가 바로 위에 중첩되어 단기 반등 후보 구간 형성\",\n    \"completed bullish Butterfly candidate는 PRZ $60,933.28-$61,663.11에서 반응 확인됨: PRZ touch/entry, rejection/defense, AD 0.236 반응 도달, reaction_score 0.75\",\n    \"다만 council_relevant_prz_count=0, directional_influence_prz_count=0, actionable_patterns_list=[]로 집계되어 구조 전환 전의 약한 reversal-candidate setup에 머무름\"\n  ],\n  \"reasoning\": \"4시간 기준 하모닉 스캔은 총 124개 패턴 중 completed 49개, forming D PRZ 75개로 다수의 bullish PRZ 클러스터를 보여주지만, 실제 실행 가능 패턴은 0개로 분류되어 방향성 투표 권한은 제한적입니다. 현재가 $60,521.80는 최근접 Bat PRZ $59,934.01-$61,200.40 내부이며 PRZ 중심 $60,567.20와 0.08% 거리라 반등 후보 구간에 있으나, 이 Bat은 low quality·비고신뢰 PRZ라 구조를 뒤집을 수 없습니다. 더 의미 있는 상방 setup은 strict medium Bat PRZ $60,602.82-$61,675.69, Shark PRZ $60,767.09-$61,843.92, 그리고 completed Butterfly candidate PRZ $60,933.28-$61,663.11의 중첩에서 나오며, 확인 시 TP 후보는 $62,199.70-$62,302.44, $62,854.85-$62,918.36, 이후 $63,915.30 부근입니다. 그러나 가격은 EMA20 $60,762.14 아래, EMA120 $63,887.93 및 EMA240 $67,191.96 아래에 있어 확인된 강세 구조로 보기는 어렵고, PRZ 반응·15m/1h MSS·CHoCH·CVD/OI 확인 전까지는 neutral 신호가 타당합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59934.01,\n      60602.82,\n      60767.09,\n      60933.28,\n      58406.59,\n      58030.0\n    ],\n    \"resistance\": [\n      60762.14,\n      61200.4,\n      61675.69,\n      61843.92,\n      62153.24,\n      62854.85,\n      63915.3\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$59,934.01\",\n  \"risk_scenario\": \"만약 $59,934.01 하단을 4시간 종가로 이탈하면 최근접 Bat PRZ 방어 실패로 해석되며, bullish PRZ 클러스터의 반등 setup은 약화됩니다. 이 경우 $58,406.59-$59,590.72의 lower Butterfly PRZ와 7일 저점 $58,030.00 재시험이 열릴 수 있고, 그 아래에서는 하모닉 반등 후보보다 EMA120 $63,887.93 아래의 약세 구조 지속이 우선됩니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.55,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.46,
      "setup_signals": [
        "현재가 $60,521.80가 EMA20 $60,762.14 아래에 있어 단기 반등이 아직 평균선 위로 수용되지 않음",
        "EMA120 $63,887.93 대비 -5.3%, EMA240 $67,191.96 대비 -9.9%로 중기 구조가 여전히 하방 우위",
        "최근 감지 패턴은 bearish_engulfing@294 1개이며, 패턴 품질은 0.467로 후보 수준",
        "7일 고점 $65,597.20 대비 현재가가 크게 낮고, 7일 저점 $58,030.00이 하방 유동성/지지 후보로 남아 있음",
        "다만 현재가는 7일 범위 EQ 약 $61,813.60 아래의 할인 구간에 있어 추격 숏의 질은 높지 않음"
      ],
      "reasoning": "BTC/USDT 4시간 기준 현재가 $60,521.80는 EMA20 $60,762.14 바로 아래에 있으며, EMA120 $63,887.93와 EMA240 $67,191.96도 모두 하회하고 있어 확인된 구조는 bearish로 본다. 최근 패턴은 bearish_engulfing@294 하나뿐이고 품질 0.467의 candidate 등급이며 고거래량 패턴도 없어 강한 반전 확정 신호라기보다는 단기 매도 압력 신호에 가깝다. bear_score는 0.750, bull_score는 0으로 캔들 점수는 하방을 지지하지만, 최근 5개 캔들 중 4개가 양봉이고 현재가가 7일 EQ 약 $61,813.60 아래 할인 구간에 있어 setup_score는 0.46으로 제한한다. 핵심은 $60,762.14 EMA20 회복 여부이며, 실패 시 $58,030.00 7일 저점 재테스트 가능성이 높아진다.",
      "key_levels": {
        "support": [
          59429.89,
          58030.0
        ],
        "resistance": [
          60762.14,
          61813.6,
          63887.93,
          65597.2,
          67191.96
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,854.05",
      "risk_scenario": "반대 시나리오는 가격이 EMA20 $60,762.14를 회복한 뒤 ATR 1개 상단인 $61,854.05 위로 4시간 종가 안착하는 경우다. 이 경우 bearish_engulfing 후보 신호는 무효화되고, 숏 커버링으로 $63,887.93 EMA120 및 7일 고점 $65,597.20까지 반등 여지가 열린다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 136,
        "recent_patterns": 1,
        "pattern_list": [
          "bearish_engulfing@294"
        ],
        "atr_value": 1091.91,
        "vol_avg_20": 44394.49,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.467,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.467,
        "bull_score": 0,
        "bear_score": 0.75
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.55,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.46,\n  \"setup_signals\": [\n    \"현재가 $60,521.80가 EMA20 $60,762.14 아래에 있어 단기 반등이 아직 평균선 위로 수용되지 않음\",\n    \"EMA120 $63,887.93 대비 -5.3%, EMA240 $67,191.96 대비 -9.9%로 중기 구조가 여전히 하방 우위\",\n    \"최근 감지 패턴은 bearish_engulfing@294 1개이며, 패턴 품질은 0.467로 후보 수준\",\n    \"7일 고점 $65,597.20 대비 현재가가 크게 낮고, 7일 저점 $58,030.00이 하방 유동성/지지 후보로 남아 있음\",\n    \"다만 현재가는 7일 범위 EQ 약 $61,813.60 아래의 할인 구간에 있어 추격 숏의 질은 높지 않음\"\n  ],\n  \"reasoning\": \"BTC/USDT 4시간 기준 현재가 $60,521.80는 EMA20 $60,762.14 바로 아래에 있으며, EMA120 $63,887.93와 EMA240 $67,191.96도 모두 하회하고 있어 확인된 구조는 bearish로 본다. 최근 패턴은 bearish_engulfing@294 하나뿐이고 품질 0.467의 candidate 등급이며 고거래량 패턴도 없어 강한 반전 확정 신호라기보다는 단기 매도 압력 신호에 가깝다. bear_score는 0.750, bull_score는 0으로 캔들 점수는 하방을 지지하지만, 최근 5개 캔들 중 4개가 양봉이고 현재가가 7일 EQ 약 $61,813.60 아래 할인 구간에 있어 setup_score는 0.46으로 제한한다. 핵심은 $60,762.14 EMA20 회복 여부이며, 실패 시 $58,030.00 7일 저점 재테스트 가능성이 높아진다.\",\n  \"key_levels\": {\n    \"support\": [\n      59429.89,\n      58030.0\n    ],\n    \"resistance\": [\n      60762.14,\n      61813.6,\n      63887.93,\n      65597.2,\n      67191.96\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,854.05\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 EMA20 $60,762.14를 회복한 뒤 ATR 1개 상단인 $61,854.05 위로 4시간 종가 안착하는 경우다. 이 경우 bearish_engulfing 후보 신호는 무효화되고, 숏 커버링으로 $63,887.93 EMA120 및 7일 고점 $65,597.20까지 반등 여지가 열린다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.64,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.68,
      "active_setups": [
        "현재가 $60,521.80이 EMA20 $60,762.14 아래에 머물며 단기 평균 회복이 미확인",
        "ICT 기준 마지막 bearish BOS 레벨 $62,232.10 아래 체류",
        "파생 포지셔닝에서 롱 계정 비율 0.672, 롱 과밀 조건이 확인되어 반등 추종의 구조적 신뢰가 낮음",
        "CVD 변화 -3136.1430 및 OI 24시간 -1.1490%로 신규 상승 레버리지 유입보다 포지션 축소 성격이 우세",
        "Fib ret_0.5 $60,619.80 및 Wyckoff SOS $60,580 부근을 즉시 회복하지 못한 상태",
        "하모닉상 $59,934.01-$61,200.40 bullish Bat PRZ 내부에 있으나 저품질·미확인 후보로 단독 구조 전환 근거는 부족"
      ],
      "setup_vs_structure": "구조적 판정과 실행 셋업은 모두 약세 쪽으로 기울어져 있다. 다만 Wyckoff 축적 후보와 하모닉 bullish PRZ가 현재가 부근에 있어, 즉시 추격형 약세 셋업은 $60,580-$61,230 회복 여부를 확인해야 하는 구간이다."
    },
    "signal_breakdown": {
      "bullish_count": 0,
      "bearish_count": 3,
      "neutral_count": 3
    },
    "key_levels": {
      "support": [
        60008.61,
        59429.89,
        59080,
        58288,
        58030,
        57200,
        56621.15,
        54829.01
      ],
      "resistance": [
        60580,
        60619.8,
        60734,
        60762.14,
        61230.99,
        61665,
        61813.6,
        62232.1,
        63887.93,
        64250
      ]
    },
    "confluences": [
      "EMA20 $60,762.14는 Derivatives, Wyckoff, ICT, Candlestick, Harmonic 모두가 단기 회복 여부를 보는 핵심 저항으로 제시했다.",
      "$58,030은 Fibonacci의 주요 스윙 저점, ICT의 range low, Wyckoff 보조 지지, Candlestick의 7일 저점, Harmonic 하단 지지와 중첩되는 핵심 구조 지지다.",
      "$58,288-$59,080 구간은 Wyckoff Spring $58,288 및 SC $59,080, ICT previous day low $58,288, 파생 하방 청산대 $58,300과 겹치는 하단 유동성·방어 구간이다.",
      "$60,580-$60,620 구간은 Wyckoff SOS $60,580과 Fibonacci ret_0.5 $60,619.80이 겹치는 단기 구조 확인선이다.",
      "$61,200-$61,230 구간은 Fibonacci 황금비율 ret_0.618 $61,230.99와 Harmonic bullish Bat PRZ 상단 $61,200.40이 겹치는 되돌림 저항이다.",
      "$61,665-$61,813 구간은 Wyckoff range EQ 약 $61,665와 ICT 7일 EQ $61,813.60이 겹치는 구조적 중립선이다.",
      "$62,232.10은 ICT의 마지막 bearish BOS 레벨이며, Harmonic 후보 PRZ 및 TP 맥락과도 가까워 구조 회복 여부의 상위 확인선이다."
    ],
    "conflicts": [
      "Wyckoff는 SC $59,080 → AR $64,250 → Spring $58,288 → SOS $60,580의 축적 Phase D 후보를 근거로 구조를 bullish로 본다. 반면 ICT는 마지막 bearish BOS $62,232.10 아래 체류를 근거로 구조를 bearish로 판정한다.",
      "Fibonacci와 Harmonic은 현재가가 $60,000-$61,200 반등 후보 구간에 있다고 보지만, 둘 다 아직 $60,619.80-$61,230.99 상향 수용이나 하위 시간대 반전 확인이 부족하다고 인정한다.",
      "Candlestick은 최근 5개 캔들 중 4개 양봉이라는 단기 반등 요소를 언급하지만, EMA20 $60,762.14 아래 체류와 bearish engulfing 후보로 인해 최종 평가는 약세다.",
      "파생 데이터는 롱 과밀과 CVD 약화를 통해 반등의 질을 의심하지만, OI 감소는 공격적 신규 숏 증가라기보다 포지션 축소 성격도 있어 약세 확신을 과도하게 높이기는 어렵다."
    ],
    "executive_summary": "BTC/USDT 4시간 구조는 현재 $60,521.80 기준으로 bearish 우위가 더 크다. ICT의 마지막 bearish BOS $62,232.10 아래 체류, EMA20 $60,762.14·EMA120 $63,887.93·EMA240 $67,191.96 하회, 파생 롱 과밀과 CVD 약화가 구조적 약세 판정을 지지한다. 다만 Wyckoff는 $58,288 Spring 이후 $60,580 SOS가 형성된 축적 Phase D 후보를 제시하므로, 시장은 완전한 추세 하락이라기보다 하단 축적 가능성과 약세 구조가 충돌하는 전환성 구간에 있다. 현재 위치는 Wyckoff range의 EQ $61,665 아래 할인 구간이자 Fibonacci ret_0.5 $60,619.80 바로 아래로, $60,580-$61,230 회복 여부가 축적 진행과 실패 반등을 가르는 핵심 조건이다. bearish 구조의 최종 무효화는 $64,250 상향 수용이며, 그 전에는 $62,232.10 회복이 우선적인 구조 약화 신호다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.64,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.68,\n    \"active_setups\": [\n      \"현재가 $60,521.80이 EMA20 $60,762.14 아래에 머물며 단기 평균 회복이 미확인\",\n      \"ICT 기준 마지막 bearish BOS 레벨 $62,232.10 아래 체류\",\n      \"파생 포지셔닝에서 롱 계정 비율 0.672, 롱 과밀 조건이 확인되어 반등 추종의 구조적 신뢰가 낮음\",\n      \"CVD 변화 -3136.1430 및 OI 24시간 -1.1490%로 신규 상승 레버리지 유입보다 포지션 축소 성격이 우세\",\n      \"Fib ret_0.5 $60,619.80 및 Wyckoff SOS $60,580 부근을 즉시 회복하지 못한 상태\",\n      \"하모닉상 $59,934.01-$61,200.40 bullish Bat PRZ 내부에 있으나 저품질·미확인 후보로 단독 구조 전환 근거는 부족\"\n    ],\n    \"setup_vs_structure\": \"구조적 판정과 실행 셋업은 모두 약세 쪽으로 기울어져 있다. 다만 Wyckoff 축적 후보와 하모닉 bullish PRZ가 현재가 부근에 있어, 즉시 추격형 약세 셋업은 $60,580-$61,230 회복 여부를 확인해야 하는 구간이다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 0,\n    \"bearish_count\": 3,\n    \"neutral_count\": 3\n  },\n  \"key_levels\": {\n    \"support\": [\n      60008.61,\n      59429.89,\n      59080,\n      58288,\n      58030,\n      57200,\n      56621.15,\n      54829.01\n    ],\n    \"resistance\": [\n      60580,\n      60619.8,\n      60734,\n      60762.14,\n      61230.99,\n      61665,\n      61813.6,\n      62232.1,\n      63887.93,\n      64250\n    ]\n  },\n  \"confluences\": [\n    \"EMA20 $60,762.14는 Derivatives, Wyckoff, ICT, Candlestick, Harmonic 모두가 단기 회복 여부를 보는 핵심 저항으로 제시했다.\",\n    \"$58,030은 Fibonacci의 주요 스윙 저점, ICT의 range low, Wyckoff 보조 지지, Candlestick의 7일 저점, Harmonic 하단 지지와 중첩되는 핵심 구조 지지다.\",\n    \"$58,288-$59,080 구간은 Wyckoff Spring $58,288 및 SC $59,080, ICT previous day low $58,288, 파생 하방 청산대 $58,300과 겹치는 하단 유동성·방어 구간이다.\",\n    \"$60,580-$60,620 구간은 Wyckoff SOS $60,580과 Fibonacci ret_0.5 $60,619.80이 겹치는 단기 구조 확인선이다.\",\n    \"$61,200-$61,230 구간은 Fibonacci 황금비율 ret_0.618 $61,230.99와 Harmonic bullish Bat PRZ 상단 $61,200.40이 겹치는 되돌림 저항이다.\",\n    \"$61,665-$61,813 구간은 Wyckoff range EQ 약 $61,665와 ICT 7일 EQ $61,813.60이 겹치는 구조적 중립선이다.\",\n    \"$62,232.10은 ICT의 마지막 bearish BOS 레벨이며, Harmonic 후보 PRZ 및 TP 맥락과도 가까워 구조 회복 여부의 상위 확인선이다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 SC $59,080 → AR $64,250 → Spring $58,288 → SOS $60,580의 축적 Phase D 후보를 근거로 구조를 bullish로 본다. 반면 ICT는 마지막 bearish BOS $62,232.10 아래 체류를 근거로 구조를 bearish로 판정한다.\",\n    \"Fibonacci와 Harmonic은 현재가가 $60,000-$61,200 반등 후보 구간에 있다고 보지만, 둘 다 아직 $60,619.80-$61,230.99 상향 수용이나 하위 시간대 반전 확인이 부족하다고 인정한다.\",\n    \"Candlestick은 최근 5개 캔들 중 4개 양봉이라는 단기 반등 요소를 언급하지만, EMA20 $60,762.14 아래 체류와 bearish engulfing 후보로 인해 최종 평가는 약세다.\",\n    \"파생 데이터는 롱 과밀과 CVD 약화를 통해 반등의 질을 의심하지만, OI 감소는 공격적 신규 숏 증가라기보다 포지션 축소 성격도 있어 약세 확신을 과도하게 높이기는 어렵다.\"\n  ],\n  \"highest_conviction_analyst\": \"ICT Trader — 마지막 구조 이벤트가 $62,232.10 bearish BOS로 명확하고, 현재가 $60,521.80이 해당 구조선과 EMA20 $60,762.14 아래에 있으며, bull_score 3.0 대비 bear_score 12.7 및 setup score 0.92로 가장 강한 방향성과 구체적 구조 레벨을 제시했다.\",\n  \"invalidation_level\": \"$64,250 상향 수용 시 현재 bearish 구조 판정은 무효화된다. 중간 경고선은 $62,232.10 회복이며, 이 위에서 수용되면 약세 구조의 신뢰도는 크게 낮아진다.\",\n  \"executive_summary\": \"BTC/USDT 4시간 구조는 현재 $60,521.80 기준으로 bearish 우위가 더 크다. ICT의 마지막 bearish BOS $62,232.10 아래 체류, EMA20 $60,762.14·EMA120 $63,887.93·EMA240 $67,191.96 하회, 파생 롱 과밀과 CVD 약화가 구조적 약세 판정을 지지한다. 다만 Wyckoff는 $58,288 Spring 이후 $60,580 SOS가 형성된 축적 Phase D 후보를 제시하므로, 시장은 완전한 추세 하락이라기보다 하단 축적 가능성과 약세 구조가 충돌하는 전환성 구간에 있다. 현재 위치는 Wyckoff range의 EQ $61,665 아래 할인 구간이자 Fibonacci ret_0.5 $60,619.80 바로 아래로, $60,580-$61,230 회복 여부가 축적 진행과 실패 반등을 가르는 핵심 조건이다. bearish 구조의 최종 무효화는 $64,250 상향 수용이며, 그 전에는 $62,232.10 회복이 우선적인 구조 약화 신호다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.64,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.61,
    "waypoints": [
      {
        "seq": 1,
        "price": 61230.0,
        "type": "liquidity_sweep",
        "source": "Fibonacci (ret_0.618 $61,230.99), Harmonic (Bat PRZ 상단 $61,200.40), Derivatives (상단 청산 sweep $60,700-$61,500), ICT (EMA20 $60,762.14·PDH $60,734 매도 유동성 공급)",
        "description": "최근 5캔들 중 4개 양봉의 단기 모멘텀이 EMA20 $60,762.14와 PDH $60,734 위 스톱을 sweep하며 '$60,580-$61,230 회복 확인 구간'의 상단인 Fib 황금비율 ret_0.618 $61,230.99 + 하모닉 Bat PRZ 상단 $61,200.40 합류대를 시험. 롱 과밀(롱비율 0.672)·CVD -3136·OI -1.15% 환경에서 상향 수용 실패 시 매도 유동성 공급 구간으로 작동하는 실패성 반등(숏 프리미엄 진입 구간).",
        "est_hours": 3.0,
        "turning_zone": [
          61230.99,
          61665.0
        ],
        "likely_wick": 61450.0,
        "rejection_confirm": 60762.14,
        "invalid_overshoot": 61813.6,
        "calibration_reasoning": "하드 앵커는 Fib 황금비율 0.618 $61,230.99(하단)와 Chairman 저항 $61,665(상단, ≈0.40 ATR)이며 Bat PRZ는 미확정이라 조건부 반응대로만 참고했다. 골든비율 위 스톱을 노린 실패성 sweep이므로 likely_wick은 합류대를 0.2 ATR 관통하는 $61,450, EMA20 $60,762.14 재하회로 거부 확인, $61,813.60 지속 돌파 시 수용 전환으로 무효화한다."
      },
      {
        "seq": 2,
        "price": 60008.61,
        "type": "support_test",
        "source": "Fibonacci (ret_0.382 $60,008.61), Derivatives",
        "description": "$61,230 거부 후 EMA20·SOS($60,580)를 재하회하며 첫 지지인 Fib ret_0.382 $60,008.61과 $60,000 심리선을 테스트. 이 구간 수용 실패가 하방 연속성의 1차 확인 신호.",
        "est_hours": 8.0,
        "turning_zone": [
          59650.0,
          60008.61
        ],
        "likely_wick": 59900.0,
        "rejection_confirm": 60250.0,
        "invalid_overshoot": 59429.89,
        "calibration_reasoning": "Fib 0.382 $60,008.61와 $60,000 심리선(라운드 넘버 자석)을 상단 앵커로 두고 sub-$60k 유동성 스윕을 포함해 하단 $59,650(≈0.33 ATR)까지 확장했다. likely_wick은 라운드 넘버 직하단 $59,900, $60,250 재탈환 시 국지 반등 확인, Chairman 지지 $59,429.89 이탈 시 WP3로 연속되며 이 지점이 전환점이 아니었음을 확정한다."
      },
      {
        "seq": 3,
        "price": 59080.0,
        "type": "support_test",
        "source": "Wyckoff (SC $59,080), Candlestick ($59,429.89)",
        "description": "Candlestick 보조 지지 $59,429.89를 거쳐 Wyckoff 메인 레인지 저점 SC $59,080을 테스트. Phase D 내 LPS 형성 전 하단 방어 시험 구간으로, 이탈 시 Spring 저점 재시험이 우선됨.",
        "est_hours": 15.0,
        "turning_zone": [
          58720.0,
          59080.0
        ],
        "likely_wick": 58950.0,
        "rejection_confirm": 59429.89,
        "invalid_overshoot": 58288.0,
        "calibration_reasoning": "Wyckoff SC·메인 레인지 저점 $59,080을 상단으로, $59,000 라운드 넘버 직하단 스윕을 포함한 $58,720(≈0.33 ATR)을 하단으로 설정했다. likely_wick $58,950, Candlestick/Chairman 보조 지지 $59,429.89 회복 시 LPS 반등 확인, 경로상 이탈 시 Spring 재시험이므로 $58,288 Spring 레벨 도달을 무효화 기준으로 삼는다."
      },
      {
        "seq": 4,
        "price": 58030.0,
        "type": "swing_low",
        "source": "Fibonacci/ICT/Wyckoff/Candlestick/Derivatives 다중 합류 ($58,288 Spring·PDL, $58,030 range low·7일 저점·fib confluence, 파생 청산대 $58,300) — WP 후보 레벨(score 0.6)",
        "description": "$58,288 Wyckoff Spring·ICT PDL과 $58,030 range low·7일 저점·fib confluence가 중첩되고 파생 하방 청산대 $58,300과도 겹치는 핵심 하단 유동성·방어 구간. 24시간 주요 하방 타깃이며, ICT($58,288/$58,030 재테스트)·Candlestick($58,030 재시험)·Derivatives($58,300) 다수가 지지.",
        "est_hours": 22.0,
        "turning_zone": [
          57500.0,
          58288.0
        ],
        "likely_wick": 57900.0,
        "rejection_confirm": 58500.0,
        "invalid_overshoot": 57200.0,
        "calibration_reasoning": "터미널 구간이라 광역대(≈0.72 ATR)를 적용: $58,030 레인지 저점·7일 저점·Fib ext_1.0 이중 합류대를 핵심으로 $58,288 Wyckoff Spring/ICT PDL·$58,300 청산대까지 상단에 포함하고, $58,000 라운드 넘버 하단 스윕을 위해 $57,500까지 확장했다. likely_wick은 라운드 넘버 직하단 $57,900, 방어대 전체를 상회하는 $58,500 재탈환 시 반전 확인, Chairman $57,200 이탈 시 심층 하락으로 무효화한다."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 61230.0,
        "expected_low": 60650.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 61230.0,
        "expected_low": 60008.61,
        "high_first": true
      },
      "24h": {
        "expected_high": 61230.0,
        "expected_low": 58030.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 61665.0,
        "description": "EMA20 $60,762.14·Fib 황금비율 $61,230.99를 회복한 뒤 Wyckoff EQ $61,665·ICT 7일 EQ $61,813.60 위에서 수용되면 할인→프리미엄 전환으로 약세 시나리오가 약화. 이어 $62,232.10 ICT 마지막 bearish BOS 회복 시 강세 가속."
      },
      "bearish": {
        "price": 58030.0,
        "description": "$58,030 range low·Spring 영역을 하향 이탈·수용하면 Wyckoff 축적 후보가 무효화되며 $57,200·$56,621.15 하방 유동성으로 추세 하락이 가속."
      }
    },
    "scenario_invalidation": 62232.1,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.61,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 61230.0,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Fibonacci (ret_0.618 $61,230.99), Harmonic (Bat PRZ 상단 $61,200.40), Derivatives (상단 청산 sweep $60,700-$61,500), ICT (EMA20 $60,762.14·PDH $60,734 매도 유동성 공급)\",\n      \"description\": \"최근 5캔들 중 4개 양봉의 단기 모멘텀이 EMA20 $60,762.14와 PDH $60,734 위 스톱을 sweep하며 '$60,580-$61,230 회복 확인 구간'의 상단인 Fib 황금비율 ret_0.618 $61,230.99 + 하모닉 Bat PRZ 상단 $61,200.40 합류대를 시험. 롱 과밀(롱비율 0.672)·CVD -3136·OI -1.15% 환경에서 상향 수용 실패 시 매도 유동성 공급 구간으로 작동하는 실패성 반등(숏 프리미엄 진입 구간).\",\n      \"est_hours\": 3.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 60008.61,\n      \"type\": \"support_test\",\n      \"source\": \"Fibonacci (ret_0.382 $60,008.61), Derivatives\",\n      \"description\": \"$61,230 거부 후 EMA20·SOS($60,580)를 재하회하며 첫 지지인 Fib ret_0.382 $60,008.61과 $60,000 심리선을 테스트. 이 구간 수용 실패가 하방 연속성의 1차 확인 신호.\",\n      \"est_hours\": 8.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 59080.0,\n      \"type\": \"support_test\",\n      \"source\": \"Wyckoff (SC $59,080), Candlestick ($59,429.89)\",\n      \"description\": \"Candlestick 보조 지지 $59,429.89를 거쳐 Wyckoff 메인 레인지 저점 SC $59,080을 테스트. Phase D 내 LPS 형성 전 하단 방어 시험 구간으로, 이탈 시 Spring 저점 재시험이 우선됨.\",\n      \"est_hours\": 15.0\n    },\n    {\n      \"seq\": 4,\n      \"price\": 58030.0,\n      \"type\": \"swing_low\",\n      \"source\": \"Fibonacci/ICT/Wyckoff/Candlestick/Derivatives 다중 합류 ($58,288 Spring·PDL, $58,030 range low·7일 저점·fib confluence, 파생 청산대 $58,300) — WP 후보 레벨(score 0.6)\",\n      \"description\": \"$58,288 Wyckoff Spring·ICT PDL과 $58,030 range low·7일 저점·fib confluence가 중첩되고 파생 하방 청산대 $58,300과도 겹치는 핵심 하단 유동성·방어 구간. 24시간 주요 하방 타깃이며, ICT($58,288/$58,030 재테스트)·Candlestick($58,030 재시험)·Derivatives($58,300) 다수가 지지.\",\n      \"est_hours\": 22.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 61230.0, \"expected_low\": 60650.0, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 61230.0, \"expected_low\": 60008.61, \"high_first\": true},\n    \"24h\": {\"expected_high\": 61230.0, \"expected_low\": 58030.0, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 61665.0, \"description\": \"EMA20 $60,762.14·Fib 황금비율 $61,230.99를 회복한 뒤 Wyckoff EQ $61,665·ICT 7일 EQ $61,813.60 위에서 수용되면 할인→프리미엄 전환으로 약세 시나리오가 약화. 이어 $62,232.10 ICT 마지막 bearish BOS 회복 시 강세 가속.\"},\n    \"bearish\": {\"price\": 58030.0, \"description\": \"$58,030 range low·Spring 영역을 하향 이탈·수용하면 Wyckoff 축적 후보가 무효화되며 $57,200·$56,621.15 하방 유동성으로 추세 하락이 가속.\"}\n  },\n  \"scenario_invalidation\": 62232.1\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 61230.0,
        "turning_zone": [
          61230.99,
          61665.0
        ],
        "likely_wick": 61450.0,
        "rejection_confirm": 60762.14,
        "invalid_overshoot": 61813.6,
        "calibration_reasoning": "하드 앵커는 Fib 황금비율 0.618 $61,230.99(하단)와 Chairman 저항 $61,665(상단, ≈0.40 ATR)이며 Bat PRZ는 미확정이라 조건부 반응대로만 참고했다. 골든비율 위 스톱을 노린 실패성 sweep이므로 likely_wick은 합류대를 0.2 ATR 관통하는 $61,450, EMA20 $60,762.14 재하회로 거부 확인, $61,813.60 지속 돌파 시 수용 전환으로 무효화한다."
      },
      {
        "seq": 2,
        "base_target": 60008.61,
        "turning_zone": [
          59650.0,
          60008.61
        ],
        "likely_wick": 59900.0,
        "rejection_confirm": 60250.0,
        "invalid_overshoot": 59429.89,
        "calibration_reasoning": "Fib 0.382 $60,008.61와 $60,000 심리선(라운드 넘버 자석)을 상단 앵커로 두고 sub-$60k 유동성 스윕을 포함해 하단 $59,650(≈0.33 ATR)까지 확장했다. likely_wick은 라운드 넘버 직하단 $59,900, $60,250 재탈환 시 국지 반등 확인, Chairman 지지 $59,429.89 이탈 시 WP3로 연속되며 이 지점이 전환점이 아니었음을 확정한다."
      },
      {
        "seq": 3,
        "base_target": 59080.0,
        "turning_zone": [
          58720.0,
          59080.0
        ],
        "likely_wick": 58950.0,
        "rejection_confirm": 59429.89,
        "invalid_overshoot": 58288.0,
        "calibration_reasoning": "Wyckoff SC·메인 레인지 저점 $59,080을 상단으로, $59,000 라운드 넘버 직하단 스윕을 포함한 $58,720(≈0.33 ATR)을 하단으로 설정했다. likely_wick $58,950, Candlestick/Chairman 보조 지지 $59,429.89 회복 시 LPS 반등 확인, 경로상 이탈 시 Spring 재시험이므로 $58,288 Spring 레벨 도달을 무효화 기준으로 삼는다."
      },
      {
        "seq": 4,
        "base_target": 58030.0,
        "turning_zone": [
          57500.0,
          58288.0
        ],
        "likely_wick": 57900.0,
        "rejection_confirm": 58500.0,
        "invalid_overshoot": 57200.0,
        "calibration_reasoning": "터미널 구간이라 광역대(≈0.72 ATR)를 적용: $58,030 레인지 저점·7일 저점·Fib ext_1.0 이중 합류대를 핵심으로 $58,288 Wyckoff Spring/ICT PDL·$58,300 청산대까지 상단에 포함하고, $58,000 라운드 넘버 하단 스윕을 위해 $57,500까지 확장했다. likely_wick은 라운드 넘버 직하단 $57,900, 방어대 전체를 상회하는 $58,500 재탈환 시 반전 확인, Chairman $57,200 이탈 시 심층 하락으로 무효화한다."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 61230.00,\n      \"turning_zone\": [61230.99, 61665.00],\n      \"likely_wick\": 61450.00,\n      \"rejection_confirm\": 60762.14,\n      \"invalid_overshoot\": 61813.60,\n      \"calibration_reasoning\": \"하드 앵커는 Fib 황금비율 0.618 $61,230.99(하단)와 Chairman 저항 $61,665(상단, ≈0.40 ATR)이며 Bat PRZ는 미확정이라 조건부 반응대로만 참고했다. 골든비율 위 스톱을 노린 실패성 sweep이므로 likely_wick은 합류대를 0.2 ATR 관통하는 $61,450, EMA20 $60,762.14 재하회로 거부 확인, $61,813.60 지속 돌파 시 수용 전환으로 무효화한다.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 60008.61,\n      \"turning_zone\": [59650.00, 60008.61],\n      \"likely_wick\": 59900.00,\n      \"rejection_confirm\": 60250.00,\n      \"invalid_overshoot\": 59429.89,\n      \"calibration_reasoning\": \"Fib 0.382 $60,008.61와 $60,000 심리선(라운드 넘버 자석)을 상단 앵커로 두고 sub-$60k 유동성 스윕을 포함해 하단 $59,650(≈0.33 ATR)까지 확장했다. likely_wick은 라운드 넘버 직하단 $59,900, $60,250 재탈환 시 국지 반등 확인, Chairman 지지 $59,429.89 이탈 시 WP3로 연속되며 이 지점이 전환점이 아니었음을 확정한다.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 59080.00,\n      \"turning_zone\": [58720.00, 59080.00],\n      \"likely_wick\": 58950.00,\n      \"rejection_confirm\": 59429.89,\n      \"invalid_overshoot\": 58288.00,\n      \"calibration_reasoning\": \"Wyckoff SC·메인 레인지 저점 $59,080을 상단으로, $59,000 라운드 넘버 직하단 스윕을 포함한 $58,720(≈0.33 ATR)을 하단으로 설정했다. likely_wick $58,950, Candlestick/Chairman 보조 지지 $59,429.89 회복 시 LPS 반등 확인, 경로상 이탈 시 Spring 재시험이므로 $58,288 Spring 레벨 도달을 무효화 기준으로 삼는다.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 58030.00,\n      \"turning_zone\": [57500.00, 58288.00],\n      \"likely_wick\": 57900.00,\n      \"rejection_confirm\": 58500.00,\n      \"invalid_overshoot\": 57200.00,\n      \"calibration_reasoning\": \"터미널 구간이라 광역대(≈0.72 ATR)를 적용: $58,030 레인지 저점·7일 저점·Fib ext_1.0 이중 합류대를 핵심으로 $58,288 Wyckoff Spring/ICT PDL·$58,300 청산대까지 상단에 포함하고, $58,000 라운드 넘버 하단 스윕을 위해 $57,500까지 확장했다. likely_wick은 라운드 넘버 직하단 $57,900, 방어대 전체를 상회하는 $58,500 재탈환 시 반전 확인, Chairman $57,200 이탈 시 심층 하락으로 무효화한다.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 57.4,
      "chairman": 77.1,
      "operating_path": 453.9,
      "tp_calibrator": 299.6
    },
    "agents": {},
    "total_s": 888.0
  }
}