BTC/USDT 4H Council Report

Signal: BEARISH (66%)  |  Price: $59,988.60  |  2026-07-02 09:00 KST  |  300 candles

Council: 1 bullish, 1 neutral, 4 bearish  |  Support: $59,612 / $59,575 / $59,258  |  Resistance: $60,116 / $60,484 / $60,520

result.json   raw.txt   report.md


BTC Chart

Executive Summary

BTC/USDT 4시간 구조는 다수 모델 기준으로 아직 약세이며, 핵심 근거는 $62,232.10 하방 bearish BOS와 EMA120 $62,317.02 및 EMA240 $65,703.69 아래에서의 거래 지속이다. 다만 Wyckoff 관점에서는 $57,758.60 Spring 이후 $59,080.00 레인지 저점을 회복한 Phase C 축적 후보가 존재해, 현재 구조는 ‘약세 우위 속 축적 전환 가능성’이 공존하는 상태다. 현재 위치는 Wyckoff 레인지 EQ $61,665.00 아래이자 ICT EQ $60,484.10 아래로, 아직 SOS나 상단 수용이 확인되지 않은 초기 회복 구간이다. 구조적 위험은 $60,520.00 이전일 고가 재하회에 따른 실패 돌파 조건, $60,116.36-$60,758 저항 반응, 그리고 롱 포지셔닝 혼잡이다. 약세 구조의 무효화는 $62,232.10-$62,317.02 구간의 4시간 수용이며, 반대로 $59,080.00 및 $57,758.60 훼손은 Wyckoff 축적 후보를 약화시킨다.

Confluences

Conflicts


Agent Matrix

AgentSignalConfidenceSupportResistance
Wyckoff ExpertNEUTRAL58%$59,080 / $57,759$61,665 / $62,317
ICT TraderBEARISH78%$59,575 / $57,759$60,484 / $60,520
Derivatives TraderBEARISH58%$58,900 / $58,800$60,700 / $61,500
Candlestick ReaderBULLISH62%$59,845 / $59,575$61,931 / $62,317
Fibonacci AnalystBEARISH58%$59,612 / $59,258$60,116 / $60,758
Harmonic SpecialistNEUTRAL46%$59,591 / $59,060$60,021 / $60,711

Agent Details

Wyckoff Expert — NEUTRAL (58%)

Support: $59,080 / $57,759 | Resistance: $61,665 / $62,317 / $64,250 | Horizon: medium term

지표상 regime은 ACC이고 acc_score 85.0, regime_fitness 0.850으로 축적 구조 우위가 확인되지만, dis_score도 81.2로 높아 완전한 단정은 피해야 한다. 현재 활성 구조는 SC $59,080.00 → AR $64,250.00 → ST $63,650.00 → Spring $57,758.60의 Phase C 축적 후보이며, 현재가 $59,988.60은 Spring 이후 메인 레인지 저점 $59,080.00을 회복한 상태다. 다만 아직 SOS, LPS, BU가 검출되지 않았고 $61,665.00 EQ 및 EMA120 $62,317.02 위 수용도 확인되지 않아 구조적 편향은 bullish이나 즉시 신호는 중립에 가깝다. 단기적으로는 $59,080.00 유지 여부가 핵심이며, 위로는 $61,665.00~$62,317.02 회복이 Spring 확인 강도를 높이는 첫 관문이다.
ICT Trader — BEARISH (78%)

Support: $59,575 / $57,759 | Resistance: $60,484 / $60,520 / $62,232 | Horizon: medium term

확정 구조는 bearish입니다. BOS 시퀀스가 bearish → bearish → bearish → bullish → bearish로 끝났고, 가장 최근 핵심 bearish BOS 레벨은 $62,232.10입니다. 현재가는 $59,988.60으로 EQ $60,484.10 아래 discount에 있지만, 이전일 고가 $60,520.00을 이미 돌파한 뒤 재하회하고 있어 단기적으로 buy-side liquidity를 소화한 후 하방 재개 가능성이 큽니다. 활성 bullish OB, 미충족 FVG가 없고, 하방에는 previous day low이자 range low인 $57,758.60이 명확한 유동성 목표로 남아 있습니다.
Derivatives Trader — BEARISH (58%)

Support: $58,900 / $58,800 / $57,759 | Resistance: $60,700 / $61,500 / $61,931 | Horizon: short term, 4-8시간

현재 BTC는 $59,988.60으로 EMA20 $59,574.84는 회복했지만, EMA120 $62,317.02와 EMA240 $65,703.69를 크게 하회하고 있어 확인된 구조는 아직 약세입니다. 파생 포지셔닝은 24시간 OI -3.7140% 감소로 상승 돌파를 뒷받침하는 신규 포지션 증가가 아니라 숏커버 또는 포지션 축소에 가깝습니다. 롱 계정 비율이 0.645이고 account_long_crowding이 1.000이라 반등 구간에서 롱이 혼잡하며, 베이시스도 -0.0590%로 약해 추격 매수의 질이 좋지 않습니다. 다만 CVD divergence 0.700과 CVD 변화 +$8,777.46은 매수 참여가 일부 살아 있음을 보여주므로, $60,700 청산 유동성 스윕 후 $61,500~$61,931 부근에서 반락하는 시나리오가 더 우세합니다.
Candlestick Reader — BULLISH (62%)

Support: $59,845 / $59,575 / $57,759 | Resistance: $61,931 / $62,317 / $65,704 | Horizon: short term

최근 5개 캔들 안에서 strict 등급의 bullish engulfing이 2회 발생했고, 두 패턴 모두 고거래량으로 확인되어 단기 매수 반전 시그널의 신뢰도가 높습니다. 현재 BTC는 $59,988.60으로 EMA20 $59,574.84 위에 있으며, 7일 범위의 중간값인 약 $59,844.85도 소폭 상회해 단기 setup은 bullish입니다. 다만 가격은 EMA120 $62,317.02보다 3.7%, EMA240 $65,703.69보다 8.7% 낮아 중기 구조는 아직 bearish이며, $61,931.10~$62,317.02 저항대를 돌파해야 구조적 전환을 말할 수 있습니다. 마지막 캔들에 doji가 감지되어 $60,000 부근에서는 추격 매수보다 눌림 확인이 중요합니다.
Fibonacci Analyst — BEARISH (58%)

Support: $59,612 / $59,258 / $58,904 | Resistance: $60,116 / $60,758 / $61,931 | Horizon: short term

확인된 구조는 High $60,758 → Low $57,759의 하락 스윙 기준이며, 현재가는 EMA120 $62,317.02와 EMA240 $65,703.69 아래에 있어 구조_bias는 bearish로 판단한다. 단기적으로는 가격이 골든비율 ret_0.618 $59,612.41을 회복했지만, ret_0.786 $60,116.36 저항까지 0.21%만 남아 있어 프리미엄 구간에서 저항 테스트 중이다. Fibonacci reaction_state가 testing이고 reaction_probability가 0.65로 제시되어, $60,116.36 부근에서 거부되면 $59,612.41, $59,258.45, $58,904.49 순으로 되돌림 가능성이 높다. 다만 $60,116.36을 명확히 돌파하면 약세 셋업은 약화되며, $60,758 스윙 고점 재시험으로 전환될 수 있다.
Harmonic Specialist — NEUTRAL (46%)

Support: $59,591 / $59,060 / $58,407 | Resistance: $60,021 / $60,711 / $61,139 | Horizon: short to medium term

하모닉 스캔상 총 149개 패턴, 완성 58개, 형성 D-PRZ 91개가 있으나 실제 의사결정에 반영 가능한 council_relevant_prz_count는 0이며 actionable_patterns_list도 비어 있다. $58,406.59-$59,590.72의 bullish Butterfly는 PRZ 터치와 방어 후 반응이 확인되어 TP1 $62,152.73, TP2 $64,101.32를 제공하지만 low quality라 보조 컨텍스트에 그친다. 반대로 $60,710.58-$61,637.48 및 $60,715.71-$61,637.48 부근에는 bearish Gartley PRZ가 있고, 현재가 $59,988.60에서 바로 위 저항대로 작동할 수 있어 단기 setup_bias는 약한 bearish로 본다. 다만 bullish Bat/Shark/Gartley 형성 PRZ도 $60,602.82-$62,153.24에 다수 겹치므로, 하모닉 단독으로는 방향을 확정할 수 없어 최종 신호는 neutral이다.

Operating Path — complex (60%)

#PriceTypeSourceEst. HoursDescription
1$60,700liquidity_sweepDerivatives(상단 청산 유동성 $60,700), Harmonic(bearish Gartley PRZ 하단 $60,710.58), Fibonacci(스윙 고점권 $60,758), ICT(이전일 고가 $60,520 상단 매수 유동성)3캔들스틱 고거래량 bullish engulfing 2회 + Wyckoff Spring 회복 + CVD divergence 0.7이 지지하는 단기 반등이 이전일 고가 $60,520 위 정지주문(buy-side liquidity)을 스윕. $60,700 청산 유동성 · bearish Gartley PRZ 하단 $60,710.58 · 스윙 고점 $60,758 저항 클러스터에서 거부 예상. 24h OI -3.71% 감소로 반등 질이 약해 종가 수용보다 스윕성 고점 확률이 높음.
2$59,080support_testWyckoff(메인 레인지 저점/SC $59,080), Fibonacci(EMA20 $59,574.84 · ret_0.618 $59,612.41 · ret_0.5 $59,258.45 경유), Chairman 지지 클러스터11$60,700 거부 후 ICT 약세 연속성($62,232.10 bearish BOS 하방 구조) 재개. EMA20 $59,574.84 / fib 0.618 $59,612.41 지지 클러스터를 이탈하며 Wyckoff 메인 레인지 저점 $59,080까지 하락. 이 레벨 유지 여부가 Phase C 축적 후보 존속을 좌우하는 핵심 관문으로, 여기서 1차 반응(눌림/반등 시도) 예상.
3$57,759swing_lowWyckoff(Spring 저점 $57,758.60), ICT(previous day low·range low), Fibonacci(확장 지지·WP1 후보 테이블 유일 랭크), Candlestick(7일 저점)21$59,080 이탈로 축적 후보 무효화 시 다중 모델이 공통 지목한 핵심 구조 저점 $57,758.60(Spring 저점=이전일 저점=레인지 저점=7일 저점)로 하방 유동성 스윕. WP1 후보 테이블의 유일 랭크 레벨(3.72% 거리)이자 주요 매도 유동성 목표. 이 지점 secondary test 성공 시 축적 재점화 가능성이 있어 최종 목표로 설정.

Period Extremes

HorizonExpected LowExpected HighSequence
4h$59,989$60,700High first
8h$59,575$60,700High first
24h$57,759$60,700High first

Triggers

Invalidation: $61,931

