BTC/USDT 4H Council Report

Signal: BEARISH (70%)  |  Price: $77,639.20  |  2026-05-21 05:00 KST  |  300 candles

Council: 1 bullish, 2 neutral, 3 bearish  |  Support: $77,626 / $77,387 / $77,336  |  Resistance: $77,826 / $78,000 / $78,038

result.json   raw.txt   report.md


BTC Chart

Executive Summary

현재 BTC 4시간봉 구조는 이전 분배 사이클이 완료된 뒤, 새 재분배 후보 구조 안에서 LPSY $77,825.80 및 SOW $76,975.00가 확인되는 bearish regime으로 진단된다. ICT의 $79,137.40/$78,713.80 연속 bearish BOS, Wyckoff의 분배 Phase D 해석, 그리고 EMA120 $78,498.66 하회가 같은 구조적 결론을 지지한다. 다만 현재가는 Fibonacci 0.618 $77,625.65와 harmonic 활성 PRZ $77,633.40 부근에 있어 단기 반등 조건은 존재하며, 완료된 bullish Bat PRZ $75,267.38-$76,622.56 방어는 하단 반응 리스크로 남아 있다. 구조적으로 중요한 상단 검증 구간은 $78,498.66-$79,455.00이며, regime-level bearish thesis의 최종 무효화는 $82,828.70 위 수용이다.

Confluences

Conflicts


Agent Matrix

AgentSignalConfidenceSupportResistance
Wyckoff ExpertBEARISH78%$76,975 / $76,107$77,826 / $78,300
ICT TraderBEARISH66%$76,377 / $76,014$77,826 / $78,499
Derivatives TraderBEARISH62%$76,014 / $75,900$78,000 / $78,499
Candlestick ReaderNEUTRAL46%$77,387 / $77,076$78,499 / $79,007
Fibonacci AnalystNEUTRAL58%$77,626 / $77,336$78,038 / $78,499
Harmonic SpecialistBULLISH41%$77,387 / $77,076$78,468 / $78,549

Agent Details

Wyckoff Expert — BEARISH (78%)

Support: $76,975 / $76,107 / $74,868 | Resistance: $77,826 / $78,300 / $78,499 | Horizon: medium term

메트릭상 regime은 DIS, regime_state는 confirmed_dis이며 regime_fitness 0.963으로 분배 구조의 적합도가 높습니다. 메인 분배 레인지는 BC $78,300.00과 AR $73,669.00로 앵커링되며, 이후 ST $79,455.00, SOW_IN_PHASE_B $74,868.00, UT $79,145.00, UTAD $82,828.70, LPSY $81,270.20 순서로 Phase D 분배 진행이 확인됩니다. 현재가 $77,639.20은 레인지 EQ 약 $75,984.50 위 프리미엄 영역이면서 단기 LPSY 후보 $77,825.80 바로 아래에 있어, 구조적으론 약세이고 즉각 경로도 상단 재공급 후 $76,975.00~$76,107.10 재시험 가능성이 우세합니다. 다만 $77,825.80 및 $78,300.00을 회복하면 단기 약세 셋업은 약화되며, $82,828.70 UTAD 고점 위 수용이 나오기 전까지는 분배 구조 자체의 무효화로 보기는 어렵습니다.
ICT Trader — BEARISH (66%)

Support: $76,377 / $76,014 / $76,009 | Resistance: $77,826 / $78,499 / $78,714 | Horizon: short to medium term

확정 구조는 bearish로 판단한다. 최근 구조 시퀀스가 CHoCH_bullish 이후 다시 bearish BOS $79,137.40, bearish BOS $78,713.80로 전환되었고, consecutive_bear_bos가 2로 확인되어 현재 시장 구조는 하방 우위다. 현재가 $77,639.20는 EQ $79,006.60 아래의 discount 구간에 있어 이론적으로는 매수 반응이 나올 수 있으나, EMA120 $78,498.66 및 bearish BOS 레벨 $78,713.80을 회복하지 못하면 기관 관점에서는 반등 매도 구간으로 해석된다. 다만 활성 OB, 미충족 FVG, 최근 liquidity sweep이 모두 0으로 확인되어 명확한 유동성 사냥 근거는 부족하므로 신뢰도는 중간 수준이다.
Derivatives Trader — BEARISH (62%)

Support: $76,014 / $75,900 / $74,900 | Resistance: $78,000 / $78,499 / $80,000 | Horizon: short term, 파생 포지셔닝 선행성을 반영한 4-8시간 관점

확정 구조는 $76,014.20~$81,999.00의 7일 박스 안에 머물고 있어 아직 명확한 BOS나 CHoCH가 확인되지 않았으므로 neutral로 본다. 다만 셋업 관점에서는 현재가 $77,639.20이 EMA120 $78,498.66 아래에 있고, 바로 위 $78,000에 큰 청산 유동성 19,069가 있어 스윕 후 되밀림이 나올 수 있는 구간이다. 24시간 OI가 -1.63% 감소한 상태에서 가격만 +1.09% 오른 것은 신규 추세 롱보다 숏커버/포지션 축소 성격이 강하며, aggregate_score 0.393과 bear_signals 3개가 하방 셋업을 지지한다. 롱 계정 비율은 0.567로 아직 높고 account_long_crowding 0.680이므로, $78,000~$78,498.66 저항을 돌파 수용하지 못하면 $75,900 및 $76,014.20 재테스트 가능성이 더 크다.
Candlestick Reader — NEUTRAL (46%)

Support: $77,387 / $77,076 / $76,014 | Resistance: $78,499 / $79,007 / $81,999 | Horizon: short term

현재 BTC는 $77,639.20으로 EMA20 $77,386.96과 EMA240 $77,076.50 위에 있지만, EMA120 $78,498.66 아래에 있어 구조적으로는 확정적인 상승 전환보다 박스권 중립에 가깝습니다. 최근 5개 4시간봉이 모두 양봉 또는 보합권이고 hammer@298, doji@297이 나타났지만, 최고 패턴 품질이 0.555에 불과해 강한 반전 신호로 보기에는 부족합니다. 7일 고점 $81,999.00과 저점 $76,014.20의 중간값인 약 $79,006.60 아래에 있어 단기적으로는 할인 구간의 반등 셋업이 존재하지만, EMA120 $78,498.66 및 EQ $79,006.60 돌파 수용이 확인되기 전까지 구조_bias는 중립입니다. bull_score 1.4, bear_score 1.5로 약한 매도 우위가 남아 있어 최종 신호는 중립으로 평가합니다.
Fibonacci Analyst — NEUTRAL (58%)

Support: $77,626 / $77,336 / $77,046 | Resistance: $78,038 / $78,499 / $78,564 | Horizon: short term

확정 구조는 아직 bearish로 판단한다. 기준 스윙이 High $78,564 → Low $76,107의 하락 스윙이며, 현재가는 0.618 되돌림 $77,625.65를 거의 정확히 테스트하고 있지만 스윙 고점 $78,564 및 EMA120 $78,498.66 위로 수용된 상태는 아니다. 다만 setup 관점에서는 현재가 $77,639.20이 골든비율 $77,625.65 위에 있고 EMA20 $77,386.96도 회복한 상태라 단기 반등 시도는 유효하다. 핵심은 $77,625.65 유지 여부이며, 유지 시 $78,038.46 ret_0.786까지 열리지만 $77,335.70 EQ를 다시 이탈하면 $77,045.75 ret_0.382와 $76,866.37 confluence zone 재테스트 위험이 커진다.
Harmonic Specialist — BULLISH (41%)

Support: $77,387 / $77,076 / $76,623 | Resistance: $78,468 / $78,549 / $79,110 | Horizon: short/medium term

하모닉 기준으로 가장 유효한 확정 신호는 bullish Bat 완료 패턴이며, PRZ $75,267.38-$76,622.56에서 D=$76,014.20을 만든 뒤 방어가 확인되었고 reaction_score가 0.95로 높습니다. 다만 하모닉은 독립적인 경로 엔진이 아니므로, 이 반응은 medium confluence/tie-breaker 수준이며 confirmed BOS·CHoCH·구조적 acceptance 데이터가 없기 때문에 structure_bias는 neutral로 둡니다. 현재가 $77,639.20는 EMA20 $77,386.96와 EMA240 $77,076.50 위에 있지만 EMA120 $78,498.66 아래에 있어, 반등 셋업은 살아 있으나 추세 확정은 부족합니다. 위쪽으로는 Bat TP1 $78,574.55, forming Gartley PRZ $78,548.99-$79,671.71, 그리고 Bat TP2 $80,199.11이 주요 반응/저항 구간입니다.

Operating Path — complex (62%)

#PriceTypeSourceEst. HoursDescription
1$77,950liquidity_sweepWyckoff (LPSY 후보 $77,825.80), Derivatives ($78,000 청산 유동성 19,069 규모), Fibonacci ($78,038.46 0.786 되돌림)5.0Wyckoff LPSY 후보 $77,825.80 위 스톱 흡수 및 Derivatives가 지목한 $78,000 청산 클러스터를 스윕하는 단기 상단 재공급 시도. OI -1.63% 감소 + 가격 +1.09% 상승의 숏커버 성격과 합쳐져 신규 추세 롱 없이 유동성만 청산 후 거부 가능성이 높음. EMA120 $78,498.66·BC $78,300.00 미달 상태에서의 약세 구조 내부 반등.
2$77,076support_testCandlestick (EMA240 $77,076.50), ICT (할인 영역 내부), Wyckoff (LPSY 이후 1차 되밀림 경로)13.0LPSY 스윕 거부 후 EMA20 $77,386.96 및 Fibonacci 0.5 EQ $77,335.70 이탈을 거쳐 EMA240 $77,076.50 지지 재시험. ICT 연속 bearish BOS($79,137.40, $78,713.80) 미회복과 setup 신호 ‘$77,335.70 재이탈 시 반등 셋업 종료’ 조건 충족 경로.
3$76,014swing_lowICT (7일 저점 $76,014.20), Harmonic (Bat D=$76,014.20), Derivatives (박스 하단), Candlestick (주요 지지), Wyckoff (SOW $76,975.00 하방 연장)22.0Wyckoff가 설정한 $76,975.00~$76,107.10 재시험 경로의 연장 도착점이자 다중 에이전트가 공유하는 핵심 하단 구조 기준. 완료된 bullish Bat PRZ 방어 구간 상단이므로 1차 매수 반응이 발생할 수 있으나, 분배 Phase D가 활성화되어 있어 이탈 시 PRZ 내부 $75,267.38까지 확장 위험.

Period Extremes

HorizonExpected LowExpected HighSequence
4h$77,387$77,950High first
8h$77,076$77,980High first
24h$76,014$78,000High first

Triggers

Invalidation: $78,714

Raw Operating Path Response
```json
{
  "path_type": "complex",
  "confidence": 0.62,
  "waypoints": [
    {
      "seq": 1,
      "price": 77950.0,
      "type": "liquidity_sweep",
      "source": "Wyckoff (LPSY 후보 $77,825.80), Derivatives ($78,000 청산 유동성 19,069 규모), Fibonacci ($78,038.46 0.786 되돌림)",
      "description": "Wyckoff LPSY 후보 $77,825.80 위 스톱 흡수 및 Derivatives가 지목한 $78,000 청산 클러스터를 스윕하는 단기 상단 재공급 시도. OI -1.63% 감소 + 가격 +1.09% 상승의 숏커버 성격과 합쳐져 신규 추세 롱 없이 유동성만 청산 후 거부 가능성이 높음. EMA120 $78,498.66·BC $78,300.00 미달 상태에서의 약세 구조 내부 반등."
    , "est_hours": 5.0
    },
    {
      "seq": 2,
      "price": 77076.5,
      "type": "support_test",
      "source": "Candlestick (EMA240 $77,076.50), ICT (할인 영역 내부), Wyckoff (LPSY 이후 1차 되밀림 경로)",
      "description": "LPSY 스윕 거부 후 EMA20 $77,386.96 및 Fibonacci 0.5 EQ $77,335.70 이탈을 거쳐 EMA240 $77,076.50 지지 재시험. ICT 연속 bearish BOS($79,137.40, $78,713.80) 미회복과 setup 신호 ‘$77,335.70 재이탈 시 반등 셋업 종료’ 조건 충족 경로."
    , "est_hours": 13.0
    },
    {
      "seq": 3,
      "price": 76014.2,
      "type": "swing_low",
      "source": "ICT (7일 저점 $76,014.20), Harmonic (Bat D=$76,014.20), Derivatives (박스 하단), Candlestick (주요 지지), Wyckoff (SOW $76,975.00 하방 연장)",
      "description": "Wyckoff가 설정한 $76,975.00~$76,107.10 재시험 경로의 연장 도착점이자 다중 에이전트가 공유하는 핵심 하단 구조 기준. 완료된 bullish Bat PRZ 방어 구간 상단이므로 1차 매수 반응이 발생할 수 있으나, 분배 Phase D가 활성화되어 있어 이탈 시 PRZ 내부 $75,267.38까지 확장 위험."
    , "est_hours": 22.0
    }
  ],
  "period_extremes": {
    "4h":  {"expected_high": 77950.0, "expected_low": 77386.96, "high_first": true},
    "8h":  {"expected_high": 77980.0, "expected_low": 77076.5,  "high_first": true},
    "24h": {"expected_high": 78000.0, "expected_low": 76014.2,  "high_first": true}
  },
  "triggers": {
    "bullish": {"price": 78713.8, "description": "ICT 두 번째 bearish BOS 레벨 $78,713.80 위 4시간봉 수용. EMA120 $78,498.66 및 Wyckoff BC $78,300.00 동시 회복으로 약세 구조 일부 무효화, $79,137.40 첫 BOS·$79,455.00 ST까지 단기 강세 가속 가능."},
    "bearish": {"price": 77335.7, "description": "Fibonacci 0.5 EQ $77,335.70 및 EMA20 $77,386.96 하향 수용. 단기 반등 셋업 무효화 시그널로 EMA240 $77,076.50과 Wyckoff SOW $76,975.00 즉시 가속 트리거, 박스 하단 $76,014.20까지 추세 가속."}
  },
  "scenario_invalidation": 78713.8
}
```

24h 경로는 LPSY/$78,000 청산 스윕(4-5h) → EMA20/0.5 EQ 이탈 후 EMA240 지지 재시험(12-14h) → 7일 박스 하단·Bat D $76,014.20 재시험(20-22h) 순의 high-first 약세 시나리오로 설정했고, $78,713.80 위 수용 시 전체 경로 무효화로 처리했습니다.

Raw Chairman Response
{
  "overall_signal": "bearish",
  "overall_confidence": 0.7,
  "execution_setup": {
    "setup_bias": "bearish",
    "setup_strength": 0.64,
    "active_setups": [
      "Wyckoff: 확인된 분배 이후 현재 4시간봉은 재분배 후보 구조로 전환되어 있으며, 단기 LPSY 후보 $77,825.80 바로 아래에서 가격이 머물고 있음",
      "ICT: 최근 구조 이벤트가 $79,137.40 및 $78,713.80 하향 BOS로 연속 확인되어, 해당 레벨 회복 전까지 반등은 구조 회복이 아닌 약세 구조 내부 움직임으로 해석됨",
      "Derivatives: $78,000 상단 청산 유동성 약 19,069 규모가 근접해 있고, 가격 상승에도 24시간 OI가 -1.63% 감소해 신규 추세 롱보다 숏커버 성격이 강함",
      "Fibonacci: 현재가 $77,639.20이 0.618 되돌림 $77,625.65를 테스트 중이며, $77,335.70 EQ 재이탈 전까지 단기 반등 셋업은 유지됨",
      "Harmonic: 완료된 bullish Bat PRZ $75,267.38-$76,622.56 방어가 확인되었고, Bat TP1 $78,574.55가 아직 미도달 상태이나 이는 구조 전환 신호가 아니라 반등 컨플루언스임"
    ],
    "setup_vs_structure": "실행 셋업은 약한 반등 요소가 존재하지만, 더 높은 가중치를 가진 Wyckoff·ICT·파생 포지셔닝이 모두 상단 재공급/약세 구조를 지지해 전체적으로 bearish 쪽이 우세하다. 즉, 단기 반등 조건은 존재하나 구조적 판정과 정렬되는 주 실행 리스크는 여전히 상방 저항 구간에서의 실패 여부다."
  },
  "signal_breakdown": {
    "bullish_count": 1,
    "bearish_count": 3,
    "neutral_count": 2
  },
  "key_levels": {
    "support": [
      77625.65,
      77386.96,
      77335.7,
      77076.5,
      76975.0,
      76107.1,
      76014.2,
      75267.38
    ],
    "resistance": [
      77825.8,
      78000.0,
      78038.46,
      78300.0,
      78498.66,
      78564.0,
      79006.6,
      79137.4,
      79671.71,
      81999.0,
      82828.7
    ]
  },
  "confluences": [
    "EMA120 $78,498.66은 ICT, Candlestick, Harmonic, Derivatives, Wyckoff가 모두 핵심 상단 구조 저항으로 인식하는 고중요 레벨이다.",
    "$77,825.80은 ICT의 전일 고점이자 Wyckoff의 단기 LPSY 후보로 겹치며, 현재가 바로 위의 1차 구조 저항이다.",
    "$78,000 부근은 Derivatives의 대형 상단 청산 유동성 레벨이며, Fibonacci의 $78,038.46 0.786 되돌림과 근접해 단기 상단 반응 구간으로 중첩된다.",
    "$79,006.60은 ICT와 Candlestick이 공유하는 7일 범위 EQ이며, 가격이 이 아래에 있어 구조적으로는 아직 상단 회복보다 할인권 내부 반등으로 해석된다.",
    "$76,014.20은 ICT의 7일 저점, Candlestick의 주요 지지, Derivatives의 박스 하단, Harmonic Bat의 D 포인트가 겹치는 핵심 하단 구조 기준이다.",
    "$77,625.65 Fibonacci 0.618 되돌림과 Harmonic의 활성 butterfly PRZ 중심 $77,633.40이 거의 같은 가격대에 있어, 현재가는 단기 반응이 발생하기 쉬운 정밀 컨플루언스 위에 있다.",
    "Wyckoff와 ICT, Fibonacci는 모두 상위 구조를 bearish로 판정하며, 이는 단기 bullish PRZ/EMA 회복 신호보다 높은 구조 가중치를 가진다."
  ],
  "conflicts": [
    "Harmonic은 완료된 bullish Bat PRZ $75,267.38-$76,622.56 방어와 TP1 $78,574.55 미도달을 근거로 bullish 반등 셋업을 제시하지만, Wyckoff의 확인된 분배/재분배 구조와 ICT의 연속 bearish BOS와는 충돌한다.",
    "Fibonacci와 Candlestick은 현재가가 EMA20 $77,386.96 위에 있고 $77,625.65 0.618 부근을 회복하려는 점을 단기 bullish 셋업으로 보지만, EMA120 $78,498.66 아래라는 점에서는 구조 전환을 인정하지 않는다.",
    "Derivatives는 가격이 +1.09% 상승했음에도 OI가 -1.63% 감소한 것을 숏커버/포지션 축소로 해석해 약세 셋업을 제시하며, 이는 단순 가격 반등을 긍정적으로 보는 Fibonacci·Harmonic 해석과 다르다.",
    "Candlestick은 최근 양봉/보합 흐름과 hammer/doji를 관찰했지만 패턴 품질이 0.555로 낮아 중립으로 남았고, Wyckoff의 높은 적합도 기반 bearish 판정과 강도 면에서 차이가 크다."
  ],
  "highest_conviction_analyst": "Wyckoff Expert — 확인된 분배 구조 적합도가 매우 높고, 이전 4시간봉 분배 사이클은 BC $78,300.00, AR $73,669.00, UTAD $82,828.70, LPSY $81,270.20로 완성된 뒤 현재는 별도의 재분배 후보 구조로 재편되고 있다. 현재 활성 구조에서는 ST 저점 $76,107.10 이후 LPSY 후보 $77,825.80, SOW $76,975.00가 순차적으로 관찰되어, 단순 반등보다 공급 재출현 구조라는 해석이 가장 정밀하다.",
  "invalidation_level": "4시간봉 기준 $82,828.70 UTAD 고점 위 수용 시 현재 bearish 분배/재분배 구조 판정은 무효화된다. 단기적으로는 $79,145.00-$79,455.00 회복 수용 시 약세 구조의 신뢰도가 먼저 약화된다.",
  "executive_summary": "현재 BTC 4시간봉 구조는 이전 분배 사이클이 완료된 뒤, 새 재분배 후보 구조 안에서 LPSY $77,825.80 및 SOW $76,975.00가 확인되는 bearish regime으로 진단된다. ICT의 $79,137.40/$78,713.80 연속 bearish BOS, Wyckoff의 분배 Phase D 해석, 그리고 EMA120 $78,498.66 하회가 같은 구조적 결론을 지지한다. 다만 현재가는 Fibonacci 0.618 $77,625.65와 harmonic 활성 PRZ $77,633.40 부근에 있어 단기 반등 조건은 존재하며, 완료된 bullish Bat PRZ $75,267.38-$76,622.56 방어는 하단 반응 리스크로 남아 있다. 구조적으로 중요한 상단 검증 구간은 $78,498.66-$79,455.00이며, regime-level bearish thesis의 최종 무효화는 $82,828.70 위 수용이다."
}
Full Result JSON
{
  "symbol": "BTC/USDT",
  "timeframe": "4h",
  "timestamp": "2026-05-21 05:00 KST",
  "last_price": 77639.2,
  "num_candles": 300,
  "stage1_analyses": {
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $77,639.20이 0.618 골든비율 $77,625.65를 0.02% 차이로 테스트 중이며 단기 지지 전환 시도",
        "가격이 0.5 EQ $77,335.70 위에 있어 단기적으로는 프리미엄 영역에 진입했지만, 동시에 $77,335.70 재이탈 전까지는 반등 구조 유지",
        "EMA20 $77,386.96 위에서 거래되어 단기 매수세가 유지되고 있음",
        "상단 0.786 되돌림 $78,038.46과 EMA120 $78,498.66이 가까운 저항대로 남아 있어 구조 전환은 아직 미확정",
        "하단 confluence zone $76,866.37 및 $76,191.75가 이탈 시 다음 유동성 흡수 구간으로 작동 가능"
      ],
      "reasoning": "확정 구조는 아직 bearish로 판단한다. 기준 스윙이 High $78,564 → Low $76,107의 하락 스윙이며, 현재가는 0.618 되돌림 $77,625.65를 거의 정확히 테스트하고 있지만 스윙 고점 $78,564 및 EMA120 $78,498.66 위로 수용된 상태는 아니다. 다만 setup 관점에서는 현재가 $77,639.20이 골든비율 $77,625.65 위에 있고 EMA20 $77,386.96도 회복한 상태라 단기 반등 시도는 유효하다. 핵심은 $77,625.65 유지 여부이며, 유지 시 $78,038.46 ret_0.786까지 열리지만 $77,335.70 EQ를 다시 이탈하면 $77,045.75 ret_0.382와 $76,866.37 confluence zone 재테스트 위험이 커진다.",
      "key_levels": {
        "support": [
          77625.65,
          77335.7,
          77045.75,
          76866.37,
          76191.75
        ],
        "resistance": [
          78038.46,
          78498.66,
          78564
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "77335.70",
      "risk_scenario": "반대 시나리오는 $77,625.65 골든비율 지지가 실패하고 $77,335.70 EQ 아래로 재진입하는 경우다. 이 경우 현재의 단기 bullish setup은 무효화되며 $77,045.75, $76,866.37, 최종적으로 스윙 저점 $76,107.10까지 하락 확장될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "High→Low: $78,564 → $76,107",
        "direction": "down",
        "nearest_fib": "ret_0.618",
        "nearest_fib_price": 77625.65,
        "nearest_fib_distance": 0.02,
        "golden_ratio_level": 77625.65,
        "fib_ret_382": 77045.75,
        "fib_ret_618": 77625.65,
        "confluence_zones": [
          {
            "price": 72179.87,
            "count": 2,
            "levels": [
              "ext_2.618",
              "ret_0.618"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 74420.48,
            "count": 2,
            "levels": [
              "ret_0.5",
              "ext_1.618"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 75264.28,
            "count": 2,
            "levels": [
              "ext_1.414",
              "ext_1.272"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 76191.75,
            "count": 2,
            "levels": [
              "ext_1.0",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 76866.37,
            "count": 2,
            "levels": [
              "ret_0.236",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          77625.6496,
          77335.70000000001,
          77045.7504
        ],
        "resistance_levels": [
          78038.4592
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 76687.0,
            "distance_pct": 1.23,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.382",
            "price": 77045.75,
            "distance_pct": 0.76,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.5",
            "price": 77335.7,
            "distance_pct": 0.39,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.618",
            "price": 77625.65,
            "distance_pct": 0.02,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.786",
            "price": 78038.46,
            "distance_pct": 0.51,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 76107.1,
            "distance_pct": 1.97,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.272",
            "price": 75438.74,
            "distance_pct": 2.83,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 75089.82,
            "distance_pct": 3.28,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.618",
            "price": 74588.55,
            "distance_pct": 3.93,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_2.0",
            "price": 73649.9,
            "distance_pct": 5.14,
            "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.62,\n  \"setup_signals\": [\n    \"현재가 $77,639.20이 0.618 골든비율 $77,625.65를 0.02% 차이로 테스트 중이며 단기 지지 전환 시도\",\n    \"가격이 0.5 EQ $77,335.70 위에 있어 단기적으로는 프리미엄 영역에 진입했지만, 동시에 $77,335.70 재이탈 전까지는 반등 구조 유지\",\n    \"EMA20 $77,386.96 위에서 거래되어 단기 매수세가 유지되고 있음\",\n    \"상단 0.786 되돌림 $78,038.46과 EMA120 $78,498.66이 가까운 저항대로 남아 있어 구조 전환은 아직 미확정\",\n    \"하단 confluence zone $76,866.37 및 $76,191.75가 이탈 시 다음 유동성 흡수 구간으로 작동 가능\"\n  ],\n  \"reasoning\": \"확정 구조는 아직 bearish로 판단한다. 기준 스윙이 High $78,564 → Low $76,107의 하락 스윙이며, 현재가는 0.618 되돌림 $77,625.65를 거의 정확히 테스트하고 있지만 스윙 고점 $78,564 및 EMA120 $78,498.66 위로 수용된 상태는 아니다. 다만 setup 관점에서는 현재가 $77,639.20이 골든비율 $77,625.65 위에 있고 EMA20 $77,386.96도 회복한 상태라 단기 반등 시도는 유효하다. 핵심은 $77,625.65 유지 여부이며, 유지 시 $78,038.46 ret_0.786까지 열리지만 $77,335.70 EQ를 다시 이탈하면 $77,045.75 ret_0.382와 $76,866.37 confluence zone 재테스트 위험이 커진다.\",\n  \"key_levels\": {\n    \"support\": [\n      77625.65,\n      77335.7,\n      77045.75,\n      76866.37,\n      76191.75\n    ],\n    \"resistance\": [\n      78038.46,\n      78498.66,\n      78564\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"77335.70\",\n  \"risk_scenario\": \"반대 시나리오는 $77,625.65 골든비율 지지가 실패하고 $77,335.70 EQ 아래로 재진입하는 경우다. 이 경우 현재의 단기 bullish setup은 무효화되며 $77,045.75, $76,866.37, 최종적으로 스윙 저점 $76,107.10까지 하락 확장될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.66,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.75,
      "setup_signals": [
        "현재가 $77,639.20가 EQ $79,006.60 아래에 있어 할인 구간이지만, $78,713.80 및 $79,137.40의 최근 bearish BOS 레벨을 회복하지 못한 상태",
        "EMA120 $78,498.66 아래에서 거래 중이며, 중기 평균선 상방 회복 실패가 약세 압력으로 작용",
        "최근 구조 이벤트가 bearish BOS $79,137.40, bearish BOS $78,713.80로 연속 2회 약세 구조를 형성",
        "전일 고가 $77,825.80를 아직 돌파하지 못해 단기 매수 유동성 회수 실패 상태",
        "현재 반등폭이 27.9%에 그쳐 $79,006.60 EQ 및 $79,455.00 bullish CHoCH 레벨까지의 회복이 부족"
      ],
      "reasoning": "확정 구조는 bearish로 판단한다. 최근 구조 시퀀스가 CHoCH_bullish 이후 다시 bearish BOS $79,137.40, bearish BOS $78,713.80로 전환되었고, consecutive_bear_bos가 2로 확인되어 현재 시장 구조는 하방 우위다. 현재가 $77,639.20는 EQ $79,006.60 아래의 discount 구간에 있어 이론적으로는 매수 반응이 나올 수 있으나, EMA120 $78,498.66 및 bearish BOS 레벨 $78,713.80을 회복하지 못하면 기관 관점에서는 반등 매도 구간으로 해석된다. 다만 활성 OB, 미충족 FVG, 최근 liquidity sweep이 모두 0으로 확인되어 명확한 유동성 사냥 근거는 부족하므로 신뢰도는 중간 수준이다.",
      "key_levels": {
        "support": [
          76377.0,
          76014.2,
          76009.0
        ],
        "resistance": [
          77825.8,
          78498.66,
          78713.8,
          79006.6,
          79137.4,
          79455.0,
          81999.0
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$79,455.00",
      "risk_scenario": "반대 시나리오는 가격이 $78,713.80 bearish BOS 레벨을 회복한 뒤 EQ $79,006.60 위에서 수용되고, 최종적으로 $79,455.00 bullish CHoCH 레벨을 돌파하는 경우다. 이 경우 현재 bearish 구조 판단은 무효화되며, 숏 커버링과 함께 $81,999.00 7일 고점의 buy-side liquidity를 재타깃할 가능성이 커진다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 0,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 0,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": null,
        "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": 48,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "BOS_bullish",
          "CHoCH_bearish",
          "CHoCH_bullish",
          "BOS_bearish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 76009.0
          },
          {
            "type": "BOS_bullish",
            "level": 78300.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 77100.0
          },
          {
            "type": "CHoCH_bullish",
            "level": 79455.0
          },
          {
            "type": "BOS_bearish",
            "level": 79137.4
          },
          {
            "type": "BOS_bearish",
            "level": 78713.8
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "BOS_bullish",
          "BOS_bullish",
          "CHoCH_bearish",
          "CHoCH_bullish",
          "BOS_bearish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 2,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "discount",
        "eq_level": 79006.6,
        "range_high": 81999.0,
        "range_low": 76014.2,
        "bull_score": 7.2,
        "bear_score": 7.7,
        "setup_bias": "bearish",
        "setup_score": 0.75,
        "setup_signals": [
          "bearish CHoCH below $77,100.00",
          "bearish BOS below $79,137.40",
          "bearish BOS below $78,713.80"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 27.9,
        "deepest_retracement_pct": 30.3,
        "previous_day_high": 77825.8,
        "previous_day_low": 76377.0,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.66,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.75,\n  \"setup_signals\": [\n    \"현재가 $77,639.20가 EQ $79,006.60 아래에 있어 할인 구간이지만, $78,713.80 및 $79,137.40의 최근 bearish BOS 레벨을 회복하지 못한 상태\",\n    \"EMA120 $78,498.66 아래에서 거래 중이며, 중기 평균선 상방 회복 실패가 약세 압력으로 작용\",\n    \"최근 구조 이벤트가 bearish BOS $79,137.40, bearish BOS $78,713.80로 연속 2회 약세 구조를 형성\",\n    \"전일 고가 $77,825.80를 아직 돌파하지 못해 단기 매수 유동성 회수 실패 상태\",\n    \"현재 반등폭이 27.9%에 그쳐 $79,006.60 EQ 및 $79,455.00 bullish CHoCH 레벨까지의 회복이 부족\"\n  ],\n  \"reasoning\": \"확정 구조는 bearish로 판단한다. 최근 구조 시퀀스가 CHoCH_bullish 이후 다시 bearish BOS $79,137.40, bearish BOS $78,713.80로 전환되었고, consecutive_bear_bos가 2로 확인되어 현재 시장 구조는 하방 우위다. 현재가 $77,639.20는 EQ $79,006.60 아래의 discount 구간에 있어 이론적으로는 매수 반응이 나올 수 있으나, EMA120 $78,498.66 및 bearish BOS 레벨 $78,713.80을 회복하지 못하면 기관 관점에서는 반등 매도 구간으로 해석된다. 다만 활성 OB, 미충족 FVG, 최근 liquidity sweep이 모두 0으로 확인되어 명확한 유동성 사냥 근거는 부족하므로 신뢰도는 중간 수준이다.\",\n  \"key_levels\": {\n    \"support\": [\n      76377.0,\n      76014.2,\n      76009.0\n    ],\n    \"resistance\": [\n      77825.8,\n      78498.66,\n      78713.8,\n      79006.6,\n      79137.4,\n      79455.0,\n      81999.0\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$79,455.00\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 $78,713.80 bearish BOS 레벨을 회복한 뒤 EQ $79,006.60 위에서 수용되고, 최종적으로 $79,455.00 bullish CHoCH 레벨을 돌파하는 경우다. 이 경우 현재 bearish 구조 판단은 무효화되며, 숏 커버링과 함께 $81,999.00 7일 고점의 buy-side liquidity를 재타깃할 가능성이 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "neutral",
      "confidence": 0.46,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.56,
      "setup_signals": [
        "7일 범위 EQ 약 $79,006.60 아래의 할인 구간에서 거래 중: 현재가 $77,639.20",
        "EMA20 $77,386.96 위로 소폭 회복: 현재가가 EMA20 대비 +0.3%",
        "EMA240 $77,076.50 위에서 단기 지지 시도: 현재가가 EMA240 대비 +0.7%",
        "최근 hammer@298 및 doji@297 출현, 다만 패턴 품질은 hammer 0.443, doji 0.555로 후보 수준",
        "고거래량 doji 감지로 $77,000~$78,000 부근에서 매수·매도 균형 및 방향성 대기 신호"
      ],
      "reasoning": "현재 BTC는 $77,639.20으로 EMA20 $77,386.96과 EMA240 $77,076.50 위에 있지만, EMA120 $78,498.66 아래에 있어 구조적으로는 확정적인 상승 전환보다 박스권 중립에 가깝습니다. 최근 5개 4시간봉이 모두 양봉 또는 보합권이고 hammer@298, doji@297이 나타났지만, 최고 패턴 품질이 0.555에 불과해 강한 반전 신호로 보기에는 부족합니다. 7일 고점 $81,999.00과 저점 $76,014.20의 중간값인 약 $79,006.60 아래에 있어 단기적으로는 할인 구간의 반등 셋업이 존재하지만, EMA120 $78,498.66 및 EQ $79,006.60 돌파 수용이 확인되기 전까지 구조_bias는 중립입니다. bull_score 1.4, bear_score 1.5로 약한 매도 우위가 남아 있어 최종 신호는 중립으로 평가합니다.",
      "key_levels": {
        "support": [
          77386.96,
          77076.5,
          76014.2
        ],
        "resistance": [
          78498.66,
          79006.6,
          81999
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$76,014.20 하향 이탈",
      "risk_scenario": "반등 셋업이 실패하고 $77,076.50 EMA240 및 $76,014.20 7일 저점을 순차적으로 이탈하면, hammer와 doji 기반의 매수 대기 해석은 무효화되며 $76,000 아래 유동성 사냥 및 추가 하락 압력이 커질 수 있습니다. 반대로 $78,498.66 EMA120을 회복하고 $79,006.60 EQ 위에서 4시간봉 종가 수용이 나오면 중립 구조가 단기 상승 구조로 전환될 가능성이 높아집니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 137,
        "recent_patterns": 6,
        "pattern_list": [
          "hammer@298",
          "bearish_engulfing@290",
          "bearish_engulfing@294",
          "bullish_engulfing@295",
          "doji@293",
          "doji@297"
        ],
        "atr_value": 686.36,
        "vol_avg_20": 20911.48,
        "high_volume_patterns": [
          "doji"
        ],
        "pattern_candidates": [
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.555,
            "tier": "candidate",
            "high_volume": true
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.548,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.472,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.47,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "hammer",
            "signal": "bullish",
            "pattern_quality": 0.443,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.555,
        "bull_score": 1.4,
        "bear_score": 1.5
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.46,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.56,\n  \"setup_signals\": [\n    \"7일 범위 EQ 약 $79,006.60 아래의 할인 구간에서 거래 중: 현재가 $77,639.20\",\n    \"EMA20 $77,386.96 위로 소폭 회복: 현재가가 EMA20 대비 +0.3%\",\n    \"EMA240 $77,076.50 위에서 단기 지지 시도: 현재가가 EMA240 대비 +0.7%\",\n    \"최근 hammer@298 및 doji@297 출현, 다만 패턴 품질은 hammer 0.443, doji 0.555로 후보 수준\",\n    \"고거래량 doji 감지로 $77,000~$78,000 부근에서 매수·매도 균형 및 방향성 대기 신호\"\n  ],\n  \"reasoning\": \"현재 BTC는 $77,639.20으로 EMA20 $77,386.96과 EMA240 $77,076.50 위에 있지만, EMA120 $78,498.66 아래에 있어 구조적으로는 확정적인 상승 전환보다 박스권 중립에 가깝습니다. 최근 5개 4시간봉이 모두 양봉 또는 보합권이고 hammer@298, doji@297이 나타났지만, 최고 패턴 품질이 0.555에 불과해 강한 반전 신호로 보기에는 부족합니다. 7일 고점 $81,999.00과 저점 $76,014.20의 중간값인 약 $79,006.60 아래에 있어 단기적으로는 할인 구간의 반등 셋업이 존재하지만, EMA120 $78,498.66 및 EQ $79,006.60 돌파 수용이 확인되기 전까지 구조_bias는 중립입니다. bull_score 1.4, bear_score 1.5로 약한 매도 우위가 남아 있어 최종 신호는 중립으로 평가합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      77386.96,\n      77076.5,\n      76014.2\n    ],\n    \"resistance\": [\n      78498.66,\n      79006.6,\n      81999\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$76,014.20 하향 이탈\",\n  \"risk_scenario\": \"반등 셋업이 실패하고 $77,076.50 EMA240 및 $76,014.20 7일 저점을 순차적으로 이탈하면, hammer와 doji 기반의 매수 대기 해석은 무효화되며 $76,000 아래 유동성 사냥 및 추가 하락 압력이 커질 수 있습니다. 반대로 $78,498.66 EMA120을 회복하고 $79,006.60 EQ 위에서 4시간봉 종가 수용이 나오면 중립 구조가 단기 상승 구조로 전환될 가능성이 높아집니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.78,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "가격 $77,639.20이 메인 분배 레인지 EQ 약 $75,984.50 위의 프리미엄 영역에 위치",
        "현재가가 단기 LPSY 후보 $77,825.80 바로 아래에 있어 공급 재출현 여부를 테스트 중",
        "주요 분배 앵커가 BC $78,300.00 / AR $73,669.00로 고정되어 있으며, 현재가는 BC 상단부에 근접",
        "이전 UTAD $82,828.70 이후 LPSY $81,270.20 형성, 이후 하단 SOW 성격의 약세 반응 $76,975.00 확인",
        "EMA120 $78,498.66 아래에서 거래되어 중기 평균 회복이 아직 실패 상태"
      ],
      "reasoning": "메트릭상 regime은 DIS, regime_state는 confirmed_dis이며 regime_fitness 0.963으로 분배 구조의 적합도가 높습니다. 메인 분배 레인지는 BC $78,300.00과 AR $73,669.00로 앵커링되며, 이후 ST $79,455.00, SOW_IN_PHASE_B $74,868.00, UT $79,145.00, UTAD $82,828.70, LPSY $81,270.20 순서로 Phase D 분배 진행이 확인됩니다. 현재가 $77,639.20은 레인지 EQ 약 $75,984.50 위 프리미엄 영역이면서 단기 LPSY 후보 $77,825.80 바로 아래에 있어, 구조적으론 약세이고 즉각 경로도 상단 재공급 후 $76,975.00~$76,107.10 재시험 가능성이 우세합니다. 다만 $77,825.80 및 $78,300.00을 회복하면 단기 약세 셋업은 약화되며, $82,828.70 UTAD 고점 위 수용이 나오기 전까지는 분배 구조 자체의 무효화로 보기는 어렵습니다.",
      "key_levels": {
        "support": [
          76975.0,
          76107.1,
          74868.0,
          73669.0
        ],
        "resistance": [
          77825.8,
          78300.0,
          78498.66,
          79145.0,
          81270.2,
          82828.7
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "82828.70",
      "risk_scenario": "$77,825.80 단기 LPSY 후보와 $78,300.00 BC 상단을 순차적으로 회복하면 즉각 약세 셋업은 중립화되고 $79,145.00~$79,455.00 공급대 재시험으로 경로가 바뀔 수 있습니다. 특히 $81,270.20 LPSY 상단을 회복하면 Phase D 하락 지속성에 의문이 생기며, $82,828.70 UTAD 고점 위에서 4시간봉 수용이 확인되면 현재 분배 기반 약세 해석은 무효화됩니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 85.8,
        "dis_score": 96.2,
        "regime": "DIS",
        "regime_state": "confirmed_dis",
        "structure_bias": "bearish",
        "phase_context": "confirmed_dis / distribution / Phase D",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "UTAD",
          "LPSY"
        ],
        "last_phase": "LPSY",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 100,
            "price": 78300.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 114,
            "price": 73669.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 156,
            "price": 79455.0,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 172,
            "price": 74868.0,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 191,
            "price": 79145.0,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 212,
            "price": 82828.7,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 254,
            "price": 81270.2,
            "color": "#8338ec"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "4h_cycle_1",
            "sequence": 1,
            "timeframe": "4h",
            "regime": "distribution",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 100,
            "end_idx": 254,
            "phase_count": 7,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 100,
                "price": 78300.0,
                "color": "#ffd166",
                "dt": "2026-04-18 01:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 114,
                "price": 73669.0,
                "color": "#06d6a0",
                "dt": "2026-04-20 09:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 156,
                "price": 79455.0,
                "color": "#118ab2",
                "dt": "2026-04-27 09:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 172,
                "price": 74868.0,
                "color": "#ef476f",
                "dt": "2026-04-30 01:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 191,
                "price": 79145.0,
                "color": "#f9844a",
                "dt": "2026-05-03 05:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 212,
                "price": 82828.7,
                "color": "#f9844a",
                "dt": "2026-05-06 17:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 254,
                "price": 81270.2,
                "color": "#8338ec",
                "dt": "2026-05-13 17:00:00+09:00"
              }
            ]
          },
          {
            "structure_id": "4h_cycle_2",
            "sequence": 2,
            "timeframe": "4h",
            "regime": "redistribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "redistribution",
            "start_idx": 267,
            "end_idx": 298,
            "phase_count": 5,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 267,
                "price": 78610.0,
                "color": "#ffd166",
                "dt": "2026-05-15 21:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 278,
                "price": 78564.3,
                "color": "#06d6a0",
                "dt": "2026-05-17 17:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 291,
                "price": 76107.1,
                "color": "#118ab2",
                "dt": "2026-05-19 21:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 297,
                "price": 77825.8,
                "color": "#8338ec",
                "dt": "2026-05-20 21:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 298,
                "price": 76975.0,
                "color": "#ef476f",
                "dt": "2026-05-21 01:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "4h_cycle_2",
        "primary_structure_id": "4h_cycle_1",
        "structure_count": 2,
        "regime_fitness": 0.9625,
        "current_event": "LPSY",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 73669.0,
        "main_range_high": 78300.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.78,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"가격 $77,639.20이 메인 분배 레인지 EQ 약 $75,984.50 위의 프리미엄 영역에 위치\",\n    \"현재가가 단기 LPSY 후보 $77,825.80 바로 아래에 있어 공급 재출현 여부를 테스트 중\",\n    \"주요 분배 앵커가 BC $78,300.00 / AR $73,669.00로 고정되어 있으며, 현재가는 BC 상단부에 근접\",\n    \"이전 UTAD $82,828.70 이후 LPSY $81,270.20 형성, 이후 하단 SOW 성격의 약세 반응 $76,975.00 확인\",\n    \"EMA120 $78,498.66 아래에서 거래되어 중기 평균 회복이 아직 실패 상태\"\n  ],\n  \"reasoning\": \"메트릭상 regime은 DIS, regime_state는 confirmed_dis이며 regime_fitness 0.963으로 분배 구조의 적합도가 높습니다. 메인 분배 레인지는 BC $78,300.00과 AR $73,669.00로 앵커링되며, 이후 ST $79,455.00, SOW_IN_PHASE_B $74,868.00, UT $79,145.00, UTAD $82,828.70, LPSY $81,270.20 순서로 Phase D 분배 진행이 확인됩니다. 현재가 $77,639.20은 레인지 EQ 약 $75,984.50 위 프리미엄 영역이면서 단기 LPSY 후보 $77,825.80 바로 아래에 있어, 구조적으론 약세이고 즉각 경로도 상단 재공급 후 $76,975.00~$76,107.10 재시험 가능성이 우세합니다. 다만 $77,825.80 및 $78,300.00을 회복하면 단기 약세 셋업은 약화되며, $82,828.70 UTAD 고점 위 수용이 나오기 전까지는 분배 구조 자체의 무효화로 보기는 어렵습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      76975.0,\n      76107.1,\n      74868.0,\n      73669.0\n    ],\n    \"resistance\": [\n      77825.8,\n      78300.0,\n      78498.66,\n      79145.0,\n      81270.2,\n      82828.7\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"82828.70\",\n  \"risk_scenario\": \"$77,825.80 단기 LPSY 후보와 $78,300.00 BC 상단을 순차적으로 회복하면 즉각 약세 셋업은 중립화되고 $79,145.00~$79,455.00 공급대 재시험으로 경로가 바뀔 수 있습니다. 특히 $81,270.20 LPSY 상단을 회복하면 Phase D 하락 지속성에 의문이 생기며, $82,828.70 UTAD 고점 위에서 4시간봉 수용이 확인되면 현재 분배 기반 약세 해석은 무효화됩니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bullish",
      "confidence": 0.41,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.56,
      "setup_signals": [
        "완료된 bullish Bat PRZ $75,267.38-$76,622.56에서 방어 확인: D=$76,014.20, reaction_score=0.95, D_PRZ_failure_zone_defended",
        "현재가 $77,639.20는 방어된 Bat PRZ 상단 $76,622.56 위에서 유지 중이며, Bat TP1 $78,574.55가 아직 미도달",
        "EMA20 $77,386.96 및 EMA240 $77,076.50 위에 재진입해 단기 반등 셋업은 유지되지만 EMA120 $78,498.66 아래라 구조적 확정은 부족",
        "상단에 forming bullish Gartley 고컨플루언스 PRZ $78,548.99-$79,671.71 존재: score=0.916, XAB=0.6139, ABCD/BC_EXT/XAD 3중 컨플루언스이나 아직 미확인",
        "현재가가 low-quality forming Butterfly PRZ $76,798.64-$78,468.15 내부에 있으나 quality=low, pre-confirmation 상태라 방향 투표를 지배할 수 없음"
      ],
      "reasoning": "하모닉 기준으로 가장 유효한 확정 신호는 bullish Bat 완료 패턴이며, PRZ $75,267.38-$76,622.56에서 D=$76,014.20을 만든 뒤 방어가 확인되었고 reaction_score가 0.95로 높습니다. 다만 하모닉은 독립적인 경로 엔진이 아니므로, 이 반응은 medium confluence/tie-breaker 수준이며 confirmed BOS·CHoCH·구조적 acceptance 데이터가 없기 때문에 structure_bias는 neutral로 둡니다. 현재가 $77,639.20는 EMA20 $77,386.96와 EMA240 $77,076.50 위에 있지만 EMA120 $78,498.66 아래에 있어, 반등 셋업은 살아 있으나 추세 확정은 부족합니다. 위쪽으로는 Bat TP1 $78,574.55, forming Gartley PRZ $78,548.99-$79,671.71, 그리고 Bat TP2 $80,199.11이 주요 반응/저항 구간입니다.",
      "key_levels": {
        "support": [
          77386.96,
          77076.5,
          76622.56,
          76014.2,
          75267.38
        ],
        "resistance": [
          78468.15,
          78548.99,
          79110.35,
          79671.71,
          80199.11,
          82460.5,
          82828.7
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$75,267.38",
      "risk_scenario": "가격이 $76,622.56 아래로 재진입하고 특히 Bat PRZ 하단 $75,267.38을 종가로 이탈하면, confirmed Bat 반등 셋업은 실패로 전환됩니다. 이 경우 $76,014.20 저점 방어 실패가 확인되며, 하모닉 bullish TP ladder($78,574.55, $80,199.11, $82,828.70)는 무효화되고 추가 하락 또는 새로운 bearish 구조 확인을 기다려야 합니다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 100,
        "completed_patterns_found": 42,
        "forming_d_prz_found": 58,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 57,
        "swing_highs_scanned": 29,
        "swing_lows_scanned": 28,
        "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": 4,
          "medium": 40,
          "low": 56
        },
        "prz_status_counts": {
          "active": 40,
          "nearby": 15,
          "watch": 15,
          "far": 30,
          "forming": 19
        },
        "high_confluence_prz_count": 16,
        "strict_patterns_found": 45,
        "candidate_patterns_found": 55,
        "active_patterns_at_prz": 40,
        "nearby_patterns": 15,
        "all_patterns": [
          "gartley",
          "bat",
          "butterfly",
          "bat",
          "gartley",
          "butterfly",
          "butterfly",
          "bat",
          "gartley",
          "butterfly",
          "shark",
          "bat",
          "bat",
          "crab",
          "bat",
          "crab",
          "bat",
          "bat",
          "butterfly",
          "butterfly",
          "bat",
          "shark",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "crab",
          "bat",
          "shark",
          "crab",
          "gartley",
          "gartley",
          "butterfly",
          "crab",
          "bat",
          "bat",
          "crab",
          "shark",
          "shark",
          "bat",
          "crab",
          "butterfly",
          "crab",
          "shark",
          "crab",
          "crab",
          "bat",
          "butterfly",
          "shark",
          "crab",
          "shark",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "shark",
          "butterfly",
          "crab",
          "gartley",
          "crab",
          "crab",
          "shark",
          "shark",
          "butterfly",
          "shark",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "crab",
          "gartley",
          "crab",
          "crab",
          "shark",
          "bat",
          "shark",
          "shark",
          "gartley",
          "bat",
          "gartley",
          "shark",
          "shark",
          "butterfly",
          "shark",
          "shark",
          "butterfly",
          "butterfly",
          "shark",
          "shark",
          "bat",
          "shark",
          "butterfly",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "gartley",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.916,
        "best_completion_status": "forming",
        "nearest_pattern": "butterfly",
        "nearest_prz": 77633.4,
        "price_to_prz": -0.01,
        "prz_range": [
          76798.64,
          78468.15
        ],
        "council_relevant_prz_count": 2,
        "directional_influence_prz_count": 2,
        "confirmed_reaction_prz_count": 1,
        "validated_harmonic_tp_count": 1,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.916,
            "ratio_score": 0.976,
            "prz_score": 0.979,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 79110.35,
            "prz_range": [
              78548.99,
              79671.71
            ],
            "prz_width_pct": 1.419,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.89,
            "price_to_prz_pct_raw": 1.8949,
            "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": 79110.35,
              "a_price": 82460.5,
              "tp1_ad_382": 80390.11,
              "tp2_ad_618": 81180.74,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6139,
              "ABC": 0.5524
            },
            "x_price": 78128.3,
            "x_idx": 200,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 239,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.901,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79756.37,
            "prz_range": [
              79278.16,
              80234.57
            ],
            "prz_width_pct": 1.199,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.73,
            "price_to_prz_pct_raw": 2.7269,
            "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": 79756.37,
              "a_price": 82460.5,
              "tp1_ad_382": 80789.35,
              "tp2_ad_618": 81427.52,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.825
            },
            "x_price": 79137.4,
            "x_idx": 222,
            "x_order": 8,
            "a_price": 82460.5,
            "a_idx": 239,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 243,
            "b_order": 3,
            "c_price": 82098.9,
            "c_idx": 244,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.874,
            "ratio_score": 0.955,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79801.0,
            "prz_range": [
              79278.16,
              80234.57
            ],
            "prz_width_pct": 1.199,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.73,
            "price_to_prz_pct_raw": 2.7269,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "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.826,
                "adverse_move_ratio_ad": 0.409,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_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": "gartley",
              "d_price": 79756.37,
              "a_price": 82460.5,
              "tp1_ad_382": 80789.35,
              "tp2_ad_618": 81427.52,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.825,
              "BCD": 1.3478,
              "XAD": 0.8003
            },
            "x_price": 79137.4,
            "x_idx": 222,
            "x_order": 8,
            "a_price": 82460.5,
            "a_idx": 239,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 243,
            "b_order": 3,
            "c_price": 82098.9,
            "c_idx": 244,
            "c_order": 3,
            "d_idx": 250
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.908,
            "ratio_score": 1.0,
            "prz_score": 0.913,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 75944.97,
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_width_pct": 1.784,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.18,
            "price_to_prz_pct_raw": -2.1822,
            "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": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4209,
              "ABC": 0.4085
            },
            "x_price": 75635.6,
            "x_idx": 165,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 212,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 278,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.902,
            "ratio_score": 1.0,
            "prz_score": 0.927,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 79237.34,
            "prz_range": [
              78560.37,
              79914.31
            ],
            "prz_width_pct": 1.709,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.06,
            "price_to_prz_pct_raw": 2.0584,
            "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": 79237.34,
              "a_price": 82460.5,
              "tp1_ad_382": 80468.59,
              "tp2_ad_618": 81229.25,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.477,
              "ABC": 0.424
            },
            "x_price": 78128.3,
            "x_idx": 200,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 239,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 243,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.856,
            "ratio_score": 0.851,
            "prz_score": 0.968,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 78610.0,
            "prz_range": [
              78472.46,
              79640.89
            ],
            "prz_width_pct": 1.478,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.83,
            "price_to_prz_pct_raw": 1.8257,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.5,
              "reaction_detail": {
                "reaction_score": 0.5,
                "reaction_move_ratio_ad": 0.219,
                "adverse_move_ratio_ad": 0.239,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "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": "bat",
              "d_price": 79056.68,
              "a_price": 82828.7,
              "tp1_ad_382": 80497.59,
              "tp2_ad_618": 81387.79,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5422,
              "ABC": 0.4014,
              "BCD": 2.5454,
              "XAD": 0.8786
            },
            "x_price": 78027.0,
            "x_idx": 193,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 212,
            "a_order": 8,
            "b_price": 80225.1,
            "b_idx": 239,
            "b_order": 5,
            "c_price": 81270.2,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": 267
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.851,
            "ratio_score": 0.927,
            "prz_score": 0.913,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 76014.2,
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_width_pct": 1.784,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.18,
            "price_to_prz_pct_raw": -2.1822,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.266,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "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": "bat",
              "d_price": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3803,
              "ABC": 0.4085,
              "BCD": 2.062,
              "XAD": 0.856
            },
            "x_price": 74868.0,
            "x_idx": 172,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 212,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 278,
            "c_order": 5,
            "d_idx": 285
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.832,
            "ratio_score": 0.799,
            "prz_score": 0.948,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79458.82,
            "prz_range": [
              78827.67,
              80089.98
            ],
            "prz_width_pct": 1.589,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.34,
            "price_to_prz_pct_raw": 2.3437,
            "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": "shark",
              "d_price": 79458.82,
              "a_price": 81043.2,
              "tp1_ad_382": 80064.06,
              "tp2_ad_618": 80437.97,
              "tp3_a_or_structure_liquidity": 81043.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6518,
              "ABC": 1.1827
            },
            "x_price": 79137.4,
            "x_idx": 222,
            "x_order": 8,
            "a_price": 81043.2,
            "a_idx": 232,
            "a_order": 3,
            "b_price": 79801.0,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.851,
            "ratio_score": 0.927,
            "prz_score": 0.913,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 76014.2,
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_width_pct": 1.784,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.18,
            "price_to_prz_pct_raw": -2.1822,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.266,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "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": "bat",
              "d_price": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3803,
              "ABC": 0.4085,
              "BCD": 2.062,
              "XAD": 0.856
            },
            "x_price": 74868.0,
            "x_idx": 172,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 212,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 278,
            "c_order": 5,
            "d_idx": 285
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.916,
            "ratio_score": 0.976,
            "prz_score": 0.979,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 79110.35,
            "prz_range": [
              78548.99,
              79671.71
            ],
            "prz_width_pct": 1.419,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.89,
            "price_to_prz_pct_raw": 1.8949,
            "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": 79110.35,
              "a_price": 82460.5,
              "tp1_ad_382": 80390.11,
              "tp2_ad_618": 81180.74,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6139,
              "ABC": 0.5524
            },
            "x_price": 78128.3,
            "x_idx": 200,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 239,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.916,
            "ratio_score": 0.976,
            "prz_score": 0.979,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 79110.35,
            "prz_range": [
              78548.99,
              79671.71
            ],
            "prz_width_pct": 1.419,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.89,
            "price_to_prz_pct_raw": 1.8949,
            "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": 79110.35,
              "a_price": 82460.5,
              "tp1_ad_382": 80390.11,
              "tp2_ad_618": 81180.74,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6139,
              "ABC": 0.5524
            },
            "x_price": 78128.3,
            "x_idx": 200,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 239,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.901,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79756.37,
            "prz_range": [
              79278.16,
              80234.57
            ],
            "prz_width_pct": 1.199,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.73,
            "price_to_prz_pct_raw": 2.7269,
            "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": 79756.37,
              "a_price": 82460.5,
              "tp1_ad_382": 80789.35,
              "tp2_ad_618": 81427.52,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.825
            },
            "x_price": 79137.4,
            "x_idx": 222,
            "x_order": 8,
            "a_price": 82460.5,
            "a_idx": 239,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 243,
            "b_order": 3,
            "c_price": 82098.9,
            "c_idx": 244,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.874,
            "ratio_score": 0.955,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79801.0,
            "prz_range": [
              79278.16,
              80234.57
            ],
            "prz_width_pct": 1.199,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.73,
            "price_to_prz_pct_raw": 2.7269,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "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.826,
                "adverse_move_ratio_ad": 0.409,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_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": "gartley",
              "d_price": 79756.37,
              "a_price": 82460.5,
              "tp1_ad_382": 80789.35,
              "tp2_ad_618": 81427.52,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.825,
              "BCD": 1.3478,
              "XAD": 0.8003
            },
            "x_price": 79137.4,
            "x_idx": 222,
            "x_order": 8,
            "a_price": 82460.5,
            "a_idx": 239,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 243,
            "b_order": 3,
            "c_price": 82098.9,
            "c_idx": 244,
            "c_order": 3,
            "d_idx": 250
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.908,
            "ratio_score": 1.0,
            "prz_score": 0.913,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 75944.97,
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_width_pct": 1.784,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.18,
            "price_to_prz_pct_raw": -2.1822,
            "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": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4209,
              "ABC": 0.4085
            },
            "x_price": 75635.6,
            "x_idx": 165,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 212,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 278,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.902,
            "ratio_score": 1.0,
            "prz_score": 0.927,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 79237.34,
            "prz_range": [
              78560.37,
              79914.31
            ],
            "prz_width_pct": 1.709,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.06,
            "price_to_prz_pct_raw": 2.0584,
            "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": 79237.34,
              "a_price": 82460.5,
              "tp1_ad_382": 80468.59,
              "tp2_ad_618": 81229.25,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.477,
              "ABC": 0.424
            },
            "x_price": 78128.3,
            "x_idx": 200,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 239,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 243,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.856,
            "ratio_score": 0.851,
            "prz_score": 0.968,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 78610.0,
            "prz_range": [
              78472.46,
              79640.89
            ],
            "prz_width_pct": 1.478,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.83,
            "price_to_prz_pct_raw": 1.8257,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.5,
              "reaction_detail": {
                "reaction_score": 0.5,
                "reaction_move_ratio_ad": 0.219,
                "adverse_move_ratio_ad": 0.239,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "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": "bat",
              "d_price": 79056.68,
              "a_price": 82828.7,
              "tp1_ad_382": 80497.59,
              "tp2_ad_618": 81387.79,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5422,
              "ABC": 0.4014,
              "BCD": 2.5454,
              "XAD": 0.8786
            },
            "x_price": 78027.0,
            "x_idx": 193,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 212,
            "a_order": 8,
            "b_price": 80225.1,
            "b_idx": 239,
            "b_order": 5,
            "c_price": 81270.2,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": 267
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.851,
            "ratio_score": 0.927,
            "prz_score": 0.913,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 76014.2,
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_width_pct": 1.784,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.18,
            "price_to_prz_pct_raw": -2.1822,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.266,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "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": "bat",
              "d_price": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3803,
              "ABC": 0.4085,
              "BCD": 2.062,
              "XAD": 0.856
            },
            "x_price": 74868.0,
            "x_idx": 172,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 212,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 278,
            "c_order": 5,
            "d_idx": 285
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.832,
            "ratio_score": 0.799,
            "prz_score": 0.948,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79458.82,
            "prz_range": [
              78827.67,
              80089.98
            ],
            "prz_width_pct": 1.589,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.34,
            "price_to_prz_pct_raw": 2.3437,
            "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": "shark",
              "d_price": 79458.82,
              "a_price": 81043.2,
              "tp1_ad_382": 80064.06,
              "tp2_ad_618": 80437.97,
              "tp3_a_or_structure_liquidity": 81043.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6518,
              "ABC": 1.1827
            },
            "x_price": 79137.4,
            "x_idx": 222,
            "x_order": 8,
            "a_price": 81043.2,
            "a_idx": 232,
            "a_order": 3,
            "b_price": 79801.0,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.798,
            "ratio_score": 0.748,
            "prz_score": 0.962,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 78610.0,
            "prz_range": [
              78381.03,
              79576.86
            ],
            "prz_width_pct": 1.514,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.73,
            "price_to_prz_pct_raw": 1.7256,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.65,
              "reaction_detail": {
                "reaction_score": 0.65,
                "reaction_move_ratio_ad": 0.239,
                "adverse_move_ratio_ad": 0.262,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "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": "gartley",
              "d_price": 78978.95,
              "a_price": 82460.5,
              "tp1_ad_382": 80308.9,
              "tp2_ad_618": 81130.55,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5999,
              "ABC": 0.8265,
              "BCD": 1.5419,
              "XAD": 0.8685
            },
            "x_price": 78027.0,
            "x_idx": 193,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 239,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 81999.0,
            "c_idx": 262,
            "c_order": 8,
            "d_idx": 267
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.753,
            "ratio_score": 0.48,
            "prz_score": 0.907,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 77813.71,
            "prz_range": [
              77106.13,
              78521.29
            ],
            "prz_width_pct": 1.819,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.22,
            "price_to_prz_pct_raw": 0.2248,
            "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": 77813.71,
              "a_price": 81043.2,
              "tp1_ad_382": 79047.38,
              "tp2_ad_618": 79809.54,
              "tp3_a_or_structure_liquidity": 81043.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4262,
              "ABC": 0.9956
            },
            "x_price": 78128.3,
            "x_idx": 200,
            "x_order": 5,
            "a_price": 81043.2,
            "a_idx": 232,
            "a_order": 3,
            "b_price": 79801.0,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 278,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.639,
            "ratio_score": 0.46,
            "prz_score": 0.908,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 78713.8,
            "prz_range": [
              78651.89,
              80089.91
            ],
            "prz_width_pct": 1.812,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.23,
            "price_to_prz_pct_raw": 2.2304,
            "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": 1.41,
                "adverse_move_ratio_ad": 0.045,
                "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": "shark",
              "d_price": 79370.9,
              "a_price": 81043.2,
              "tp1_ad_382": 80009.72,
              "tp2_ad_618": 80404.38,
              "tp3_a_or_structure_liquidity": 81043.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6518,
              "ABC": 1.1827,
              "BCD": 1.74,
              "XAD": 1.2223
            },
            "x_price": 79137.4,
            "x_idx": 222,
            "x_order": 8,
            "a_price": 81043.2,
            "a_idx": 232,
            "a_order": 3,
            "b_price": 79801.0,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": 256
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.906,
            "ratio_score": 0.997,
            "prz_score": 0.847,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 77633.4,
            "prz_range": [
              76798.64,
              78468.15
            ],
            "prz_width_pct": 2.151,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.01,
            "price_to_prz_pct_raw": -0.0075,
            "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": 77633.4,
              "a_price": 82828.7,
              "tp1_ad_382": 79618.0,
              "tp2_ad_618": 80844.09,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7853,
              "ABC": 0.8023
            },
            "x_price": 78128.3,
            "x_idx": 200,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 212,
            "a_order": 8,
            "b_price": 79137.4,
            "b_idx": 222,
            "b_order": 8,
            "c_price": 82098.9,
            "c_idx": 244,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.916,
            "prz_proximity": "nearby",
            "prz_range": [
              78548.99,
              79671.71
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 1.89,
            "high_confluence_prz": true,
            "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": 79110.35,
              "a_price": 82460.5,
              "tp1_ad_382": 80390.11,
              "tp2_ad_618": 81180.74,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $78,548.99-$79,671.71: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.851,
            "prz_proximity": "nearby",
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -2.18,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.266,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "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": "bat",
              "d_price": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT COMPLETED MEDIUM PRZ $75,267.38-$76,622.56: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "gartley",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.916,
          "ratio_score": 0.976,
          "prz_score": 0.979,
          "prz_proximity": "nearby",
          "action_status": "nearby",
          "high_confluence_prz": true,
          "d_price": 79110.35,
          "prz_range": [
            78548.99,
            79671.71
          ],
          "prz_width_pct": 1.419,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": 1.89,
          "price_to_prz_pct_raw": 1.8949,
          "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": 79110.35,
            "a_price": 82460.5,
            "tp1_ad_382": 80390.11,
            "tp2_ad_618": 81180.74,
            "tp3_a_or_structure_liquidity": 82460.5,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.6139,
            "ABC": 0.5524
          },
          "x_price": 78128.3,
          "x_idx": 200,
          "x_order": 5,
          "a_price": 82460.5,
          "a_idx": 239,
          "a_order": 8,
          "b_price": 79801.0,
          "b_idx": 250,
          "b_order": 3,
          "c_price": 81270.2,
          "c_idx": 254,
          "c_order": 5,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 79110.35,
          "a_price": 82460.5,
          "tp1_ad_382": 80390.11,
          "tp2_ad_618": 81180.74,
          "tp3_a_or_structure_liquidity": 82460.5,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 75944.97,
          "a_price": 82828.7,
          "tp1_ad_382": 78574.55,
          "tp2_ad_618": 80199.11,
          "tp3_a_or_structure_liquidity": 82828.7,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 79110.35,
            "a_price": 82460.5,
            "tp1_ad_382": 80390.11,
            "tp2_ad_618": 81180.74,
            "tp3_a_or_structure_liquidity": 82460.5,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 75944.97,
            "a_price": 82828.7,
            "tp1_ad_382": 78574.55,
            "tp2_ad_618": 80199.11,
            "tp3_a_or_structure_liquidity": 82828.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 75944.97,
            "a_price": 82828.7,
            "tp1_ad_382": 78574.55,
            "tp2_ad_618": 80199.11,
            "tp3_a_or_structure_liquidity": 82828.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "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": "watch",
        "directional_scores": {
          "bullish": 0.383,
          "bearish": 0
        },
        "directional_score_total": 0.383,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.41,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.56,\n  \"setup_signals\": [\n    \"완료된 bullish Bat PRZ $75,267.38-$76,622.56에서 방어 확인: D=$76,014.20, reaction_score=0.95, D_PRZ_failure_zone_defended\",\n    \"현재가 $77,639.20는 방어된 Bat PRZ 상단 $76,622.56 위에서 유지 중이며, Bat TP1 $78,574.55가 아직 미도달\",\n    \"EMA20 $77,386.96 및 EMA240 $77,076.50 위에 재진입해 단기 반등 셋업은 유지되지만 EMA120 $78,498.66 아래라 구조적 확정은 부족\",\n    \"상단에 forming bullish Gartley 고컨플루언스 PRZ $78,548.99-$79,671.71 존재: score=0.916, XAB=0.6139, ABCD/BC_EXT/XAD 3중 컨플루언스이나 아직 미확인\",\n    \"현재가가 low-quality forming Butterfly PRZ $76,798.64-$78,468.15 내부에 있으나 quality=low, pre-confirmation 상태라 방향 투표를 지배할 수 없음\"\n  ],\n  \"reasoning\": \"하모닉 기준으로 가장 유효한 확정 신호는 bullish Bat 완료 패턴이며, PRZ $75,267.38-$76,622.56에서 D=$76,014.20을 만든 뒤 방어가 확인되었고 reaction_score가 0.95로 높습니다. 다만 하모닉은 독립적인 경로 엔진이 아니므로, 이 반응은 medium confluence/tie-breaker 수준이며 confirmed BOS·CHoCH·구조적 acceptance 데이터가 없기 때문에 structure_bias는 neutral로 둡니다. 현재가 $77,639.20는 EMA20 $77,386.96와 EMA240 $77,076.50 위에 있지만 EMA120 $78,498.66 아래에 있어, 반등 셋업은 살아 있으나 추세 확정은 부족합니다. 위쪽으로는 Bat TP1 $78,574.55, forming Gartley PRZ $78,548.99-$79,671.71, 그리고 Bat TP2 $80,199.11이 주요 반응/저항 구간입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      77386.96,\n      77076.5,\n      76622.56,\n      76014.2,\n      75267.38\n    ],\n    \"resistance\": [\n      78468.15,\n      78548.99,\n      79110.35,\n      79671.71,\n      80199.11,\n      82460.5,\n      82828.7\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$75,267.38\",\n  \"risk_scenario\": \"가격이 $76,622.56 아래로 재진입하고 특히 Bat PRZ 하단 $75,267.38을 종가로 이탈하면, confirmed Bat 반등 셋업은 실패로 전환됩니다. 이 경우 $76,014.20 저점 방어 실패가 확인되며, 하모닉 bullish TP ladder($78,574.55, $80,199.11, $82,828.70)는 무효화되고 추가 하락 또는 새로운 bearish 구조 확인을 기다려야 합니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "현재가 $77,639.20은 EMA20 $77,386.96 위지만 EMA120 $78,498.66 아래에 있어 단기 반등은 있으나 구조적 상방 수용은 미확인",
        "상단 $78,000 청산 유동성 19,069 규모가 매우 가까워 단기 스윕 후 거부 가능성 존재",
        "24시간 OI가 -1.63% 감소했는데 가격은 +1.09% 상승하여 신규 롱 유입보다 포지션 언와인딩/숏커버 성격이 강함",
        "롱 계정 비율 0.567, account_long_crowding 0.680으로 여전히 롱 쏠림이 남아 있어 반등 구간에서 역추세 리스크 존재",
        "선물 베이시스가 -0.0501%로 음수이며, 현물 대비 선물이 약해 파생 주도 매수 확신이 낮음",
        "CVD divergence 0.700으로 가격 반등 대비 체결 흐름의 질이 불안정해 4-8시간 내 변동성 확대 가능"
      ],
      "reasoning": "확정 구조는 $76,014.20~$81,999.00의 7일 박스 안에 머물고 있어 아직 명확한 BOS나 CHoCH가 확인되지 않았으므로 neutral로 본다. 다만 셋업 관점에서는 현재가 $77,639.20이 EMA120 $78,498.66 아래에 있고, 바로 위 $78,000에 큰 청산 유동성 19,069가 있어 스윕 후 되밀림이 나올 수 있는 구간이다. 24시간 OI가 -1.63% 감소한 상태에서 가격만 +1.09% 오른 것은 신규 추세 롱보다 숏커버/포지션 축소 성격이 강하며, aggregate_score 0.393과 bear_signals 3개가 하방 셋업을 지지한다. 롱 계정 비율은 0.567로 아직 높고 account_long_crowding 0.680이므로, $78,000~$78,498.66 저항을 돌파 수용하지 못하면 $75,900 및 $76,014.20 재테스트 가능성이 더 크다.",
      "key_levels": {
        "support": [
          76014.2,
          75900,
          74900,
          74300
        ],
        "resistance": [
          78000,
          78498.66,
          80000,
          81999,
          84000
        ]
      },
      "time_horizon": "short term, 파생 포지셔닝 선행성을 반영한 4-8시간 관점",
      "invalidation_level": "$80,000 4시간 종가 상향 안착",
      "risk_scenario": "$78,000 청산 유동성을 흡수한 뒤 EMA120 $78,498.66 위에서 수용되고 OI가 다시 증가하면, 현재의 약한 반등이 신규 롱 유입으로 전환되며 $80,000과 7일 고점 $81,999.00까지 숏 스퀴즈가 확장될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.7,
        "cvd_change": 742.81,
        "oi_trend": 0.337,
        "oi_change_pct_24h": -1.63,
        "oi_latest": 102383.24,
        "funding_pressure": 0.44,
        "funding_avg": 6.032e-05,
        "funding_change_24h": 3.604e-05,
        "long_account_ratio": 0.582,
        "short_account_ratio": 0.418,
        "long_account_latest": 0.567,
        "short_account_latest": 0.433,
        "long_account_change_24h": -0.0272,
        "short_account_change_24h": 0.0272,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 0.68,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.487,
        "spot_futures_basis_pct": -0.0501,
        "basis_change_lookback": -0.0006,
        "aggregate_score": 0.393,
        "bull_signals": 1,
        "bear_signals": 3,
        "liq_below": [
          [
            75900,
            14914.0294918
          ],
          [
            74900,
            14134.49149
          ],
          [
            74300,
            14532.827940000001
          ]
        ],
        "liq_above": [
          [
            78000,
            19069.212384299997
          ],
          [
            80000,
            15764.751792000001
          ],
          [
            84000,
            16184.618125
          ]
        ],
        "strongest_liq_level": 68800,
        "fragility_score": 0.732,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"현재가 $77,639.20은 EMA20 $77,386.96 위지만 EMA120 $78,498.66 아래에 있어 단기 반등은 있으나 구조적 상방 수용은 미확인\",\n    \"상단 $78,000 청산 유동성 19,069 규모가 매우 가까워 단기 스윕 후 거부 가능성 존재\",\n    \"24시간 OI가 -1.63% 감소했는데 가격은 +1.09% 상승하여 신규 롱 유입보다 포지션 언와인딩/숏커버 성격이 강함\",\n    \"롱 계정 비율 0.567, account_long_crowding 0.680으로 여전히 롱 쏠림이 남아 있어 반등 구간에서 역추세 리스크 존재\",\n    \"선물 베이시스가 -0.0501%로 음수이며, 현물 대비 선물이 약해 파생 주도 매수 확신이 낮음\",\n    \"CVD divergence 0.700으로 가격 반등 대비 체결 흐름의 질이 불안정해 4-8시간 내 변동성 확대 가능\"\n  ],\n  \"reasoning\": \"확정 구조는 $76,014.20~$81,999.00의 7일 박스 안에 머물고 있어 아직 명확한 BOS나 CHoCH가 확인되지 않았으므로 neutral로 본다. 다만 셋업 관점에서는 현재가 $77,639.20이 EMA120 $78,498.66 아래에 있고, 바로 위 $78,000에 큰 청산 유동성 19,069가 있어 스윕 후 되밀림이 나올 수 있는 구간이다. 24시간 OI가 -1.63% 감소한 상태에서 가격만 +1.09% 오른 것은 신규 추세 롱보다 숏커버/포지션 축소 성격이 강하며, aggregate_score 0.393과 bear_signals 3개가 하방 셋업을 지지한다. 롱 계정 비율은 0.567로 아직 높고 account_long_crowding 0.680이므로, $78,000~$78,498.66 저항을 돌파 수용하지 못하면 $75,900 및 $76,014.20 재테스트 가능성이 더 크다.\",\n  \"key_levels\": {\n    \"support\": [\n      76014.2,\n      75900,\n      74900,\n      74300\n    ],\n    \"resistance\": [\n      78000,\n      78498.66,\n      80000,\n      81999,\n      84000\n    ]\n  },\n  \"time_horizon\": \"short term, 파생 포지셔닝 선행성을 반영한 4-8시간 관점\",\n  \"invalidation_level\": \"$80,000 4시간 종가 상향 안착\",\n  \"risk_scenario\": \"$78,000 청산 유동성을 흡수한 뒤 EMA120 $78,498.66 위에서 수용되고 OI가 다시 증가하면, 현재의 약한 반등이 신규 롱 유입으로 전환되며 $80,000과 7일 고점 $81,999.00까지 숏 스퀴즈가 확장될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.7,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.64,
      "active_setups": [
        "Wyckoff: 확인된 분배 이후 현재 4시간봉은 재분배 후보 구조로 전환되어 있으며, 단기 LPSY 후보 $77,825.80 바로 아래에서 가격이 머물고 있음",
        "ICT: 최근 구조 이벤트가 $79,137.40 및 $78,713.80 하향 BOS로 연속 확인되어, 해당 레벨 회복 전까지 반등은 구조 회복이 아닌 약세 구조 내부 움직임으로 해석됨",
        "Derivatives: $78,000 상단 청산 유동성 약 19,069 규모가 근접해 있고, 가격 상승에도 24시간 OI가 -1.63% 감소해 신규 추세 롱보다 숏커버 성격이 강함",
        "Fibonacci: 현재가 $77,639.20이 0.618 되돌림 $77,625.65를 테스트 중이며, $77,335.70 EQ 재이탈 전까지 단기 반등 셋업은 유지됨",
        "Harmonic: 완료된 bullish Bat PRZ $75,267.38-$76,622.56 방어가 확인되었고, Bat TP1 $78,574.55가 아직 미도달 상태이나 이는 구조 전환 신호가 아니라 반등 컨플루언스임"
      ],
      "setup_vs_structure": "실행 셋업은 약한 반등 요소가 존재하지만, 더 높은 가중치를 가진 Wyckoff·ICT·파생 포지셔닝이 모두 상단 재공급/약세 구조를 지지해 전체적으로 bearish 쪽이 우세하다. 즉, 단기 반등 조건은 존재하나 구조적 판정과 정렬되는 주 실행 리스크는 여전히 상방 저항 구간에서의 실패 여부다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 3,
      "neutral_count": 2
    },
    "key_levels": {
      "support": [
        77625.65,
        77386.96,
        77335.7,
        77076.5,
        76975.0,
        76107.1,
        76014.2,
        75267.38
      ],
      "resistance": [
        77825.8,
        78000.0,
        78038.46,
        78300.0,
        78498.66,
        78564.0,
        79006.6,
        79137.4,
        79671.71,
        81999.0,
        82828.7
      ]
    },
    "confluences": [
      "EMA120 $78,498.66은 ICT, Candlestick, Harmonic, Derivatives, Wyckoff가 모두 핵심 상단 구조 저항으로 인식하는 고중요 레벨이다.",
      "$77,825.80은 ICT의 전일 고점이자 Wyckoff의 단기 LPSY 후보로 겹치며, 현재가 바로 위의 1차 구조 저항이다.",
      "$78,000 부근은 Derivatives의 대형 상단 청산 유동성 레벨이며, Fibonacci의 $78,038.46 0.786 되돌림과 근접해 단기 상단 반응 구간으로 중첩된다.",
      "$79,006.60은 ICT와 Candlestick이 공유하는 7일 범위 EQ이며, 가격이 이 아래에 있어 구조적으로는 아직 상단 회복보다 할인권 내부 반등으로 해석된다.",
      "$76,014.20은 ICT의 7일 저점, Candlestick의 주요 지지, Derivatives의 박스 하단, Harmonic Bat의 D 포인트가 겹치는 핵심 하단 구조 기준이다.",
      "$77,625.65 Fibonacci 0.618 되돌림과 Harmonic의 활성 butterfly PRZ 중심 $77,633.40이 거의 같은 가격대에 있어, 현재가는 단기 반응이 발생하기 쉬운 정밀 컨플루언스 위에 있다.",
      "Wyckoff와 ICT, Fibonacci는 모두 상위 구조를 bearish로 판정하며, 이는 단기 bullish PRZ/EMA 회복 신호보다 높은 구조 가중치를 가진다."
    ],
    "conflicts": [
      "Harmonic은 완료된 bullish Bat PRZ $75,267.38-$76,622.56 방어와 TP1 $78,574.55 미도달을 근거로 bullish 반등 셋업을 제시하지만, Wyckoff의 확인된 분배/재분배 구조와 ICT의 연속 bearish BOS와는 충돌한다.",
      "Fibonacci와 Candlestick은 현재가가 EMA20 $77,386.96 위에 있고 $77,625.65 0.618 부근을 회복하려는 점을 단기 bullish 셋업으로 보지만, EMA120 $78,498.66 아래라는 점에서는 구조 전환을 인정하지 않는다.",
      "Derivatives는 가격이 +1.09% 상승했음에도 OI가 -1.63% 감소한 것을 숏커버/포지션 축소로 해석해 약세 셋업을 제시하며, 이는 단순 가격 반등을 긍정적으로 보는 Fibonacci·Harmonic 해석과 다르다.",
      "Candlestick은 최근 양봉/보합 흐름과 hammer/doji를 관찰했지만 패턴 품질이 0.555로 낮아 중립으로 남았고, Wyckoff의 높은 적합도 기반 bearish 판정과 강도 면에서 차이가 크다."
    ],
    "executive_summary": "현재 BTC 4시간봉 구조는 이전 분배 사이클이 완료된 뒤, 새 재분배 후보 구조 안에서 LPSY $77,825.80 및 SOW $76,975.00가 확인되는 bearish regime으로 진단된다. ICT의 $79,137.40/$78,713.80 연속 bearish BOS, Wyckoff의 분배 Phase D 해석, 그리고 EMA120 $78,498.66 하회가 같은 구조적 결론을 지지한다. 다만 현재가는 Fibonacci 0.618 $77,625.65와 harmonic 활성 PRZ $77,633.40 부근에 있어 단기 반등 조건은 존재하며, 완료된 bullish Bat PRZ $75,267.38-$76,622.56 방어는 하단 반응 리스크로 남아 있다. 구조적으로 중요한 상단 검증 구간은 $78,498.66-$79,455.00이며, regime-level bearish thesis의 최종 무효화는 $82,828.70 위 수용이다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.7,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.64,\n    \"active_setups\": [\n      \"Wyckoff: 확인된 분배 이후 현재 4시간봉은 재분배 후보 구조로 전환되어 있으며, 단기 LPSY 후보 $77,825.80 바로 아래에서 가격이 머물고 있음\",\n      \"ICT: 최근 구조 이벤트가 $79,137.40 및 $78,713.80 하향 BOS로 연속 확인되어, 해당 레벨 회복 전까지 반등은 구조 회복이 아닌 약세 구조 내부 움직임으로 해석됨\",\n      \"Derivatives: $78,000 상단 청산 유동성 약 19,069 규모가 근접해 있고, 가격 상승에도 24시간 OI가 -1.63% 감소해 신규 추세 롱보다 숏커버 성격이 강함\",\n      \"Fibonacci: 현재가 $77,639.20이 0.618 되돌림 $77,625.65를 테스트 중이며, $77,335.70 EQ 재이탈 전까지 단기 반등 셋업은 유지됨\",\n      \"Harmonic: 완료된 bullish Bat PRZ $75,267.38-$76,622.56 방어가 확인되었고, Bat TP1 $78,574.55가 아직 미도달 상태이나 이는 구조 전환 신호가 아니라 반등 컨플루언스임\"\n    ],\n    \"setup_vs_structure\": \"실행 셋업은 약한 반등 요소가 존재하지만, 더 높은 가중치를 가진 Wyckoff·ICT·파생 포지셔닝이 모두 상단 재공급/약세 구조를 지지해 전체적으로 bearish 쪽이 우세하다. 즉, 단기 반등 조건은 존재하나 구조적 판정과 정렬되는 주 실행 리스크는 여전히 상방 저항 구간에서의 실패 여부다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 3,\n    \"neutral_count\": 2\n  },\n  \"key_levels\": {\n    \"support\": [\n      77625.65,\n      77386.96,\n      77335.7,\n      77076.5,\n      76975.0,\n      76107.1,\n      76014.2,\n      75267.38\n    ],\n    \"resistance\": [\n      77825.8,\n      78000.0,\n      78038.46,\n      78300.0,\n      78498.66,\n      78564.0,\n      79006.6,\n      79137.4,\n      79671.71,\n      81999.0,\n      82828.7\n    ]\n  },\n  \"confluences\": [\n    \"EMA120 $78,498.66은 ICT, Candlestick, Harmonic, Derivatives, Wyckoff가 모두 핵심 상단 구조 저항으로 인식하는 고중요 레벨이다.\",\n    \"$77,825.80은 ICT의 전일 고점이자 Wyckoff의 단기 LPSY 후보로 겹치며, 현재가 바로 위의 1차 구조 저항이다.\",\n    \"$78,000 부근은 Derivatives의 대형 상단 청산 유동성 레벨이며, Fibonacci의 $78,038.46 0.786 되돌림과 근접해 단기 상단 반응 구간으로 중첩된다.\",\n    \"$79,006.60은 ICT와 Candlestick이 공유하는 7일 범위 EQ이며, 가격이 이 아래에 있어 구조적으로는 아직 상단 회복보다 할인권 내부 반등으로 해석된다.\",\n    \"$76,014.20은 ICT의 7일 저점, Candlestick의 주요 지지, Derivatives의 박스 하단, Harmonic Bat의 D 포인트가 겹치는 핵심 하단 구조 기준이다.\",\n    \"$77,625.65 Fibonacci 0.618 되돌림과 Harmonic의 활성 butterfly PRZ 중심 $77,633.40이 거의 같은 가격대에 있어, 현재가는 단기 반응이 발생하기 쉬운 정밀 컨플루언스 위에 있다.\",\n    \"Wyckoff와 ICT, Fibonacci는 모두 상위 구조를 bearish로 판정하며, 이는 단기 bullish PRZ/EMA 회복 신호보다 높은 구조 가중치를 가진다.\"\n  ],\n  \"conflicts\": [\n    \"Harmonic은 완료된 bullish Bat PRZ $75,267.38-$76,622.56 방어와 TP1 $78,574.55 미도달을 근거로 bullish 반등 셋업을 제시하지만, Wyckoff의 확인된 분배/재분배 구조와 ICT의 연속 bearish BOS와는 충돌한다.\",\n    \"Fibonacci와 Candlestick은 현재가가 EMA20 $77,386.96 위에 있고 $77,625.65 0.618 부근을 회복하려는 점을 단기 bullish 셋업으로 보지만, EMA120 $78,498.66 아래라는 점에서는 구조 전환을 인정하지 않는다.\",\n    \"Derivatives는 가격이 +1.09% 상승했음에도 OI가 -1.63% 감소한 것을 숏커버/포지션 축소로 해석해 약세 셋업을 제시하며, 이는 단순 가격 반등을 긍정적으로 보는 Fibonacci·Harmonic 해석과 다르다.\",\n    \"Candlestick은 최근 양봉/보합 흐름과 hammer/doji를 관찰했지만 패턴 품질이 0.555로 낮아 중립으로 남았고, Wyckoff의 높은 적합도 기반 bearish 판정과 강도 면에서 차이가 크다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 확인된 분배 구조 적합도가 매우 높고, 이전 4시간봉 분배 사이클은 BC $78,300.00, AR $73,669.00, UTAD $82,828.70, LPSY $81,270.20로 완성된 뒤 현재는 별도의 재분배 후보 구조로 재편되고 있다. 현재 활성 구조에서는 ST 저점 $76,107.10 이후 LPSY 후보 $77,825.80, SOW $76,975.00가 순차적으로 관찰되어, 단순 반등보다 공급 재출현 구조라는 해석이 가장 정밀하다.\",\n  \"invalidation_level\": \"4시간봉 기준 $82,828.70 UTAD 고점 위 수용 시 현재 bearish 분배/재분배 구조 판정은 무효화된다. 단기적으로는 $79,145.00-$79,455.00 회복 수용 시 약세 구조의 신뢰도가 먼저 약화된다.\",\n  \"executive_summary\": \"현재 BTC 4시간봉 구조는 이전 분배 사이클이 완료된 뒤, 새 재분배 후보 구조 안에서 LPSY $77,825.80 및 SOW $76,975.00가 확인되는 bearish regime으로 진단된다. ICT의 $79,137.40/$78,713.80 연속 bearish BOS, Wyckoff의 분배 Phase D 해석, 그리고 EMA120 $78,498.66 하회가 같은 구조적 결론을 지지한다. 다만 현재가는 Fibonacci 0.618 $77,625.65와 harmonic 활성 PRZ $77,633.40 부근에 있어 단기 반등 조건은 존재하며, 완료된 bullish Bat PRZ $75,267.38-$76,622.56 방어는 하단 반응 리스크로 남아 있다. 구조적으로 중요한 상단 검증 구간은 $78,498.66-$79,455.00이며, regime-level bearish thesis의 최종 무효화는 $82,828.70 위 수용이다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.7,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.62,
    "waypoints": [
      {
        "seq": 1,
        "price": 77950.0,
        "type": "liquidity_sweep",
        "source": "Wyckoff (LPSY 후보 $77,825.80), Derivatives ($78,000 청산 유동성 19,069 규모), Fibonacci ($78,038.46 0.786 되돌림)",
        "description": "Wyckoff LPSY 후보 $77,825.80 위 스톱 흡수 및 Derivatives가 지목한 $78,000 청산 클러스터를 스윕하는 단기 상단 재공급 시도. OI -1.63% 감소 + 가격 +1.09% 상승의 숏커버 성격과 합쳐져 신규 추세 롱 없이 유동성만 청산 후 거부 가능성이 높음. EMA120 $78,498.66·BC $78,300.00 미달 상태에서의 약세 구조 내부 반등.",
        "est_hours": 5.0,
        "turning_zone": [
          77900.0,
          78100.0
        ],
        "likely_wick": 78000.0,
        "rejection_confirm": 77800.0,
        "invalid_overshoot": 78300.0,
        "calibration_reasoning": "Wyckoff LPSY $77,825.80 위 스톱과 $78,000 청산 클러스터·Fib 저항 $78,038.46를 포괄하는 0.29×ATR 폭 밴드. 라운드넘버 $78,000이 가장 강한 자석이며, BC $78,300 돌파 시 단순 스윕이 아닌 추세 반전이므로 invalidate."
      },
      {
        "seq": 2,
        "price": 77076.5,
        "type": "support_test",
        "source": "Candlestick (EMA240 $77,076.50), ICT (할인 영역 내부), Wyckoff (LPSY 이후 1차 되밀림 경로)",
        "description": "LPSY 스윕 거부 후 EMA20 $77,386.96 및 Fibonacci 0.5 EQ $77,335.70 이탈을 거쳐 EMA240 $77,076.50 지지 재시험. ICT 연속 bearish BOS($79,137.40, $78,713.80) 미회복과 setup 신호 ‘$77,335.70 재이탈 시 반등 셋업 종료’ 조건 충족 경로.",
        "est_hours": 13.0,
        "turning_zone": [
          76950.0,
          77120.0
        ],
        "likely_wick": 76975.0,
        "rejection_confirm": 77335.7,
        "invalid_overshoot": 76800.0,
        "calibration_reasoning": "EMA240 $77,076.50와 Fib 0.382 $77,045.75, Wyckoff 핵심 지지 $76,975가 밀집한 0.25×ATR 폭 구간. $76,975 Wyckoff 레벨이 가장 가능성 높은 wick 지점이며, Fib EQ $77,335.70 재탈환이 반등 컨펌, $76,800 이탈 시 다음 waypoint 연장."
      },
      {
        "seq": 3,
        "price": 76014.2,
        "type": "swing_low",
        "source": "ICT (7일 저점 $76,014.20), Harmonic (Bat D=$76,014.20), Derivatives (박스 하단), Candlestick (주요 지지), Wyckoff (SOW $76,975.00 하방 연장)",
        "description": "Wyckoff가 설정한 $76,975.00~$76,107.10 재시험 경로의 연장 도착점이자 다중 에이전트가 공유하는 핵심 하단 구조 기준. 완료된 bullish Bat PRZ 방어 구간 상단이므로 1차 매수 반응이 발생할 수 있으나, 분배 Phase D가 활성화되어 있어 이탈 시 PRZ 내부 $75,267.38까지 확장 위험.",
        "est_hours": 22.0,
        "turning_zone": [
          75700.0,
          76200.0
        ],
        "likely_wick": 76000.0,
        "rejection_confirm": 76975.0,
        "invalid_overshoot": 75267.38,
        "calibration_reasoning": "터미널 waypoint로 0.73×ATR 폭 적용. CONFIRMED_REACTION 상태의 Bat PRZ $76,014.20와 Wyckoff $76,107.10, 라운드넘버 $76,000 자석을 포함. PRZ 실패 시 확장 위험 구간 $75,267.38이 invalidation, Wyckoff $76,975 재탈환이 반등 확정."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 77950.0,
        "expected_low": 77386.96,
        "high_first": true
      },
      "8h": {
        "expected_high": 77980.0,
        "expected_low": 77076.5,
        "high_first": true
      },
      "24h": {
        "expected_high": 78000.0,
        "expected_low": 76014.2,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 78713.8,
        "description": "ICT 두 번째 bearish BOS 레벨 $78,713.80 위 4시간봉 수용. EMA120 $78,498.66 및 Wyckoff BC $78,300.00 동시 회복으로 약세 구조 일부 무효화, $79,137.40 첫 BOS·$79,455.00 ST까지 단기 강세 가속 가능."
      },
      "bearish": {
        "price": 77335.7,
        "description": "Fibonacci 0.5 EQ $77,335.70 및 EMA20 $77,386.96 하향 수용. 단기 반등 셋업 무효화 시그널로 EMA240 $77,076.50과 Wyckoff SOW $76,975.00 즉시 가속 트리거, 박스 하단 $76,014.20까지 추세 가속."
      }
    },
    "scenario_invalidation": 78713.8,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.62,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 77950.0,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Wyckoff (LPSY 후보 $77,825.80), Derivatives ($78,000 청산 유동성 19,069 규모), Fibonacci ($78,038.46 0.786 되돌림)\",\n      \"description\": \"Wyckoff LPSY 후보 $77,825.80 위 스톱 흡수 및 Derivatives가 지목한 $78,000 청산 클러스터를 스윕하는 단기 상단 재공급 시도. OI -1.63% 감소 + 가격 +1.09% 상승의 숏커버 성격과 합쳐져 신규 추세 롱 없이 유동성만 청산 후 거부 가능성이 높음. EMA120 $78,498.66·BC $78,300.00 미달 상태에서의 약세 구조 내부 반등.\"\n    , \"est_hours\": 5.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 77076.5,\n      \"type\": \"support_test\",\n      \"source\": \"Candlestick (EMA240 $77,076.50), ICT (할인 영역 내부), Wyckoff (LPSY 이후 1차 되밀림 경로)\",\n      \"description\": \"LPSY 스윕 거부 후 EMA20 $77,386.96 및 Fibonacci 0.5 EQ $77,335.70 이탈을 거쳐 EMA240 $77,076.50 지지 재시험. ICT 연속 bearish BOS($79,137.40, $78,713.80) 미회복과 setup 신호 ‘$77,335.70 재이탈 시 반등 셋업 종료’ 조건 충족 경로.\"\n    , \"est_hours\": 13.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 76014.2,\n      \"type\": \"swing_low\",\n      \"source\": \"ICT (7일 저점 $76,014.20), Harmonic (Bat D=$76,014.20), Derivatives (박스 하단), Candlestick (주요 지지), Wyckoff (SOW $76,975.00 하방 연장)\",\n      \"description\": \"Wyckoff가 설정한 $76,975.00~$76,107.10 재시험 경로의 연장 도착점이자 다중 에이전트가 공유하는 핵심 하단 구조 기준. 완료된 bullish Bat PRZ 방어 구간 상단이므로 1차 매수 반응이 발생할 수 있으나, 분배 Phase D가 활성화되어 있어 이탈 시 PRZ 내부 $75,267.38까지 확장 위험.\"\n    , \"est_hours\": 22.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 77950.0, \"expected_low\": 77386.96, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 77980.0, \"expected_low\": 77076.5,  \"high_first\": true},\n    \"24h\": {\"expected_high\": 78000.0, \"expected_low\": 76014.2,  \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 78713.8, \"description\": \"ICT 두 번째 bearish BOS 레벨 $78,713.80 위 4시간봉 수용. EMA120 $78,498.66 및 Wyckoff BC $78,300.00 동시 회복으로 약세 구조 일부 무효화, $79,137.40 첫 BOS·$79,455.00 ST까지 단기 강세 가속 가능.\"},\n    \"bearish\": {\"price\": 77335.7, \"description\": \"Fibonacci 0.5 EQ $77,335.70 및 EMA20 $77,386.96 하향 수용. 단기 반등 셋업 무효화 시그널로 EMA240 $77,076.50과 Wyckoff SOW $76,975.00 즉시 가속 트리거, 박스 하단 $76,014.20까지 추세 가속.\"}\n  },\n  \"scenario_invalidation\": 78713.8\n}\n```\n\n24h 경로는 LPSY/$78,000 청산 스윕(4-5h) → EMA20/0.5 EQ 이탈 후 EMA240 지지 재시험(12-14h) → 7일 박스 하단·Bat D $76,014.20 재시험(20-22h) 순의 high-first 약세 시나리오로 설정했고, $78,713.80 위 수용 시 전체 경로 무효화로 처리했습니다."
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 77950.0,
        "turning_zone": [
          77900.0,
          78100.0
        ],
        "likely_wick": 78000.0,
        "rejection_confirm": 77800.0,
        "invalid_overshoot": 78300.0,
        "calibration_reasoning": "Wyckoff LPSY $77,825.80 위 스톱과 $78,000 청산 클러스터·Fib 저항 $78,038.46를 포괄하는 0.29×ATR 폭 밴드. 라운드넘버 $78,000이 가장 강한 자석이며, BC $78,300 돌파 시 단순 스윕이 아닌 추세 반전이므로 invalidate."
      },
      {
        "seq": 2,
        "base_target": 77076.5,
        "turning_zone": [
          76950.0,
          77120.0
        ],
        "likely_wick": 76975.0,
        "rejection_confirm": 77335.7,
        "invalid_overshoot": 76800.0,
        "calibration_reasoning": "EMA240 $77,076.50와 Fib 0.382 $77,045.75, Wyckoff 핵심 지지 $76,975가 밀집한 0.25×ATR 폭 구간. $76,975 Wyckoff 레벨이 가장 가능성 높은 wick 지점이며, Fib EQ $77,335.70 재탈환이 반등 컨펌, $76,800 이탈 시 다음 waypoint 연장."
      },
      {
        "seq": 3,
        "base_target": 76014.2,
        "turning_zone": [
          75700.0,
          76200.0
        ],
        "likely_wick": 76000.0,
        "rejection_confirm": 76975.0,
        "invalid_overshoot": 75267.38,
        "calibration_reasoning": "터미널 waypoint로 0.73×ATR 폭 적용. CONFIRMED_REACTION 상태의 Bat PRZ $76,014.20와 Wyckoff $76,107.10, 라운드넘버 $76,000 자석을 포함. PRZ 실패 시 확장 위험 구간 $75,267.38이 invalidation, Wyckoff $76,975 재탈환이 반등 확정."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 77950.00,\n      \"turning_zone\": [77900.00, 78100.00],\n      \"likely_wick\": 78000.00,\n      \"rejection_confirm\": 77800.00,\n      \"invalid_overshoot\": 78300.00,\n      \"calibration_reasoning\": \"Wyckoff LPSY $77,825.80 위 스톱과 $78,000 청산 클러스터·Fib 저항 $78,038.46를 포괄하는 0.29×ATR 폭 밴드. 라운드넘버 $78,000이 가장 강한 자석이며, BC $78,300 돌파 시 단순 스윕이 아닌 추세 반전이므로 invalidate.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 77076.50,\n      \"turning_zone\": [76950.00, 77120.00],\n      \"likely_wick\": 76975.00,\n      \"rejection_confirm\": 77335.70,\n      \"invalid_overshoot\": 76800.00,\n      \"calibration_reasoning\": \"EMA240 $77,076.50와 Fib 0.382 $77,045.75, Wyckoff 핵심 지지 $76,975가 밀집한 0.25×ATR 폭 구간. $76,975 Wyckoff 레벨이 가장 가능성 높은 wick 지점이며, Fib EQ $77,335.70 재탈환이 반등 컨펌, $76,800 이탈 시 다음 waypoint 연장.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 76014.20,\n      \"turning_zone\": [75700.00, 76200.00],\n      \"likely_wick\": 76000.00,\n      \"rejection_confirm\": 76975.00,\n      \"invalid_overshoot\": 75267.38,\n      \"calibration_reasoning\": \"터미널 waypoint로 0.73×ATR 폭 적용. CONFIRMED_REACTION 상태의 Bat PRZ $76,014.20와 Wyckoff $76,107.10, 라운드넘버 $76,000 자석을 포함. PRZ 실패 시 확장 위험 구간 $75,267.38이 invalidation, Wyckoff $76,975 재탈환이 반등 확정.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 33.0,
      "chairman": 53.1,
      "operating_path": 119.0,
      "tp_calibrator": 36.9
    },
    "agents": {},
    "total_s": 242.0
  }
}