Raw Operating Path Response
```json
{
  "path_type": "complex",
  "confidence": 0.6,
  "waypoints": [
    {
      "seq": 1,
      "price": 60700,
      "type": "liquidity_sweep",
      "source": "Derivatives(상단 청산 유동성 $60,700), Harmonic(bearish Gartley PRZ 하단 $60,710.58), Fibonacci(스윙 고점권 $60,758), ICT(이전일 고가 $60,520 상단 매수 유동성)",
      "description": "캔들스틱 고거래량 bullish engulfing 2회 + Wyckoff Spring 회복 + CVD divergence 0.7이 지지하는 단기 반등이 이전일 고가 $60,520 위 정지주문(buy-side liquidity)을 스윕. $60,700 청산 유동성 · bearish Gartley PRZ 하단 $60,710.58 · 스윙 고점 $60,758 저항 클러스터에서 거부 예상. 24h OI -3.71% 감소로 반등 질이 약해 종가 수용보다 스윕성 고점 확률이 높음.",
      "est_hours": 3
    },
    {
      "seq": 2,
      "price": 59080.0,
      "type": "support_test",
      "source": "Wyckoff(메인 레인지 저점/SC $59,080), Fibonacci(EMA20 $59,574.84 · ret_0.618 $59,612.41 · ret_0.5 $59,258.45 경유), Chairman 지지 클러스터",
      "description": "$60,700 거부 후 ICT 약세 연속성($62,232.10 bearish BOS 하방 구조) 재개. EMA20 $59,574.84 / fib 0.618 $59,612.41 지지 클러스터를 이탈하며 Wyckoff 메인 레인지 저점 $59,080까지 하락. 이 레벨 유지 여부가 Phase C 축적 후보 존속을 좌우하는 핵심 관문으로, 여기서 1차 반응(눌림/반등 시도) 예상.",
      "est_hours": 11
    },
    {
      "seq": 3,
      "price": 57758.6,
      "type": "swing_low",
      "source": "Wyckoff(Spring 저점 $57,758.60), ICT(previous day low·range low), Fibonacci(확장 지지·WP1 후보 테이블 유일 랭크), Candlestick(7일 저점)",
      "description": "$59,080 이탈로 축적 후보 무효화 시 다중 모델이 공통 지목한 핵심 구조 저점 $57,758.60(Spring 저점=이전일 저점=레인지 저점=7일 저점)로 하방 유동성 스윕. WP1 후보 테이블의 유일 랭크 레벨(3.72% 거리)이자 주요 매도 유동성 목표. 이 지점 secondary test 성공 시 축적 재점화 가능성이 있어 최종 목표로 설정.",
      "est_hours": 21
    }
  ],
  "period_extremes": {
    "4h":  {"expected_high": 60700, "expected_low": 59988.6, "high_first": true},
    "8h":  {"expected_high": 60700, "expected_low": 59574.84, "high_first": true},
    "24h": {"expected_high": 60700, "expected_low": 57758.6, "high_first": true}
  },
  "triggers": {
    "bullish": {"price": 60758, "description": "4h 종가 기준 $60,520-$60,758 공급대 위 수용(단순 스윕 아닌 마감)시 ICT 약세 연속 시나리오 약화. $61,665 Wyckoff 레인지 EQ 재시험으로 전환되며 상방 가속(SOS 1차 관문)."},
    "bearish": {"price": 59080, "description": "$59,080 Wyckoff 메인 레인지 저점/SC 하회 시 Spring 축적 후보 무효화. EMA20·fib 0.618 지지 상실과 함께 $57,758.60 향한 하방 가속 확정."}
  },
  "scenario_invalidation": 61931.1
}
```

Raw Chairman Response
{
  "overall_signal": "bearish",
  "overall_confidence": 0.66,
  "execution_setup": {
    "setup_bias": "bearish",
    "setup_strength": 0.73,
    "active_setups": [
      "ICT 기준 최근 확정 구조가 $62,232.10 하방 이탈로 마감되어 4시간 구조는 아직 약세",
      "이전일 고가 $60,520.00을 상향 돌파한 뒤 현재 $59,988.60으로 재하회하여 단기 매수 유동성 소화 조건",
      "현재가가 Fibonacci ret_0.786 저항 $60,116.36에 0.21% 근접해 프리미엄 저항 반응 구간",
      "파생시장 24시간 미결제약정이 3.714% 감소해 반등이 신규 레버리지 유입보다 포지션 축소 성격",
      "롱 계정 비율 0.645로 롱 포지셔닝 혼잡도가 높아 반등 구간의 취약성 존재",
      "반대 조건으로는 $57,758.60 Spring 이후 $59,080.00 레인지 저점 회복과 고거래량 bullish engulfing 2회가 단기 수요를 지지"
    ],
    "setup_vs_structure": "구조적 판정과 실행 셋업은 대체로 약세로 정렬되어 있다. 다만 Wyckoff의 Phase C Spring 후보와 캔들 반전 신호가 존재하므로, 즉시 약세 구조로 단정하기보다 $59,080.00 회복 유지 여부와 $60,520.00 재수용 실패 여부를 함께 감시해야 한다."
  },
  "signal_breakdown": {
    "bullish_count": 1,
    "bearish_count": 4,
    "neutral_count": 1
  },
  "key_levels": {
    "support": [
      59612.41,
      59574.84,
      59258.45,
      59080.0,
      58904.49,
      57758.6
    ],
    "resistance": [
      60116.36,
      60484.1,
      60520.0,
      60700.0,
      61665.0,
      61931.1,
      62317.02
    ]
  },
  "confluences": [
    "Fibonacci의 ret_0.618 $59,612.41, Candlestick/ICT의 EMA20 $59,574.84가 $59.57k-$59.61k 단기 지지 클러스터를 형성한다.",
    "Wyckoff의 Spring 저점, ICT의 previous day low 및 range low, Candlestick의 7일 저점, Fibonacci 확장 지지가 모두 $57,758.60 부근을 핵심 구조 저점으로 지목한다.",
    "ICT의 이전일 고가 $60,520.00, Derivatives의 상단 청산 유동성 $60,700, Harmonic의 bearish Gartley PRZ 하단 $60,710.58, Fibonacci의 스윙 고점권 $60,758이 $60.5k-$60.8k 저항/유동성 구간으로 겹친다.",
    "Wyckoff range EQ $61,665.00, Harmonic PRZ $60,715.71-$61,637.48, Derivatives 저항 $61,500, Fibonacci/Candlestick 저항 $61,931.10이 $61.5k-$61.9k 상위 공급 구간을 구성한다.",
    "Fibonacci, Candlestick, Derivatives, Harmonic 모두 현재가가 EMA120 $62,317.02와 EMA240 $65,703.69 아래에 있다는 점을 중기 약세 구조 근거로 공유한다.",
    "ICT의 핵심 bearish BOS 레벨 $62,232.10과 EMA120 $62,317.02가 거의 동일 구간에 있어, $62.2k-$62.3k는 구조 전환 판단의 핵심 관문이다."
  ],
  "conflicts": [
    "Wyckoff는 $57,758.60 Spring 이후 $59,080.00 레인지 저점 회복을 근거로 Phase C 축적 후보를 제시하지만, ICT는 최근 확정 구조를 $62,232.10 하방 bearish BOS로 해석해 구조적 약세를 우선한다.",
    "Candlestick은 고거래량 strict bullish engulfing 2회를 근거로 단기 매수 반전을 제시하지만, Derivatives는 미결제약정 감소와 롱 계정 혼잡을 근거로 반등의 질이 약하다고 본다.",
    "Harmonic은 $58,406.59-$59,590.72 bullish Butterfly 반응과 $60,710.58-$61,637.48 bearish Gartley 반응이 공존해 방향성 결론을 보류하고 있으며, 단독 구조 판단 근거로는 낮게 가중해야 한다.",
    "현재가는 Wyckoff 관점에서는 레인지 EQ $61,665.00 아래 할인 구간이지만, Fibonacci 관점에서는 하락 스윙의 0.5 되돌림 $59,258.45 위 프리미엄 구간으로 해석되어 위치 평가가 충돌한다."
  ],
  "highest_conviction_analyst": "ICT Trader — 신뢰도 78%로 가장 높고, 최근 구조가 $62,232.10 하방 bearish BOS로 확정되었다는 명확한 구조 근거를 제시한다. 또한 이전일 고가 $60,520.00 상향 돌파 후 재하회, EQ $60,484.10 미회복, 하단 유동성 $57,758.60 등 가격 레벨이 정밀하게 정렬되어 있어 구조 판정 가중치가 가장 높다.",
  "invalidation_level": "$62,317.02 상방 4시간 수용. 특히 ICT bearish BOS 레벨 $62,232.10을 회복하고 EMA120 $62,317.02 위에서 유지되면 현재 약세 구조 판정은 훼손된다.",
  "executive_summary": "BTC/USDT 4시간 구조는 다수 모델 기준으로 아직 약세이며, 핵심 근거는 $62,232.10 하방 bearish BOS와 EMA120 $62,317.02 및 EMA240 $65,703.69 아래에서의 거래 지속이다. 다만 Wyckoff 관점에서는 $57,758.60 Spring 이후 $59,080.00 레인지 저점을 회복한 Phase C 축적 후보가 존재해, 현재 구조는 ‘약세 우위 속 축적 전환 가능성’이 공존하는 상태다. 현재 위치는 Wyckoff 레인지 EQ $61,665.00 아래이자 ICT EQ $60,484.10 아래로, 아직 SOS나 상단 수용이 확인되지 않은 초기 회복 구간이다. 구조적 위험은 $60,520.00 이전일 고가 재하회에 따른 실패 돌파 조건, $60,116.36-$60,758 저항 반응, 그리고 롱 포지셔닝 혼잡이다. 약세 구조의 무효화는 $62,232.10-$62,317.02 구간의 4시간 수용이며, 반대로 $59,080.00 및 $57,758.60 훼손은 Wyckoff 축적 후보를 약화시킨다."
}
Full Result JSON
{
  "symbol": "BTC/USDT",
  "timeframe": "4h",
  "timestamp": "2026-07-02 09:00 KST",
  "last_price": 59988.6,
  "num_candles": 300,
  "stage1_analyses": {
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $59,988.60은 EQ/0.5 되돌림 $59,258.45 위의 프리미엄 구간에 위치",
        "가격이 ret_0.786 저항 $60,116.36까지 0.21% 거리로 근접해 단기 매도 반응 가능 구간",
        "핵심 골든비율 ret_0.618 $59,612.41 위에서 거래 중이나, 이탈 시 $59,258.45와 $58,904.49로 되돌림 압력 확대 가능",
        "EMA120 $62,317.02 및 EMA240 $65,703.69 아래에 있어 상위 구조는 아직 약세 우위",
        "하단 $57,758.60에는 ext_1.0 중복 confluence zone이 있어 하락 시 유동성 재테스트 후보"
      ],
      "reasoning": "확인된 구조는 High $60,758 → Low $57,759의 하락 스윙 기준이며, 현재가는 EMA120 $62,317.02와 EMA240 $65,703.69 아래에 있어 구조_bias는 bearish로 판단한다. 단기적으로는 가격이 골든비율 ret_0.618 $59,612.41을 회복했지만, ret_0.786 $60,116.36 저항까지 0.21%만 남아 있어 프리미엄 구간에서 저항 테스트 중이다. Fibonacci reaction_state가 testing이고 reaction_probability가 0.65로 제시되어, $60,116.36 부근에서 거부되면 $59,612.41, $59,258.45, $58,904.49 순으로 되돌림 가능성이 높다. 다만 $60,116.36을 명확히 돌파하면 약세 셋업은 약화되며, $60,758 스윙 고점 재시험으로 전환될 수 있다.",
      "key_levels": {
        "support": [
          59612.41,
          59258.45,
          58904.49,
          57758.6,
          56942.68
        ],
        "resistance": [
          60116.36,
          60758,
          61931.1
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,116.36 4시간봉 종가 상향 돌파",
      "risk_scenario": "반대 시나리오로 $60,116.36 ret_0.786을 돌파하고 지지로 전환하면, 현재 약세 되돌림 셋업은 실패하며 $60,758 스윙 고점 및 7일 고점 $61,931.10까지 숏 커버링성 상승이 이어질 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "High→Low: $60,758 → $57,759",
        "direction": "down",
        "nearest_fib": "ret_0.786",
        "nearest_fib_price": 60116.36,
        "nearest_fib_distance": 0.21,
        "golden_ratio_level": 59612.41,
        "fib_ret_382": 58904.49,
        "fib_ret_618": 59612.41,
        "confluence_zones": [
          {
            "price": 57758.6,
            "count": 2,
            "levels": [
              "ext_1.0",
              "ext_1.0"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          59612.414600000004,
          59258.45,
          58904.4854
        ],
        "resistance_levels": [
          60116.3642
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 58466.53,
            "distance_pct": 2.54,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.382",
            "price": 58904.49,
            "distance_pct": 1.81,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.5",
            "price": 59258.45,
            "distance_pct": 1.22,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.618",
            "price": 59612.41,
            "distance_pct": 0.63,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.786",
            "price": 60116.36,
            "distance_pct": 0.21,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 57758.6,
            "distance_pct": 3.72,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.272",
            "price": 56942.68,
            "distance_pct": 5.08,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.414",
            "price": 56516.72,
            "distance_pct": 5.79,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.618",
            "price": 55904.79,
            "distance_pct": 6.81,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 54758.9,
            "distance_pct": 8.72,
            "is_support": true,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $59,988.60은 EQ/0.5 되돌림 $59,258.45 위의 프리미엄 구간에 위치\",\n    \"가격이 ret_0.786 저항 $60,116.36까지 0.21% 거리로 근접해 단기 매도 반응 가능 구간\",\n    \"핵심 골든비율 ret_0.618 $59,612.41 위에서 거래 중이나, 이탈 시 $59,258.45와 $58,904.49로 되돌림 압력 확대 가능\",\n    \"EMA120 $62,317.02 및 EMA240 $65,703.69 아래에 있어 상위 구조는 아직 약세 우위\",\n    \"하단 $57,758.60에는 ext_1.0 중복 confluence zone이 있어 하락 시 유동성 재테스트 후보\"\n  ],\n  \"reasoning\": \"확인된 구조는 High $60,758 → Low $57,759의 하락 스윙 기준이며, 현재가는 EMA120 $62,317.02와 EMA240 $65,703.69 아래에 있어 구조_bias는 bearish로 판단한다. 단기적으로는 가격이 골든비율 ret_0.618 $59,612.41을 회복했지만, ret_0.786 $60,116.36 저항까지 0.21%만 남아 있어 프리미엄 구간에서 저항 테스트 중이다. Fibonacci reaction_state가 testing이고 reaction_probability가 0.65로 제시되어, $60,116.36 부근에서 거부되면 $59,612.41, $59,258.45, $58,904.49 순으로 되돌림 가능성이 높다. 다만 $60,116.36을 명확히 돌파하면 약세 셋업은 약화되며, $60,758 스윙 고점 재시험으로 전환될 수 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      59612.41,\n      59258.45,\n      58904.49,\n      57758.6,\n      56942.68\n    ],\n    \"resistance\": [\n      60116.36,\n      60758,\n      61931.1\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,116.36 4시간봉 종가 상향 돌파\",\n  \"risk_scenario\": \"반대 시나리오로 $60,116.36 ret_0.786을 돌파하고 지지로 전환하면, 현재 약세 되돌림 셋업은 실패하며 $60,758 스윙 고점 및 7일 고점 $61,931.10까지 숏 커버링성 상승이 이어질 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bullish",
      "confidence": 0.62,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.64,
      "setup_signals": [
        "고거래량 strict bullish_engulfing 2회 감지: index 294, 297",
        "현재가 $59,988.60이 EMA20 $59,574.84 위에서 유지 중",
        "7일 저점 $57,758.60 부근 반등 이후 단기 매수 캔들 우위",
        "7일 EQ 약 $59,844.85 상단에 가격이 안착 시도 중",
        "장기 저항 EMA120 $62,317.02 및 7일 고점 $61,931.10 미돌파로 구조 전환은 아직 미확정"
      ],
      "reasoning": "최근 5개 캔들 안에서 strict 등급의 bullish engulfing이 2회 발생했고, 두 패턴 모두 고거래량으로 확인되어 단기 매수 반전 시그널의 신뢰도가 높습니다. 현재 BTC는 $59,988.60으로 EMA20 $59,574.84 위에 있으며, 7일 범위의 중간값인 약 $59,844.85도 소폭 상회해 단기 setup은 bullish입니다. 다만 가격은 EMA120 $62,317.02보다 3.7%, EMA240 $65,703.69보다 8.7% 낮아 중기 구조는 아직 bearish이며, $61,931.10~$62,317.02 저항대를 돌파해야 구조적 전환을 말할 수 있습니다. 마지막 캔들에 doji가 감지되어 $60,000 부근에서는 추격 매수보다 눌림 확인이 중요합니다.",
      "key_levels": {
        "support": [
          59844.85,
          59574.84,
          57758.6
        ],
        "resistance": [
          61931.1,
          62317.02,
          65703.69
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "57758.60",
      "risk_scenario": "$59,574.84 EMA20을 이탈하고 특히 $57,758.60 7일 저점을 하향 돌파하면 최근 bullish engulfing 기반의 반등 setup은 실패로 간주됩니다. 이 경우 단기 매수세는 흡수된 것으로 해석되며, 가격은 다시 EMA120 $62,317.02 아래의 bearish 구조 안에서 하방 재개 가능성이 커집니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 140,
        "recent_patterns": 4,
        "pattern_list": [
          "bullish_engulfing@294",
          "bullish_engulfing@297",
          "doji@299",
          "bearish_harami@293"
        ],
        "atr_value": 953.9,
        "vol_avg_20": 36910.13,
        "high_volume_patterns": [
          "bullish_engulfing",
          "bullish_engulfing"
        ],
        "pattern_candidates": [
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.786,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.693,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "bearish_harami",
            "signal": "bearish",
            "pattern_quality": 0.383,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.786,
        "bull_score": 1.7,
        "bear_score": 0.6
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.64,\n  \"setup_signals\": [\n    \"고거래량 strict bullish_engulfing 2회 감지: index 294, 297\",\n    \"현재가 $59,988.60이 EMA20 $59,574.84 위에서 유지 중\",\n    \"7일 저점 $57,758.60 부근 반등 이후 단기 매수 캔들 우위\",\n    \"7일 EQ 약 $59,844.85 상단에 가격이 안착 시도 중\",\n    \"장기 저항 EMA120 $62,317.02 및 7일 고점 $61,931.10 미돌파로 구조 전환은 아직 미확정\"\n  ],\n  \"reasoning\": \"최근 5개 캔들 안에서 strict 등급의 bullish engulfing이 2회 발생했고, 두 패턴 모두 고거래량으로 확인되어 단기 매수 반전 시그널의 신뢰도가 높습니다. 현재 BTC는 $59,988.60으로 EMA20 $59,574.84 위에 있으며, 7일 범위의 중간값인 약 $59,844.85도 소폭 상회해 단기 setup은 bullish입니다. 다만 가격은 EMA120 $62,317.02보다 3.7%, EMA240 $65,703.69보다 8.7% 낮아 중기 구조는 아직 bearish이며, $61,931.10~$62,317.02 저항대를 돌파해야 구조적 전환을 말할 수 있습니다. 마지막 캔들에 doji가 감지되어 $60,000 부근에서는 추격 매수보다 눌림 확인이 중요합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59844.85,\n      59574.84,\n      57758.6\n    ],\n    \"resistance\": [\n      61931.1,\n      62317.02,\n      65703.69\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"57758.60\",\n  \"risk_scenario\": \"$59,574.84 EMA20을 이탈하고 특히 $57,758.60 7일 저점을 하향 돌파하면 최근 bullish engulfing 기반의 반등 setup은 실패로 간주됩니다. 이 경우 단기 매수세는 흡수된 것으로 해석되며, 가격은 다시 EMA120 $62,317.02 아래의 bearish 구조 안에서 하방 재개 가능성이 커집니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "neutral",
      "confidence": 0.58,
      "structure_bias": "bullish",
      "setup_bias": "bullish",
      "setup_score": 0.62,
      "setup_signals": [
        "Phase C Spring 후보: $57,758.60에서 메인 레인지 저점 $59,080.00 하향 이탈 후 현재가 $59,988.60으로 재진입",
        "현재가 $59,988.60은 레인지 EQ 약 $61,665.00 아래의 할인 구간에 위치",
        "SC $59,080.00 재상승 회복은 단기 수요 반응이지만, 아직 SOS 또는 AR 고점 $64,250.00 상단 수용은 미확인",
        "EMA120 $62,317.02와 레인지 EQ $61,665.00이 위쪽 즉시 검증 저항으로 남아 있음"
      ],
      "reasoning": "지표상 regime은 ACC이고 acc_score 85.0, regime_fitness 0.850으로 축적 구조 우위가 확인되지만, dis_score도 81.2로 높아 완전한 단정은 피해야 한다. 현재 활성 구조는 SC $59,080.00 → AR $64,250.00 → ST $63,650.00 → Spring $57,758.60의 Phase C 축적 후보이며, 현재가 $59,988.60은 Spring 이후 메인 레인지 저점 $59,080.00을 회복한 상태다. 다만 아직 SOS, LPS, BU가 검출되지 않았고 $61,665.00 EQ 및 EMA120 $62,317.02 위 수용도 확인되지 않아 구조적 편향은 bullish이나 즉시 신호는 중립에 가깝다. 단기적으로는 $59,080.00 유지 여부가 핵심이며, 위로는 $61,665.00~$62,317.02 회복이 Spring 확인 강도를 높이는 첫 관문이다.",
      "key_levels": {
        "support": [
          59080.0,
          57758.6
        ],
        "resistance": [
          61665.0,
          62317.02,
          64250.0
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$57,758.60 하향 이탈 및 4시간봉 종가 기준 재진입 실패",
      "risk_scenario": "$59,080.00을 다시 잃고 Spring 저점 $57,758.60 아래로 밀리면 현재 Phase C Spring 해석은 실패하며, 축적이 아니라 하방 재분배 또는 추가 SOW 전개로 해석이 전환될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "acc_score": 85.0,
        "dis_score": 81.2,
        "regime": "ACC",
        "regime_state": "acc_candidate",
        "structure_bias": "bullish",
        "phase_context": "acc_candidate / accumulation / Phase C",
        "phases_detected": [
          "SC",
          "AR",
          "ST",
          "Spring"
        ],
        "last_phase": "Spring",
        "phase_candidates": [
          {
            "label": "SC",
            "side": "low",
            "idx": 142,
            "price": 59080.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 155,
            "price": 64250.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 196,
            "price": 63650.0,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 294,
            "price": 57758.6,
            "color": "#f9844a"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "4h_cycle_1",
            "sequence": 1,
            "timeframe": "4h",
            "regime": "accumulation",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 142,
            "end_idx": 294,
            "phase_count": 4,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 142,
                "price": 59080.0,
                "color": "#ffd166",
                "dt": "2026-06-06 01:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 155,
                "price": 64250.0,
                "color": "#06d6a0",
                "dt": "2026-06-08 05:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 196,
                "price": 63650.0,
                "color": "#118ab2",
                "dt": "2026-06-15 01:00:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 294,
                "price": 57758.6,
                "color": "#f9844a",
                "dt": "2026-07-01 09:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "4h_cycle_1",
        "primary_structure_id": "4h_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.85,
        "current_event": "Spring",
        "major_phase": "C",
        "pos_in_range": 0.5,
        "main_range_low": 59080.0,
        "main_range_high": 64250.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"Phase C Spring 후보: $57,758.60에서 메인 레인지 저점 $59,080.00 하향 이탈 후 현재가 $59,988.60으로 재진입\",\n    \"현재가 $59,988.60은 레인지 EQ 약 $61,665.00 아래의 할인 구간에 위치\",\n    \"SC $59,080.00 재상승 회복은 단기 수요 반응이지만, 아직 SOS 또는 AR 고점 $64,250.00 상단 수용은 미확인\",\n    \"EMA120 $62,317.02와 레인지 EQ $61,665.00이 위쪽 즉시 검증 저항으로 남아 있음\"\n  ],\n  \"reasoning\": \"지표상 regime은 ACC이고 acc_score 85.0, regime_fitness 0.850으로 축적 구조 우위가 확인되지만, dis_score도 81.2로 높아 완전한 단정은 피해야 한다. 현재 활성 구조는 SC $59,080.00 → AR $64,250.00 → ST $63,650.00 → Spring $57,758.60의 Phase C 축적 후보이며, 현재가 $59,988.60은 Spring 이후 메인 레인지 저점 $59,080.00을 회복한 상태다. 다만 아직 SOS, LPS, BU가 검출되지 않았고 $61,665.00 EQ 및 EMA120 $62,317.02 위 수용도 확인되지 않아 구조적 편향은 bullish이나 즉시 신호는 중립에 가깝다. 단기적으로는 $59,080.00 유지 여부가 핵심이며, 위로는 $61,665.00~$62,317.02 회복이 Spring 확인 강도를 높이는 첫 관문이다.\",\n  \"key_levels\": {\n    \"support\": [\n      59080.0,\n      57758.6\n    ],\n    \"resistance\": [\n      61665.0,\n      62317.02,\n      64250.0\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$57,758.60 하향 이탈 및 4시간봉 종가 기준 재진입 실패\",\n  \"risk_scenario\": \"$59,080.00을 다시 잃고 Spring 저점 $57,758.60 아래로 밀리면 현재 Phase C Spring 해석은 실패하며, 축적이 아니라 하방 재분배 또는 추가 SOW 전개로 해석이 전환될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.64,
      "setup_signals": [
        "가격 $59,988.60은 EMA20 $59,574.84 위에 있지만 EMA120 $62,317.02와 EMA240 $65,703.69 아래에 있어 중기 구조는 여전히 약세",
        "24시간 OI가 -3.7140% 감소하여 상승 추세 신규 레버리지 유입보다 포지션 언와인딩 성격이 강함",
        "롱 계정 비율 0.645, account_long_crowding 1.000으로 롱 포지셔닝이 여전히 혼잡한 상태",
        "선물-현물 베이시스 -0.0590%로 선물이 할인 거래되어 파생시장 수요가 강하지 않음",
        "상단 $60,700에 가장 강한 청산 밀집 구간이 있어 단기 상방 스윕 후 되돌림 가능성 존재",
        "하단 $58,900, $58,800, $57,600에 청산 유동성이 누적되어 지지 이탈 시 하방 가속 위험 존재"
      ],
      "reasoning": "현재 BTC는 $59,988.60으로 EMA20 $59,574.84는 회복했지만, EMA120 $62,317.02와 EMA240 $65,703.69를 크게 하회하고 있어 확인된 구조는 아직 약세입니다. 파생 포지셔닝은 24시간 OI -3.7140% 감소로 상승 돌파를 뒷받침하는 신규 포지션 증가가 아니라 숏커버 또는 포지션 축소에 가깝습니다. 롱 계정 비율이 0.645이고 account_long_crowding이 1.000이라 반등 구간에서 롱이 혼잡하며, 베이시스도 -0.0590%로 약해 추격 매수의 질이 좋지 않습니다. 다만 CVD divergence 0.700과 CVD 변화 +$8,777.46은 매수 참여가 일부 살아 있음을 보여주므로, $60,700 청산 유동성 스윕 후 $61,500~$61,931 부근에서 반락하는 시나리오가 더 우세합니다.",
      "key_levels": {
        "support": [
          58900,
          58800,
          57758.6,
          57600
        ],
        "resistance": [
          60700,
          61500,
          61931.1,
          62317.02,
          62400
        ]
      },
      "time_horizon": "short term, 4-8시간",
      "invalidation_level": "$61,931.10 상방에서 4시간봉 종가 안착",
      "risk_scenario": "$60,700 청산 구간을 단순 스윕이 아니라 강한 거래량과 OI 증가를 동반해 돌파하면 $61,500, $61,931.10, 이후 EMA120 $62,317.02까지 숏 스퀴즈가 확장될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.7,
        "cvd_change": 8777.458,
        "oi_trend": 0.129,
        "oi_change_pct_24h": -3.714,
        "oi_latest": 104803.387,
        "funding_pressure": 0.452,
        "funding_avg": 4.819e-05,
        "funding_change_24h": 1.541e-05,
        "long_account_ratio": 0.701,
        "short_account_ratio": 0.299,
        "long_account_latest": 0.645,
        "short_account_latest": 0.355,
        "long_account_change_24h": -0.0989,
        "short_account_change_24h": 0.0989,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.485,
        "spot_futures_basis_pct": -0.059,
        "basis_change_lookback": -0.0132,
        "aggregate_score": 0.353,
        "bull_signals": 1,
        "bear_signals": 2,
        "liq_below": [
          [
            58900,
            37659.15469845
          ],
          [
            58800,
            28281.014272900004
          ],
          [
            57600,
            38575.4764155
          ]
        ],
        "liq_above": [
          [
            60700,
            43881.28052900001
          ],
          [
            61500,
            31088.502593600002
          ],
          [
            62400,
            31677.151446
          ]
        ],
        "strongest_liq_level": 60700,
        "fragility_score": 0.633,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.64,\n  \"setup_signals\": [\n    \"가격 $59,988.60은 EMA20 $59,574.84 위에 있지만 EMA120 $62,317.02와 EMA240 $65,703.69 아래에 있어 중기 구조는 여전히 약세\",\n    \"24시간 OI가 -3.7140% 감소하여 상승 추세 신규 레버리지 유입보다 포지션 언와인딩 성격이 강함\",\n    \"롱 계정 비율 0.645, account_long_crowding 1.000으로 롱 포지셔닝이 여전히 혼잡한 상태\",\n    \"선물-현물 베이시스 -0.0590%로 선물이 할인 거래되어 파생시장 수요가 강하지 않음\",\n    \"상단 $60,700에 가장 강한 청산 밀집 구간이 있어 단기 상방 스윕 후 되돌림 가능성 존재\",\n    \"하단 $58,900, $58,800, $57,600에 청산 유동성이 누적되어 지지 이탈 시 하방 가속 위험 존재\"\n  ],\n  \"reasoning\": \"현재 BTC는 $59,988.60으로 EMA20 $59,574.84는 회복했지만, EMA120 $62,317.02와 EMA240 $65,703.69를 크게 하회하고 있어 확인된 구조는 아직 약세입니다. 파생 포지셔닝은 24시간 OI -3.7140% 감소로 상승 돌파를 뒷받침하는 신규 포지션 증가가 아니라 숏커버 또는 포지션 축소에 가깝습니다. 롱 계정 비율이 0.645이고 account_long_crowding이 1.000이라 반등 구간에서 롱이 혼잡하며, 베이시스도 -0.0590%로 약해 추격 매수의 질이 좋지 않습니다. 다만 CVD divergence 0.700과 CVD 변화 +$8,777.46은 매수 참여가 일부 살아 있음을 보여주므로, $60,700 청산 유동성 스윕 후 $61,500~$61,931 부근에서 반락하는 시나리오가 더 우세합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      58900,\n      58800,\n      57758.6,\n      57600\n    ],\n    \"resistance\": [\n      60700,\n      61500,\n      61931.1,\n      62317.02,\n      62400\n    ]\n  },\n  \"time_horizon\": \"short term, 4-8시간\",\n  \"invalidation_level\": \"$61,931.10 상방에서 4시간봉 종가 안착\",\n  \"risk_scenario\": \"$60,700 청산 구간을 단순 스윕이 아니라 강한 거래량과 OI 증가를 동반해 돌파하면 $61,500, $61,931.10, 이후 EMA120 $62,317.02까지 숏 스퀴즈가 확장될 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.78,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.92,
      "setup_signals": [
        "이전일 고가 $60,520.00을 상향 돌파했으나 현재가 $59,988.60으로 재하회하여 단기 buy-side liquidity raid 후보",
        "현재가 $59,988.60은 EQ $60,484.10 아래 discount에 위치하지만, EQ 회복 실패 시 bearish continuation 셋업 우세",
        "최근 확정 구조가 $62,232.10 하방 bearish BOS로 마감되어 반등은 매도 유동성 공급 구간으로 해석",
        "EMA120 $62,317.02 및 EMA240 $65,703.69 아래에서 거래 중이며 상위 시간축 공급 우위",
        "활성 bullish OB와 미충족 bullish FVG가 없으며, 하방 유동성인 range low / previous day low $57,758.60이 주요 draw on liquidity"
      ],
      "reasoning": "확정 구조는 bearish입니다. BOS 시퀀스가 bearish → bearish → bearish → bullish → bearish로 끝났고, 가장 최근 핵심 bearish BOS 레벨은 $62,232.10입니다. 현재가는 $59,988.60으로 EQ $60,484.10 아래 discount에 있지만, 이전일 고가 $60,520.00을 이미 돌파한 뒤 재하회하고 있어 단기적으로 buy-side liquidity를 소화한 후 하방 재개 가능성이 큽니다. 활성 bullish OB, 미충족 FVG가 없고, 하방에는 previous day low이자 range low인 $57,758.60이 명확한 유동성 목표로 남아 있습니다.",
      "key_levels": {
        "support": [
          59574.84,
          57758.6
        ],
        "resistance": [
          60484.1,
          60520.0,
          62232.1,
          62317.02,
          63209.6,
          76234.7,
          78077.1,
          78128.55
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$62,232.10 상방 4시간봉 종가 수용",
      "risk_scenario": "가격이 EQ $60,484.10과 이전일 고가 $60,520.00을 회복하고, 특히 $62,232.10 위에서 4시간봉 종가 수용이 나오면 현재 bearish continuation 셋업은 무효화됩니다. 이 경우 $62,317.02 EMA120 및 range high $63,209.60까지 short squeeze성 반등이 열릴 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 2,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 2,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": {
          "bottom": 76234.7,
          "top": 78077.1,
          "quality": "candidate",
          "score": 0.56
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 1,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 57,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bearish",
            "level": 76014.2
          },
          {
            "type": "BOS_bearish",
            "level": 74203.6
          },
          {
            "type": "BOS_bearish",
            "level": 72436.0
          },
          {
            "type": "BOS_bullish",
            "level": 64250.0
          },
          {
            "type": "BOS_bearish",
            "level": 62232.1
          }
        ],
        "bos_sequence": [
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 1,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [
          {
            "type": "BSL",
            "level": 78128.55
          }
        ],
        "current_zone": "discount",
        "eq_level": 60484.1,
        "range_high": 63209.6,
        "range_low": 57758.6,
        "bull_score": 3.8,
        "bear_score": 10.0,
        "setup_bias": "bearish",
        "setup_score": 0.92,
        "setup_signals": [
          "bearish BOS below $76,014.20",
          "bearish BOS below $74,203.60",
          "bearish BOS below $72,436.00",
          "bearish BOS below $62,232.10"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 40.1,
        "deepest_retracement_pct": 109.4,
        "previous_day_high": 60520.0,
        "previous_day_low": 57758.6,
        "broken_prev_high": true,
        "broken_prev_low": false,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.78,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.92,\n  \"setup_signals\": [\n    \"이전일 고가 $60,520.00을 상향 돌파했으나 현재가 $59,988.60으로 재하회하여 단기 buy-side liquidity raid 후보\",\n    \"현재가 $59,988.60은 EQ $60,484.10 아래 discount에 위치하지만, EQ 회복 실패 시 bearish continuation 셋업 우세\",\n    \"최근 확정 구조가 $62,232.10 하방 bearish BOS로 마감되어 반등은 매도 유동성 공급 구간으로 해석\",\n    \"EMA120 $62,317.02 및 EMA240 $65,703.69 아래에서 거래 중이며 상위 시간축 공급 우위\",\n    \"활성 bullish OB와 미충족 bullish FVG가 없으며, 하방 유동성인 range low / previous day low $57,758.60이 주요 draw on liquidity\"\n  ],\n  \"reasoning\": \"확정 구조는 bearish입니다. BOS 시퀀스가 bearish → bearish → bearish → bullish → bearish로 끝났고, 가장 최근 핵심 bearish BOS 레벨은 $62,232.10입니다. 현재가는 $59,988.60으로 EQ $60,484.10 아래 discount에 있지만, 이전일 고가 $60,520.00을 이미 돌파한 뒤 재하회하고 있어 단기적으로 buy-side liquidity를 소화한 후 하방 재개 가능성이 큽니다. 활성 bullish OB, 미충족 FVG가 없고, 하방에는 previous day low이자 range low인 $57,758.60이 명확한 유동성 목표로 남아 있습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59574.84,\n      57758.6\n    ],\n    \"resistance\": [\n      60484.1,\n      60520.0,\n      62232.1,\n      62317.02,\n      63209.6,\n      76234.7,\n      78077.1,\n      78128.55\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$62,232.10 상방 4시간봉 종가 수용\",\n  \"risk_scenario\": \"가격이 EQ $60,484.10과 이전일 고가 $60,520.00을 회복하고, 특히 $62,232.10 위에서 4시간봉 종가 수용이 나오면 현재 bearish continuation 셋업은 무효화됩니다. 이 경우 $62,317.02 EMA120 및 range high $63,209.60까지 short squeeze성 반등이 열릴 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.46,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.38,
      "setup_signals": [
        "현재가 $59,988.60은 EMA20 $59,574.84 위에 있지만 EMA120 $62,317.02 및 EMA240 $65,703.69 아래에 있어 4h 상위 저항 구조가 아직 해소되지 않음",
        "상방 $60,602.82-$61,675.69 구간에 strict medium bullish Bat 형성 PRZ가 있으나 미확인 상태이며, 동시에 $60,715.71-$61,637.48에 strict medium bearish Gartley 형성 PRZ가 겹쳐 방향성 충돌",
        "bearish Gartley 후보/완성 PRZ $60,710.58-$61,637.48은 반응 점수 1.0 및 TP1 $59,973.01, TP2 $59,231.02를 제시하지만 candidate 등급이라 단독 방향 전환 근거는 아님",
        "완성 bullish Butterfly는 $58,406.59-$59,590.72 PRZ에서 반응 확인되었고 TP1 $62,152.73를 제시하지만 quality가 low라 구조적 롱 확정 근거로는 부족",
        "가장 가까운 PRZ 중심은 $60,020.55로 현재가와 약 0.05% 거리이나 council_relevant_prz_count와 directional_influence_prz_count가 모두 0이므로 실행 권한은 낮음"
      ],
      "reasoning": "하모닉 스캔상 총 149개 패턴, 완성 58개, 형성 D-PRZ 91개가 있으나 실제 의사결정에 반영 가능한 council_relevant_prz_count는 0이며 actionable_patterns_list도 비어 있다. $58,406.59-$59,590.72의 bullish Butterfly는 PRZ 터치와 방어 후 반응이 확인되어 TP1 $62,152.73, TP2 $64,101.32를 제공하지만 low quality라 보조 컨텍스트에 그친다. 반대로 $60,710.58-$61,637.48 및 $60,715.71-$61,637.48 부근에는 bearish Gartley PRZ가 있고, 현재가 $59,988.60에서 바로 위 저항대로 작동할 수 있어 단기 setup_bias는 약한 bearish로 본다. 다만 bullish Bat/Shark/Gartley 형성 PRZ도 $60,602.82-$62,153.24에 다수 겹치므로, 하모닉 단독으로는 방향을 확정할 수 없어 최종 신호는 neutral이다.",
      "key_levels": {
        "support": [
          59590.72,
          59060.0,
          58406.59,
          58030.0,
          57758.6
        ],
        "resistance": [
          60020.55,
          60710.58,
          61139.25,
          61637.48,
          62152.73,
          62317.02
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$62,317.02",
      "risk_scenario": "가격이 $60,710-$61,637의 bearish Gartley/PRZ 저항을 흡수하고 4h 기준 EMA120 $62,317.02 위에서 수용되면 단기 bearish setup은 무효화되며, 확인된 bullish Butterfly의 TP1 $62,152.73 이후 $64,101.32까지 되돌림 확장 가능성이 커진다. 반대로 $59,590.72 아래로 재진입하고 $58,406.59를 이탈하면 bullish Butterfly의 PRZ 방어 실패로 해석되어 $58,030.00 및 7일 저점 $57,758.60 재시험 리스크가 열린다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 149,
        "completed_patterns_found": 58,
        "forming_d_prz_found": 91,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 56,
        "swing_highs_scanned": 28,
        "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": 3,
          "medium": 43,
          "low": 103
        },
        "prz_status_counts": {
          "active": 23,
          "nearby": 24,
          "watch": 39,
          "far": 63,
          "forming": 39
        },
        "high_confluence_prz_count": 19,
        "strict_patterns_found": 59,
        "candidate_patterns_found": 90,
        "active_patterns_at_prz": 23,
        "nearby_patterns": 24,
        "all_patterns": [
          "bat",
          "shark",
          "gartley",
          "crab",
          "butterfly",
          "bat",
          "butterfly",
          "butterfly",
          "crab",
          "gartley",
          "gartley",
          "shark",
          "butterfly",
          "shark",
          "shark",
          "crab",
          "bat",
          "butterfly",
          "butterfly",
          "butterfly",
          "gartley",
          "bat",
          "crab",
          "shark",
          "crab",
          "shark",
          "bat",
          "shark",
          "crab",
          "shark",
          "butterfly",
          "shark",
          "crab",
          "crab",
          "gartley",
          "bat",
          "bat",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "gartley",
          "bat",
          "crab",
          "bat",
          "crab",
          "butterfly",
          "shark",
          "gartley",
          "butterfly",
          "crab",
          "gartley",
          "crab",
          "butterfly",
          "gartley",
          "crab",
          "shark",
          "crab",
          "gartley",
          "bat",
          "bat",
          "shark",
          "gartley",
          "butterfly",
          "gartley",
          "crab",
          "butterfly",
          "butterfly",
          "shark",
          "crab",
          "butterfly",
          "crab",
          "shark",
          "gartley",
          "gartley",
          "gartley",
          "shark",
          "crab",
          "crab",
          "shark",
          "bat",
          "bat",
          "crab",
          "crab",
          "butterfly",
          "shark",
          "crab",
          "crab",
          "crab",
          "crab",
          "gartley",
          "crab",
          "shark",
          "shark",
          "crab",
          "bat",
          "shark",
          "shark",
          "crab",
          "shark",
          "crab",
          "bat",
          "crab",
          "shark",
          "bat",
          "butterfly",
          "crab",
          "butterfly",
          "butterfly",
          "butterfly",
          "crab",
          "crab",
          "shark",
          "bat",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "gartley",
          "gartley",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "butterfly",
          "butterfly",
          "shark",
          "bat",
          "crab",
          "gartley",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "shark",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "gartley",
          "crab",
          "gartley",
          "shark",
          "crab",
          "butterfly",
          "gartley",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "low",
        "best_pattern_score": 0.915,
        "best_completion_status": "forming",
        "nearest_pattern": "butterfly",
        "nearest_prz": 60020.55,
        "price_to_prz": 0.05,
        "prz_range": [
          59013.18,
          61027.91
        ],
        "council_relevant_prz_count": 0,
        "directional_influence_prz_count": 0,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.894,
            "ratio_score": 0.945,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61815.71,
            "prz_range": [
              61478.18,
              62153.24
            ],
            "prz_width_pct": 1.092,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.05,
            "price_to_prz_pct_raw": 3.0458,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 61815.71,
              "a_price": 63915.3,
              "tp1_ad_382": 62617.75,
              "tp2_ad_618": 63113.26,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6087,
              "ABC": 0.5807
            },
            "x_price": 61150.2,
            "x_idx": 154,
            "x_order": 3,
            "a_price": 63915.3,
            "a_idx": 178,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 219,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.838,
            "ratio_score": 0.826,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              60933.28,
              61663.11
            ],
            "prz_width_pct": 1.191,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.18,
            "price_to_prz_pct_raw": 2.1831,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61298.2,
              "a_price": 67255.4,
              "tp1_ad_382": 63573.85,
              "tp2_ad_618": 64979.75,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8338,
              "ABC": 0.5974,
              "BCD": 2.6563,
              "XAD": 1.6589
            },
            "x_price": 62315.0,
            "x_idx": 178,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 201,
            "a_order": 8,
            "b_price": 63136.2,
            "b_idx": 231,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 243,
            "c_order": 8,
            "d_idx": 256
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.896,
            "ratio_score": 1.0,
            "prz_score": 0.911,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61293.42,
            "prz_range": [
              60742.93,
              61843.91
            ],
            "prz_width_pct": 1.796,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.18,
            "price_to_prz_pct_raw": 2.1751,
            "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": 61293.42,
              "a_price": 63915.3,
              "tp1_ad_382": 62294.98,
              "tp2_ad_618": 62913.74,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5112,
              "ABC": 1.4993
            },
            "x_price": 61150.2,
            "x_idx": 154,
            "x_order": 3,
            "a_price": 63915.3,
            "a_idx": 178,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 207,
            "b_order": 3,
            "c_price": 63209.6,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.879,
            "ratio_score": 0.959,
            "prz_score": 0.873,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              58406.59,
              59590.72
            ],
            "prz_width_pct": 2.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.65,
            "price_to_prz_pct_raw": -1.6502,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 58998.66,
              "a_price": 67255.4,
              "tp1_ad_382": 62152.73,
              "tp2_ad_618": 64101.32,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.465,
              "BCD": 2.358,
              "XAD": 1.2608
            },
            "x_price": 60755.0,
            "x_idx": 166,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 201,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 219,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 235,
            "c_order": 3,
            "d_idx": 256
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.876,
            "ratio_score": 0.911,
            "prz_score": 0.972,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61461.12,
            "prz_range": [
              61013.8,
              61908.44
            ],
            "prz_width_pct": 1.456,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.45,
            "price_to_prz_pct_raw": 2.4547,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61461.12,
              "a_price": 66956.7,
              "tp1_ad_382": 63560.43,
              "tp2_ad_618": 64857.39,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.805,
              "ABC": 0.6362
            },
            "x_price": 62315.0,
            "x_idx": 178,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 206,
            "a_order": 3,
            "b_price": 63220.0,
            "b_idx": 239,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 243,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.862,
            "ratio_score": 0.844,
            "prz_score": 0.963,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61176.59,
            "prz_range": [
              60715.71,
              61637.48
            ],
            "prz_width_pct": 1.507,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.98,
            "price_to_prz_pct_raw": 1.9804,
            "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": "bearish",
              "source": "gartley",
              "d_price": 61176.59,
              "a_price": 58030.0,
              "tp1_ad_382": 59974.6,
              "tp2_ad_618": 59232.0,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6443,
              "ABC": 0.6737
            },
            "x_price": 61931.1,
            "x_idx": 259,
            "x_order": 3,
            "a_price": 58030.0,
            "a_idx": 261,
            "a_order": 8,
            "b_price": 60543.3,
            "b_idx": 278,
            "b_order": 3,
            "c_price": 58850.0,
            "c_idx": 282,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.846,
            "ratio_score": 0.837,
            "prz_score": 0.918,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61139.25,
            "prz_range": [
              60602.82,
              61675.69
            ],
            "prz_width_pct": 1.755,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.92,
            "price_to_prz_pct_raw": 1.9181,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 61139.25,
              "a_price": 63915.3,
              "tp1_ad_382": 62199.7,
              "tp2_ad_618": 62854.85,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5222,
              "ABC": 0.5807
            },
            "x_price": 60691.9,
            "x_idx": 170,
            "x_order": 8,
            "a_price": 63915.3,
            "a_idx": 178,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 219,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.842,
            "ratio_score": 0.935,
            "prz_score": 0.884,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61760.53,
            "prz_range": [
              61158.69,
              62362.37
            ],
            "prz_width_pct": 1.949,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.95,
            "price_to_prz_pct_raw": 2.9538,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61760.53,
              "a_price": 66419.2,
              "tp1_ad_382": 63540.14,
              "tp2_ad_618": 64639.59,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7999,
              "ABC": 0.7496
            },
            "x_price": 62315.0,
            "x_idx": 178,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 214,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 231,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 243,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.894,
            "ratio_score": 0.945,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61815.71,
            "prz_range": [
              61478.18,
              62153.24
            ],
            "prz_width_pct": 1.092,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.05,
            "price_to_prz_pct_raw": 3.0458,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 61815.71,
              "a_price": 63915.3,
              "tp1_ad_382": 62617.75,
              "tp2_ad_618": 63113.26,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6087,
              "ABC": 0.5807
            },
            "x_price": 61150.2,
            "x_idx": 154,
            "x_order": 3,
            "a_price": 63915.3,
            "a_idx": 178,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 219,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.838,
            "ratio_score": 0.826,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              60933.28,
              61663.11
            ],
            "prz_width_pct": 1.191,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.18,
            "price_to_prz_pct_raw": 2.1831,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61298.2,
              "a_price": 67255.4,
              "tp1_ad_382": 63573.85,
              "tp2_ad_618": 64979.75,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8338,
              "ABC": 0.5974,
              "BCD": 2.6563,
              "XAD": 1.6589
            },
            "x_price": 62315.0,
            "x_idx": 178,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 201,
            "a_order": 8,
            "b_price": 63136.2,
            "b_idx": 231,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 243,
            "c_order": 8,
            "d_idx": 256
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.896,
            "ratio_score": 1.0,
            "prz_score": 0.911,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61293.42,
            "prz_range": [
              60742.93,
              61843.91
            ],
            "prz_width_pct": 1.796,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.18,
            "price_to_prz_pct_raw": 2.1751,
            "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": 61293.42,
              "a_price": 63915.3,
              "tp1_ad_382": 62294.98,
              "tp2_ad_618": 62913.74,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5112,
              "ABC": 1.4993
            },
            "x_price": 61150.2,
            "x_idx": 154,
            "x_order": 3,
            "a_price": 63915.3,
            "a_idx": 178,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 207,
            "b_order": 3,
            "c_price": 63209.6,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.879,
            "ratio_score": 0.959,
            "prz_score": 0.873,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              58406.59,
              59590.72
            ],
            "prz_width_pct": 2.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.65,
            "price_to_prz_pct_raw": -1.6502,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 58998.66,
              "a_price": 67255.4,
              "tp1_ad_382": 62152.73,
              "tp2_ad_618": 64101.32,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.465,
              "BCD": 2.358,
              "XAD": 1.2608
            },
            "x_price": 60755.0,
            "x_idx": 166,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 201,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 219,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 235,
            "c_order": 3,
            "d_idx": 256
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.876,
            "ratio_score": 0.911,
            "prz_score": 0.972,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61461.12,
            "prz_range": [
              61013.8,
              61908.44
            ],
            "prz_width_pct": 1.456,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.45,
            "price_to_prz_pct_raw": 2.4547,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61461.12,
              "a_price": 66956.7,
              "tp1_ad_382": 63560.43,
              "tp2_ad_618": 64857.39,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.805,
              "ABC": 0.6362
            },
            "x_price": 62315.0,
            "x_idx": 178,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 206,
            "a_order": 3,
            "b_price": 63220.0,
            "b_idx": 239,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 243,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.862,
            "ratio_score": 0.844,
            "prz_score": 0.963,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61176.59,
            "prz_range": [
              60715.71,
              61637.48
            ],
            "prz_width_pct": 1.507,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.98,
            "price_to_prz_pct_raw": 1.9804,
            "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": "bearish",
              "source": "gartley",
              "d_price": 61176.59,
              "a_price": 58030.0,
              "tp1_ad_382": 59974.6,
              "tp2_ad_618": 59232.0,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6443,
              "ABC": 0.6737
            },
            "x_price": 61931.1,
            "x_idx": 259,
            "x_order": 3,
            "a_price": 58030.0,
            "a_idx": 261,
            "a_order": 8,
            "b_price": 60543.3,
            "b_idx": 278,
            "b_order": 3,
            "c_price": 58850.0,
            "c_idx": 282,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.846,
            "ratio_score": 0.837,
            "prz_score": 0.918,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61139.25,
            "prz_range": [
              60602.82,
              61675.69
            ],
            "prz_width_pct": 1.755,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.92,
            "price_to_prz_pct_raw": 1.9181,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 61139.25,
              "a_price": 63915.3,
              "tp1_ad_382": 62199.7,
              "tp2_ad_618": 62854.85,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5222,
              "ABC": 0.5807
            },
            "x_price": 60691.9,
            "x_idx": 170,
            "x_order": 8,
            "a_price": 63915.3,
            "a_idx": 178,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 219,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.842,
            "ratio_score": 0.935,
            "prz_score": 0.884,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61760.53,
            "prz_range": [
              61158.69,
              62362.37
            ],
            "prz_width_pct": 1.949,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.95,
            "price_to_prz_pct_raw": 2.9538,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61760.53,
              "a_price": 66419.2,
              "tp1_ad_382": 63540.14,
              "tp2_ad_618": 64639.59,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7999,
              "ABC": 0.7496
            },
            "x_price": 62315.0,
            "x_idx": 178,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 214,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 231,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 243,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.797,
            "ratio_score": 0.838,
            "prz_score": 0.897,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 62086.56,
            "prz_range": [
              61505.57,
              62667.55
            ],
            "prz_width_pct": 1.872,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.5,
            "price_to_prz_pct_raw": 3.4973,
            "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": "bearish",
              "source": "bat",
              "d_price": 62086.56,
              "a_price": 58030.0,
              "tp1_ad_382": 60536.96,
              "tp2_ad_618": 59579.61,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.522,
              "ABC": 0.6967
            },
            "x_price": 63209.6,
            "x_idx": 254,
            "x_order": 5,
            "a_price": 58030.0,
            "a_idx": 261,
            "a_order": 8,
            "b_price": 60734.0,
            "b_idx": 265,
            "b_order": 3,
            "c_price": 58850.0,
            "c_idx": 282,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.775,
            "ratio_score": 0.712,
            "prz_score": 0.961,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60758.3,
            "prz_range": [
              60710.58,
              61637.48
            ],
            "prz_width_pct": 1.515,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.98,
            "price_to_prz_pct_raw": 1.9761,
            "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",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.099,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_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": "bearish",
              "source": "gartley",
              "d_price": 61174.03,
              "a_price": 58030.0,
              "tp1_ad_382": 59973.01,
              "tp2_ad_618": 59231.02,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6443,
              "ABC": 0.6737,
              "BCD": 1.127,
              "XAD": 0.6994
            },
            "x_price": 61931.1,
            "x_idx": 259,
            "x_order": 3,
            "a_price": 58030.0,
            "a_idx": 261,
            "a_order": 8,
            "b_price": 60543.3,
            "b_idx": 278,
            "b_order": 3,
            "c_price": 58850.0,
            "c_idx": 282,
            "c_order": 8,
            "d_idx": 285
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.767,
            "ratio_score": 0.649,
            "prz_score": 0.911,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61700.64,
            "prz_range": [
              61146.28,
              62254.99
            ],
            "prz_width_pct": 1.797,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.85,
            "price_to_prz_pct_raw": 2.8539,
            "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": "bearish",
              "source": "gartley",
              "d_price": 61700.64,
              "a_price": 58030.0,
              "tp1_ad_382": 60298.45,
              "tp2_ad_618": 59432.18,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5589,
              "ABC": 0.7167
            },
            "x_price": 63209.6,
            "x_idx": 254,
            "x_order": 5,
            "a_price": 58030.0,
            "a_idx": 261,
            "a_order": 8,
            "b_price": 60924.7,
            "b_idx": 273,
            "b_order": 8,
            "c_price": 58850.0,
            "c_idx": 282,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.737,
            "ratio_score": 0.731,
            "prz_score": 0.884,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              61158.69,
              62362.37
            ],
            "prz_width_pct": 1.949,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.95,
            "price_to_prz_pct_raw": 2.9538,
            "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.39,
                "adverse_move_ratio_ad": 0.14,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61760.53,
              "a_price": 66419.2,
              "tp1_ad_382": 63540.14,
              "tp2_ad_618": 64639.59,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7999,
              "ABC": 0.7496,
              "BCD": 2.6563,
              "XAD": 1.7931
            },
            "x_price": 62315.0,
            "x_idx": 178,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 214,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 231,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 243,
            "c_order": 8,
            "d_idx": 256
          }
        ],
        "actionable_patterns_list": [],
        "tp_ladder": [],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "early"
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.46,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.38,\n  \"setup_signals\": [\n    \"현재가 $59,988.60은 EMA20 $59,574.84 위에 있지만 EMA120 $62,317.02 및 EMA240 $65,703.69 아래에 있어 4h 상위 저항 구조가 아직 해소되지 않음\",\n    \"상방 $60,602.82-$61,675.69 구간에 strict medium bullish Bat 형성 PRZ가 있으나 미확인 상태이며, 동시에 $60,715.71-$61,637.48에 strict medium bearish Gartley 형성 PRZ가 겹쳐 방향성 충돌\",\n    \"bearish Gartley 후보/완성 PRZ $60,710.58-$61,637.48은 반응 점수 1.0 및 TP1 $59,973.01, TP2 $59,231.02를 제시하지만 candidate 등급이라 단독 방향 전환 근거는 아님\",\n    \"완성 bullish Butterfly는 $58,406.59-$59,590.72 PRZ에서 반응 확인되었고 TP1 $62,152.73를 제시하지만 quality가 low라 구조적 롱 확정 근거로는 부족\",\n    \"가장 가까운 PRZ 중심은 $60,020.55로 현재가와 약 0.05% 거리이나 council_relevant_prz_count와 directional_influence_prz_count가 모두 0이므로 실행 권한은 낮음\"\n  ],\n  \"reasoning\": \"하모닉 스캔상 총 149개 패턴, 완성 58개, 형성 D-PRZ 91개가 있으나 실제 의사결정에 반영 가능한 council_relevant_prz_count는 0이며 actionable_patterns_list도 비어 있다. $58,406.59-$59,590.72의 bullish Butterfly는 PRZ 터치와 방어 후 반응이 확인되어 TP1 $62,152.73, TP2 $64,101.32를 제공하지만 low quality라 보조 컨텍스트에 그친다. 반대로 $60,710.58-$61,637.48 및 $60,715.71-$61,637.48 부근에는 bearish Gartley PRZ가 있고, 현재가 $59,988.60에서 바로 위 저항대로 작동할 수 있어 단기 setup_bias는 약한 bearish로 본다. 다만 bullish Bat/Shark/Gartley 형성 PRZ도 $60,602.82-$62,153.24에 다수 겹치므로, 하모닉 단독으로는 방향을 확정할 수 없어 최종 신호는 neutral이다.\",\n  \"key_levels\": {\n    \"support\": [\n      59590.72,\n      59060.0,\n      58406.59,\n      58030.0,\n      57758.6\n    ],\n    \"resistance\": [\n      60020.55,\n      60710.58,\n      61139.25,\n      61637.48,\n      62152.73,\n      62317.02\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$62,317.02\",\n  \"risk_scenario\": \"가격이 $60,710-$61,637의 bearish Gartley/PRZ 저항을 흡수하고 4h 기준 EMA120 $62,317.02 위에서 수용되면 단기 bearish setup은 무효화되며, 확인된 bullish Butterfly의 TP1 $62,152.73 이후 $64,101.32까지 되돌림 확장 가능성이 커진다. 반대로 $59,590.72 아래로 재진입하고 $58,406.59를 이탈하면 bullish Butterfly의 PRZ 방어 실패로 해석되어 $58,030.00 및 7일 저점 $57,758.60 재시험 리스크가 열린다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.66,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.73,
      "active_setups": [
        "ICT 기준 최근 확정 구조가 $62,232.10 하방 이탈로 마감되어 4시간 구조는 아직 약세",
        "이전일 고가 $60,520.00을 상향 돌파한 뒤 현재 $59,988.60으로 재하회하여 단기 매수 유동성 소화 조건",
        "현재가가 Fibonacci ret_0.786 저항 $60,116.36에 0.21% 근접해 프리미엄 저항 반응 구간",
        "파생시장 24시간 미결제약정이 3.714% 감소해 반등이 신규 레버리지 유입보다 포지션 축소 성격",
        "롱 계정 비율 0.645로 롱 포지셔닝 혼잡도가 높아 반등 구간의 취약성 존재",
        "반대 조건으로는 $57,758.60 Spring 이후 $59,080.00 레인지 저점 회복과 고거래량 bullish engulfing 2회가 단기 수요를 지지"
      ],
      "setup_vs_structure": "구조적 판정과 실행 셋업은 대체로 약세로 정렬되어 있다. 다만 Wyckoff의 Phase C Spring 후보와 캔들 반전 신호가 존재하므로, 즉시 약세 구조로 단정하기보다 $59,080.00 회복 유지 여부와 $60,520.00 재수용 실패 여부를 함께 감시해야 한다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 4,
      "neutral_count": 1
    },
    "key_levels": {
      "support": [
        59612.41,
        59574.84,
        59258.45,
        59080.0,
        58904.49,
        57758.6
      ],
      "resistance": [
        60116.36,
        60484.1,
        60520.0,
        60700.0,
        61665.0,
        61931.1,
        62317.02
      ]
    },
    "confluences": [
      "Fibonacci의 ret_0.618 $59,612.41, Candlestick/ICT의 EMA20 $59,574.84가 $59.57k-$59.61k 단기 지지 클러스터를 형성한다.",
      "Wyckoff의 Spring 저점, ICT의 previous day low 및 range low, Candlestick의 7일 저점, Fibonacci 확장 지지가 모두 $57,758.60 부근을 핵심 구조 저점으로 지목한다.",
      "ICT의 이전일 고가 $60,520.00, Derivatives의 상단 청산 유동성 $60,700, Harmonic의 bearish Gartley PRZ 하단 $60,710.58, Fibonacci의 스윙 고점권 $60,758이 $60.5k-$60.8k 저항/유동성 구간으로 겹친다.",
      "Wyckoff range EQ $61,665.00, Harmonic PRZ $60,715.71-$61,637.48, Derivatives 저항 $61,500, Fibonacci/Candlestick 저항 $61,931.10이 $61.5k-$61.9k 상위 공급 구간을 구성한다.",
      "Fibonacci, Candlestick, Derivatives, Harmonic 모두 현재가가 EMA120 $62,317.02와 EMA240 $65,703.69 아래에 있다는 점을 중기 약세 구조 근거로 공유한다.",
      "ICT의 핵심 bearish BOS 레벨 $62,232.10과 EMA120 $62,317.02가 거의 동일 구간에 있어, $62.2k-$62.3k는 구조 전환 판단의 핵심 관문이다."
    ],
    "conflicts": [
      "Wyckoff는 $57,758.60 Spring 이후 $59,080.00 레인지 저점 회복을 근거로 Phase C 축적 후보를 제시하지만, ICT는 최근 확정 구조를 $62,232.10 하방 bearish BOS로 해석해 구조적 약세를 우선한다.",
      "Candlestick은 고거래량 strict bullish engulfing 2회를 근거로 단기 매수 반전을 제시하지만, Derivatives는 미결제약정 감소와 롱 계정 혼잡을 근거로 반등의 질이 약하다고 본다.",
      "Harmonic은 $58,406.59-$59,590.72 bullish Butterfly 반응과 $60,710.58-$61,637.48 bearish Gartley 반응이 공존해 방향성 결론을 보류하고 있으며, 단독 구조 판단 근거로는 낮게 가중해야 한다.",
      "현재가는 Wyckoff 관점에서는 레인지 EQ $61,665.00 아래 할인 구간이지만, Fibonacci 관점에서는 하락 스윙의 0.5 되돌림 $59,258.45 위 프리미엄 구간으로 해석되어 위치 평가가 충돌한다."
    ],
    "executive_summary": "BTC/USDT 4시간 구조는 다수 모델 기준으로 아직 약세이며, 핵심 근거는 $62,232.10 하방 bearish BOS와 EMA120 $62,317.02 및 EMA240 $65,703.69 아래에서의 거래 지속이다. 다만 Wyckoff 관점에서는 $57,758.60 Spring 이후 $59,080.00 레인지 저점을 회복한 Phase C 축적 후보가 존재해, 현재 구조는 ‘약세 우위 속 축적 전환 가능성’이 공존하는 상태다. 현재 위치는 Wyckoff 레인지 EQ $61,665.00 아래이자 ICT EQ $60,484.10 아래로, 아직 SOS나 상단 수용이 확인되지 않은 초기 회복 구간이다. 구조적 위험은 $60,520.00 이전일 고가 재하회에 따른 실패 돌파 조건, $60,116.36-$60,758 저항 반응, 그리고 롱 포지셔닝 혼잡이다. 약세 구조의 무효화는 $62,232.10-$62,317.02 구간의 4시간 수용이며, 반대로 $59,080.00 및 $57,758.60 훼손은 Wyckoff 축적 후보를 약화시킨다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.66,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.73,\n    \"active_setups\": [\n      \"ICT 기준 최근 확정 구조가 $62,232.10 하방 이탈로 마감되어 4시간 구조는 아직 약세\",\n      \"이전일 고가 $60,520.00을 상향 돌파한 뒤 현재 $59,988.60으로 재하회하여 단기 매수 유동성 소화 조건\",\n      \"현재가가 Fibonacci ret_0.786 저항 $60,116.36에 0.21% 근접해 프리미엄 저항 반응 구간\",\n      \"파생시장 24시간 미결제약정이 3.714% 감소해 반등이 신규 레버리지 유입보다 포지션 축소 성격\",\n      \"롱 계정 비율 0.645로 롱 포지셔닝 혼잡도가 높아 반등 구간의 취약성 존재\",\n      \"반대 조건으로는 $57,758.60 Spring 이후 $59,080.00 레인지 저점 회복과 고거래량 bullish engulfing 2회가 단기 수요를 지지\"\n    ],\n    \"setup_vs_structure\": \"구조적 판정과 실행 셋업은 대체로 약세로 정렬되어 있다. 다만 Wyckoff의 Phase C Spring 후보와 캔들 반전 신호가 존재하므로, 즉시 약세 구조로 단정하기보다 $59,080.00 회복 유지 여부와 $60,520.00 재수용 실패 여부를 함께 감시해야 한다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 4,\n    \"neutral_count\": 1\n  },\n  \"key_levels\": {\n    \"support\": [\n      59612.41,\n      59574.84,\n      59258.45,\n      59080.0,\n      58904.49,\n      57758.6\n    ],\n    \"resistance\": [\n      60116.36,\n      60484.1,\n      60520.0,\n      60700.0,\n      61665.0,\n      61931.1,\n      62317.02\n    ]\n  },\n  \"confluences\": [\n    \"Fibonacci의 ret_0.618 $59,612.41, Candlestick/ICT의 EMA20 $59,574.84가 $59.57k-$59.61k 단기 지지 클러스터를 형성한다.\",\n    \"Wyckoff의 Spring 저점, ICT의 previous day low 및 range low, Candlestick의 7일 저점, Fibonacci 확장 지지가 모두 $57,758.60 부근을 핵심 구조 저점으로 지목한다.\",\n    \"ICT의 이전일 고가 $60,520.00, Derivatives의 상단 청산 유동성 $60,700, Harmonic의 bearish Gartley PRZ 하단 $60,710.58, Fibonacci의 스윙 고점권 $60,758이 $60.5k-$60.8k 저항/유동성 구간으로 겹친다.\",\n    \"Wyckoff range EQ $61,665.00, Harmonic PRZ $60,715.71-$61,637.48, Derivatives 저항 $61,500, Fibonacci/Candlestick 저항 $61,931.10이 $61.5k-$61.9k 상위 공급 구간을 구성한다.\",\n    \"Fibonacci, Candlestick, Derivatives, Harmonic 모두 현재가가 EMA120 $62,317.02와 EMA240 $65,703.69 아래에 있다는 점을 중기 약세 구조 근거로 공유한다.\",\n    \"ICT의 핵심 bearish BOS 레벨 $62,232.10과 EMA120 $62,317.02가 거의 동일 구간에 있어, $62.2k-$62.3k는 구조 전환 판단의 핵심 관문이다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 $57,758.60 Spring 이후 $59,080.00 레인지 저점 회복을 근거로 Phase C 축적 후보를 제시하지만, ICT는 최근 확정 구조를 $62,232.10 하방 bearish BOS로 해석해 구조적 약세를 우선한다.\",\n    \"Candlestick은 고거래량 strict bullish engulfing 2회를 근거로 단기 매수 반전을 제시하지만, Derivatives는 미결제약정 감소와 롱 계정 혼잡을 근거로 반등의 질이 약하다고 본다.\",\n    \"Harmonic은 $58,406.59-$59,590.72 bullish Butterfly 반응과 $60,710.58-$61,637.48 bearish Gartley 반응이 공존해 방향성 결론을 보류하고 있으며, 단독 구조 판단 근거로는 낮게 가중해야 한다.\",\n    \"현재가는 Wyckoff 관점에서는 레인지 EQ $61,665.00 아래 할인 구간이지만, Fibonacci 관점에서는 하락 스윙의 0.5 되돌림 $59,258.45 위 프리미엄 구간으로 해석되어 위치 평가가 충돌한다.\"\n  ],\n  \"highest_conviction_analyst\": \"ICT Trader — 신뢰도 78%로 가장 높고, 최근 구조가 $62,232.10 하방 bearish BOS로 확정되었다는 명확한 구조 근거를 제시한다. 또한 이전일 고가 $60,520.00 상향 돌파 후 재하회, EQ $60,484.10 미회복, 하단 유동성 $57,758.60 등 가격 레벨이 정밀하게 정렬되어 있어 구조 판정 가중치가 가장 높다.\",\n  \"invalidation_level\": \"$62,317.02 상방 4시간 수용. 특히 ICT bearish BOS 레벨 $62,232.10을 회복하고 EMA120 $62,317.02 위에서 유지되면 현재 약세 구조 판정은 훼손된다.\",\n  \"executive_summary\": \"BTC/USDT 4시간 구조는 다수 모델 기준으로 아직 약세이며, 핵심 근거는 $62,232.10 하방 bearish BOS와 EMA120 $62,317.02 및 EMA240 $65,703.69 아래에서의 거래 지속이다. 다만 Wyckoff 관점에서는 $57,758.60 Spring 이후 $59,080.00 레인지 저점을 회복한 Phase C 축적 후보가 존재해, 현재 구조는 ‘약세 우위 속 축적 전환 가능성’이 공존하는 상태다. 현재 위치는 Wyckoff 레인지 EQ $61,665.00 아래이자 ICT EQ $60,484.10 아래로, 아직 SOS나 상단 수용이 확인되지 않은 초기 회복 구간이다. 구조적 위험은 $60,520.00 이전일 고가 재하회에 따른 실패 돌파 조건, $60,116.36-$60,758 저항 반응, 그리고 롱 포지셔닝 혼잡이다. 약세 구조의 무효화는 $62,232.10-$62,317.02 구간의 4시간 수용이며, 반대로 $59,080.00 및 $57,758.60 훼손은 Wyckoff 축적 후보를 약화시킨다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.66,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.6,
    "waypoints": [
      {
        "seq": 1,
        "price": 60700,
        "type": "liquidity_sweep",
        "source": "Derivatives(상단 청산 유동성 $60,700), Harmonic(bearish Gartley PRZ 하단 $60,710.58), Fibonacci(스윙 고점권 $60,758), ICT(이전일 고가 $60,520 상단 매수 유동성)",
        "description": "캔들스틱 고거래량 bullish engulfing 2회 + Wyckoff Spring 회복 + CVD divergence 0.7이 지지하는 단기 반등이 이전일 고가 $60,520 위 정지주문(buy-side liquidity)을 스윕. $60,700 청산 유동성 · bearish Gartley PRZ 하단 $60,710.58 · 스윙 고점 $60,758 저항 클러스터에서 거부 예상. 24h OI -3.71% 감소로 반등 질이 약해 종가 수용보다 스윕성 고점 확률이 높음.",
        "est_hours": 3,
        "turning_zone": [
          60700.0,
          60980.0
        ],
        "likely_wick": 60780.0,
        "rejection_confirm": 60484.1,
        "invalid_overshoot": 61150.0,
        "calibration_reasoning": "저항 클러스터(청산 유동성 $60,700 · Gartley PRZ $60,710.58 · 스윙 고점 $60,758)로 존 하단을 고정하고 0.29 ATR 폭으로 스윙 고점 위 buy-side 유동성 스윕까지 확장(likely_wick $60,780). -3.71% OI 감소로 반등 질이 약해 얕은 거부가 유력하며, $60,484.10(이전일 고가 $60,520 하단) 재이탈 시 거부 확정·라운드넘버 $61,000 상방 수용 시 스윕 무효(추세 돌파)."
      },
      {
        "seq": 2,
        "price": 59080.0,
        "type": "support_test",
        "source": "Wyckoff(메인 레인지 저점/SC $59,080), Fibonacci(EMA20 $59,574.84 · ret_0.618 $59,612.41 · ret_0.5 $59,258.45 경유), Chairman 지지 클러스터",
        "description": "$60,700 거부 후 ICT 약세 연속성($62,232.10 bearish BOS 하방 구조) 재개. EMA20 $59,574.84 / fib 0.618 $59,612.41 지지 클러스터를 이탈하며 Wyckoff 메인 레인지 저점 $59,080까지 하락. 이 레벨 유지 여부가 Phase C 축적 후보 존속을 좌우하는 핵심 관문으로, 여기서 1차 반응(눌림/반등 시도) 예상.",
        "est_hours": 11,
        "turning_zone": [
          58800.0,
          59080.0
        ],
        "likely_wick": 58970.0,
        "rejection_confirm": 59258.45,
        "invalid_overshoot": 58650.0,
        "calibration_reasoning": "이탈된 EMA20 $59,574.84 / fib 0.618 클러스터 아래 Wyckoff 레인지 저점 $59,080을 존 상단으로 두고, fib 0.382 $58,904.49와 라운드넘버 $59,000를 포함하는 0.29 ATR 폭 존 구성. 레인지 저점 아래 sell-side 스윕(likely_wick $58,970) 후 1차 반등 예상, $59,258.45 재탈환 시 반응 확정·fib 0.382 하단 $58,650 수용 시 Phase C 축적 무효화(→WP3 연속)."
      },
      {
        "seq": 3,
        "price": 57758.6,
        "type": "swing_low",
        "source": "Wyckoff(Spring 저점 $57,758.60), ICT(previous day low·range low), Fibonacci(확장 지지·WP1 후보 테이블 유일 랭크), Candlestick(7일 저점)",
        "description": "$59,080 이탈로 축적 후보 무효화 시 다중 모델이 공통 지목한 핵심 구조 저점 $57,758.60(Spring 저점=이전일 저점=레인지 저점=7일 저점)로 하방 유동성 스윕. WP1 후보 테이블의 유일 랭크 레벨(3.72% 거리)이자 주요 매도 유동성 목표. 이 지점 secondary test 성공 시 축적 재점화 가능성이 있어 최종 목표로 설정.",
        "est_hours": 21,
        "turning_zone": [
          57138.6,
          57758.6
        ],
        "likely_wick": 57500.0,
        "rejection_confirm": 58200.0,
        "invalid_overshoot": 56900.0,
        "calibration_reasoning": "다중 TF 저점이자 ext_1.0 이중 컨플루언스 $57,758.60을 존 상단으로 하는 터미널 광폭 존(0.65 ATR)을 설정하고, 저점 아래 라운드넘버 $57,500를 매도 유동성 자석으로 삼아 likely_wick 지정. 스윕 후 $58,200 재탈환 시 Spring/secondary test 성공(축적 재점화) 확정, 라운드 $57,000·존 하단 아래 $56,900 수용 시 터미널 바닥 무효(추가 마크다운)."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 60700,
        "expected_low": 59988.6,
        "high_first": true
      },
      "8h": {
        "expected_high": 60700,
        "expected_low": 59574.84,
        "high_first": true
      },
      "24h": {
        "expected_high": 60700,
        "expected_low": 57758.6,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 60758,
        "description": "4h 종가 기준 $60,520-$60,758 공급대 위 수용(단순 스윕 아닌 마감)시 ICT 약세 연속 시나리오 약화. $61,665 Wyckoff 레인지 EQ 재시험으로 전환되며 상방 가속(SOS 1차 관문)."
      },
      "bearish": {
        "price": 59080,
        "description": "$59,080 Wyckoff 메인 레인지 저점/SC 하회 시 Spring 축적 후보 무효화. EMA20·fib 0.618 지지 상실과 함께 $57,758.60 향한 하방 가속 확정."
      }
    },
    "scenario_invalidation": 61931.1,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.6,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 60700,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Derivatives(상단 청산 유동성 $60,700), Harmonic(bearish Gartley PRZ 하단 $60,710.58), Fibonacci(스윙 고점권 $60,758), ICT(이전일 고가 $60,520 상단 매수 유동성)\",\n      \"description\": \"캔들스틱 고거래량 bullish engulfing 2회 + Wyckoff Spring 회복 + CVD divergence 0.7이 지지하는 단기 반등이 이전일 고가 $60,520 위 정지주문(buy-side liquidity)을 스윕. $60,700 청산 유동성 · bearish Gartley PRZ 하단 $60,710.58 · 스윙 고점 $60,758 저항 클러스터에서 거부 예상. 24h OI -3.71% 감소로 반등 질이 약해 종가 수용보다 스윕성 고점 확률이 높음.\",\n      \"est_hours\": 3\n    },\n    {\n      \"seq\": 2,\n      \"price\": 59080.0,\n      \"type\": \"support_test\",\n      \"source\": \"Wyckoff(메인 레인지 저점/SC $59,080), Fibonacci(EMA20 $59,574.84 · ret_0.618 $59,612.41 · ret_0.5 $59,258.45 경유), Chairman 지지 클러스터\",\n      \"description\": \"$60,700 거부 후 ICT 약세 연속성($62,232.10 bearish BOS 하방 구조) 재개. EMA20 $59,574.84 / fib 0.618 $59,612.41 지지 클러스터를 이탈하며 Wyckoff 메인 레인지 저점 $59,080까지 하락. 이 레벨 유지 여부가 Phase C 축적 후보 존속을 좌우하는 핵심 관문으로, 여기서 1차 반응(눌림/반등 시도) 예상.\",\n      \"est_hours\": 11\n    },\n    {\n      \"seq\": 3,\n      \"price\": 57758.6,\n      \"type\": \"swing_low\",\n      \"source\": \"Wyckoff(Spring 저점 $57,758.60), ICT(previous day low·range low), Fibonacci(확장 지지·WP1 후보 테이블 유일 랭크), Candlestick(7일 저점)\",\n      \"description\": \"$59,080 이탈로 축적 후보 무효화 시 다중 모델이 공통 지목한 핵심 구조 저점 $57,758.60(Spring 저점=이전일 저점=레인지 저점=7일 저점)로 하방 유동성 스윕. WP1 후보 테이블의 유일 랭크 레벨(3.72% 거리)이자 주요 매도 유동성 목표. 이 지점 secondary test 성공 시 축적 재점화 가능성이 있어 최종 목표로 설정.\",\n      \"est_hours\": 21\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 60700, \"expected_low\": 59988.6, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 60700, \"expected_low\": 59574.84, \"high_first\": true},\n    \"24h\": {\"expected_high\": 60700, \"expected_low\": 57758.6, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 60758, \"description\": \"4h 종가 기준 $60,520-$60,758 공급대 위 수용(단순 스윕 아닌 마감)시 ICT 약세 연속 시나리오 약화. $61,665 Wyckoff 레인지 EQ 재시험으로 전환되며 상방 가속(SOS 1차 관문).\"},\n    \"bearish\": {\"price\": 59080, \"description\": \"$59,080 Wyckoff 메인 레인지 저점/SC 하회 시 Spring 축적 후보 무효화. EMA20·fib 0.618 지지 상실과 함께 $57,758.60 향한 하방 가속 확정.\"}\n  },\n  \"scenario_invalidation\": 61931.1\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 60700.0,
        "turning_zone": [
          60700.0,
          60980.0
        ],
        "likely_wick": 60780.0,
        "rejection_confirm": 60484.1,
        "invalid_overshoot": 61150.0,
        "calibration_reasoning": "저항 클러스터(청산 유동성 $60,700 · Gartley PRZ $60,710.58 · 스윙 고점 $60,758)로 존 하단을 고정하고 0.29 ATR 폭으로 스윙 고점 위 buy-side 유동성 스윕까지 확장(likely_wick $60,780). -3.71% OI 감소로 반등 질이 약해 얕은 거부가 유력하며, $60,484.10(이전일 고가 $60,520 하단) 재이탈 시 거부 확정·라운드넘버 $61,000 상방 수용 시 스윕 무효(추세 돌파)."
      },
      {
        "seq": 2,
        "base_target": 59080.0,
        "turning_zone": [
          58800.0,
          59080.0
        ],
        "likely_wick": 58970.0,
        "rejection_confirm": 59258.45,
        "invalid_overshoot": 58650.0,
        "calibration_reasoning": "이탈된 EMA20 $59,574.84 / fib 0.618 클러스터 아래 Wyckoff 레인지 저점 $59,080을 존 상단으로 두고, fib 0.382 $58,904.49와 라운드넘버 $59,000를 포함하는 0.29 ATR 폭 존 구성. 레인지 저점 아래 sell-side 스윕(likely_wick $58,970) 후 1차 반등 예상, $59,258.45 재탈환 시 반응 확정·fib 0.382 하단 $58,650 수용 시 Phase C 축적 무효화(→WP3 연속)."
      },
      {
        "seq": 3,
        "base_target": 57758.6,
        "turning_zone": [
          57138.6,
          57758.6
        ],
        "likely_wick": 57500.0,
        "rejection_confirm": 58200.0,
        "invalid_overshoot": 56900.0,
        "calibration_reasoning": "다중 TF 저점이자 ext_1.0 이중 컨플루언스 $57,758.60을 존 상단으로 하는 터미널 광폭 존(0.65 ATR)을 설정하고, 저점 아래 라운드넘버 $57,500를 매도 유동성 자석으로 삼아 likely_wick 지정. 스윕 후 $58,200 재탈환 시 Spring/secondary test 성공(축적 재점화) 확정, 라운드 $57,000·존 하단 아래 $56,900 수용 시 터미널 바닥 무효(추가 마크다운)."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 60700.00,\n      \"turning_zone\": [60700.00, 60980.00],\n      \"likely_wick\": 60780.00,\n      \"rejection_confirm\": 60484.10,\n      \"invalid_overshoot\": 61150.00,\n      \"calibration_reasoning\": \"저항 클러스터(청산 유동성 $60,700 · Gartley PRZ $60,710.58 · 스윙 고점 $60,758)로 존 하단을 고정하고 0.29 ATR 폭으로 스윙 고점 위 buy-side 유동성 스윕까지 확장(likely_wick $60,780). -3.71% OI 감소로 반등 질이 약해 얕은 거부가 유력하며, $60,484.10(이전일 고가 $60,520 하단) 재이탈 시 거부 확정·라운드넘버 $61,000 상방 수용 시 스윕 무효(추세 돌파).\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 59080.00,\n      \"turning_zone\": [58800.00, 59080.00],\n      \"likely_wick\": 58970.00,\n      \"rejection_confirm\": 59258.45,\n      \"invalid_overshoot\": 58650.00,\n      \"calibration_reasoning\": \"이탈된 EMA20 $59,574.84 / fib 0.618 클러스터 아래 Wyckoff 레인지 저점 $59,080을 존 상단으로 두고, fib 0.382 $58,904.49와 라운드넘버 $59,000를 포함하는 0.29 ATR 폭 존 구성. 레인지 저점 아래 sell-side 스윕(likely_wick $58,970) 후 1차 반등 예상, $59,258.45 재탈환 시 반응 확정·fib 0.382 하단 $58,650 수용 시 Phase C 축적 무효화(→WP3 연속).\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 57758.60,\n      \"turning_zone\": [57138.60, 57758.60],\n      \"likely_wick\": 57500.00,\n      \"rejection_confirm\": 58200.00,\n      \"invalid_overshoot\": 56900.00,\n      \"calibration_reasoning\": \"다중 TF 저점이자 ext_1.0 이중 컨플루언스 $57,758.60을 존 상단으로 하는 터미널 광폭 존(0.65 ATR)을 설정하고, 저점 아래 라운드넘버 $57,500를 매도 유동성 자석으로 삼아 likely_wick 지정. 스윕 후 $58,200 재탈환 시 Spring/secondary test 성공(축적 재점화) 확정, 라운드 $57,000·존 하단 아래 $56,900 수용 시 터미널 바닥 무효(추가 마크다운).\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 54.1,
      "chairman": 96.2,
      "operating_path": 262.3,
      "tp_calibrator": 193.3
    },
    "agents": {},
    "total_s": 606.0
  }
}