BTC/USDT 4H Council Report

Signal: BEARISH (61%)  |  Price: $60,414.30  |  2026-06-30 05:00 KST  |  300 candles

Council: 1 bullish, 3 neutral, 2 bearish  |  Support: $60,242 / $60,186 / $59,819  |  Resistance: $60,758 / $60,925 / $61,126

result.json   raw.txt   report.md


BTC Chart

Executive Summary

BTC/USDT 4시간 구조는 다수 구조 판정 기준상 아직 bearish로 평가한다. 다만 Wyckoff 관점에서는 $58,288 Spring 및 $58,850 Terminal Spring 이후 $59,080 레인지 저점 위로 재진입한 축적 Phase C 후보이며, 아직 SOS 또는 LPS가 확인되지 않은 ‘Spring 회복 테스트’ 위치다. 현재가는 Wyckoff EQ $61,665 및 ICT EQ $61,813.60 아래의 할인 구간에 있으며, $60,186-$60,241 단기 방어 클러스터 위에 머물지만 $62,232.10 bearish BOS와 EMA120 $63,053.14 아래에 있어 상위 구조 전환은 미확정이다. 핵심 구조 리스크는 $58,850-$59,080 재이탈 시 Spring 실패로 해석될 수 있다는 점이고, 반대로 bearish 구조의 무효화는 $62,232.10 회복 이후 $63,053.14 위 4시간 수용이 필요하다.

Confluences

Conflicts


Agent Matrix

AgentSignalConfidenceSupportResistance
Wyckoff ExpertBULLISH66%$59,080 / $58,850$61,665 / $63,053
ICT TraderBEARISH78%$58,850 / $58,030$60,758 / $61,814
Derivatives TraderBEARISH62%$60,186 / $58,030$61,900 / $62,200
Candlestick ReaderNEUTRAL54%$60,186 / $58,030$63,053 / $64,637
Fibonacci AnalystNEUTRAL55%$60,242 / $59,819$60,925 / $61,712
Harmonic SpecialistNEUTRAL44%$59,626 / $59,060$61,126 / $61,637

Agent Details

Wyckoff Expert — BULLISH (66%)

Support: $59,080 / $58,850 / $58,288 | Resistance: $61,665 / $63,053 / $63,650 | Horizon: medium term

4시간 구조는 regime=ACC, acc_score 87.2, regime_fitness 0.872로 축적 후보가 우세하며, 확인된 이벤트 체인은 SC $59,080 → AR $64,250 → ST $63,650 → Spring $58,288 → TERMINAL_SPRING $58,850입니다. 현재가 $60,414.30은 Spring 및 TERMINAL_SPRING 저점 위, 메인 레인지 저점 $59,080 위에 있어 Phase C의 스프링 회복 시나리오가 유지됩니다. 다만 아직 SOS 또는 LPS가 검출되지 않았고, 가격도 레인지 EQ 약 $61,665 및 AR $64,250 아래에 있어 구조적 편향은 bullish지만 확정적인 상승 전개가 아니라 테스트/재확인 단계입니다. 단기적으로는 $59,080~$58,850 방어 여부가 핵심이며, $61,665 회복 후 유지가 되어야 $63,650~$64,250 상단 테스트 가능성이 높아집니다.
ICT Trader — BEARISH (78%)

Support: $58,850 / $58,030 | Resistance: $60,758 / $61,814 / $62,232 | Horizon: short/medium term

확정 구조는 bearish입니다. BOS 시퀀스가 $76,014.20, $74,203.60, $72,436.00 이후 최근 $62,232.10 bearish BOS로 마감되어 있으며, 현재가 $60,414.30은 해당 구조 레벨 아래에서 거래되고 있습니다. 가격은 EQ $61,813.60 아래 discount에 있어 단순 위치만 보면 반등 여지는 있으나, 전일 고점 $60,758.30도 아직 돌파하지 못했고 EMA120 $63,053.14 및 EMA240 $66,514.04 아래에 있어 되돌림성 매수로 판단됩니다. 활성 bullish OB, 미충족 bullish FVG, 최근 liquidity sweep이 모두 부재하므로 하방 $58,850.00 전일 저점과 $58,030.00 range low 유동성 재공격 가능성이 우세합니다.
Derivatives Trader — BEARISH (62%)

Support: $60,186 / $58,030 / $54,000 | Resistance: $61,900 / $62,200 / $62,700 | Horizon: 단기: 파생 포지셔닝 선행성을 감안한 4~24시간 관점

확정 구조는 현재가 $60,414.30이 EMA120 $63,053.14와 EMA240 $66,514.04 아래에 머물러 있어 bearish로 판단한다. 단기적으로 EMA20 $60,186.01 위를 간신히 회복했지만, OI가 24시간 -1.6290% 감소한 상태에서의 반등은 신규 매수 추세라기보다 숏커버 또는 포지션 축소 성격이 강하다. 롱 계정 비율이 0.675이고 account_long_crowding이 1.000으로 극단적 롱 쏠림을 보이는 반면, funding_pressure는 0.441로 강한 롱 수요를 확인해주지 못한다. 상단 $61,900, $62,200, $62,700 청산 구간은 단기적으로 가격을 끌어올릴 수 있으나, 이 구간에서 수용 실패 시 $58,030 7일 저점 재시험 가능성이 높다.
Candlestick Reader — NEUTRAL (54%)

Support: $60,186 / $58,030 | Resistance: $63,053 / $64,637 / $66,514 | Horizon: short term

현재 BTC는 $60,414.30으로 EMA20 $60,186.01을 소폭 상회하지만, EMA120 $63,053.14보다 -4.2%, EMA240 $66,514.04보다 -9.2% 낮아 확정 구조는 아직 bearish로 판단된다. 최근 패턴은 bearish_engulfing@292와 morning_star@295가 충돌하며, doji가 다수 반복되어 매도 압력 둔화는 보이지만 확정 반전 신호로 보기에는 best_pattern_quality 0.577로 강도가 제한적이다. 다만 7일 저점 $58,030.00에서 반등 후 마지막 5개 캔들 중 최근 캔들이 +1.0% 상승했고, bull_score 0.800이 bear_score 0.750을 소폭 앞서 단기 setup_bias는 bullish이다. 핵심은 $63,053.14 EMA120을 회복해 구조적 수용을 만들 수 있는지이며, 실패 시 $60,186.01 EMA20과 $58,030.00 저점 재시험 가능성이 남아 있다.
Fibonacci Analyst — NEUTRAL (55%)

Support: $60,242 / $59,819 / $59,477 | Resistance: $60,925 / $61,712 / $62,123 | Horizon: short term

BTC는 $58,030 저점에서 $60,925 고점까지의 단기 상승 스윙 이후 현재 $60,414.30에서 0.236 되돌림 $60,241.55를 테스트하고 있으며, 피보나치 반응 상태는 testing, 반응 확률은 0.65로 산출된다. 구조적으로는 EMA120 $63,053.14와 EMA240 $66,514.04 아래에 있어 중기 하락 압력이 남아 있지만, 단기적으로는 EMA20 $60,186.01 위와 얕은 되돌림 구간을 유지하고 있어 확정적 약세 구조 전환으로 보기는 어렵다. 셋업 관점에서는 $60,241.55 방어 시 $60,924.70 재테스트, 이후 $61,712.06 및 $62,123.11 확장 목표가 열릴 수 있다. 반대로 $60,241.55를 이탈하면 $59,818.92, $59,477.35, 특히 골든 비율 $59,135.78까지 되돌림이 깊어질 위험이 커진다.
Harmonic Specialist — NEUTRAL (44%)

Support: $59,626 / $59,060 / $58,407 | Resistance: $61,126 / $61,637 / $61,844 | Horizon: short to medium term

4시간 기준 가격은 EMA20 $60,186.01 위에 간신히 재진입했지만 EMA120 $63,053.14 및 EMA240 $66,514.04 아래에 있어 확인된 구조/레짐은 아직 bearish로 본다. 반면 하모닉 관점의 setup은 현재가 $60,414.30이 nearest PRZ $60,376.05와 사실상 동일한 활성 반전 후보 구간에 있고, bullish Bat/Shark/Butterfly PRZ들이 $60,600-$61,850 부근에 밀집해 있어 단기 bullish reaction setup이 존재한다. 그러나 council_relevant_prz_count=0, directional_influence_prz_count=0, actionable_patterns_list가 비어 있으며, 대부분은 pre-confirmation 상태라 메인 경로를 뒤집을 권한은 없다. 특히 같은 영역에 bearish Gartley PRZ $60,715.71-$61,637.48도 겹치므로 $61,600-$61,850 상단에서 거절되면 반등은 단순 PRZ 반응에 그칠 수 있다.

Operating Path — complex (57%)

#PriceTypeSourceEst. HoursDescription
1$61,665resistance_testwyckoff(EQ $61,665), ict(EQ $61,813.60·전일고점 $60,758.30), harmonic(PRZ $61,637-$61,843·bearish Gartley $60,716-$61,637), derivatives(청산대 $61,900), fibonacci($60,924.70→$61,712.06)6.0셋업 bullish(64%)이므로 첫 웨이포인트는 상방. 현재가 $60,414는 EMA20 $60,186·Fib 0.236 $60,241 방어 클러스터 위 Spring 회복 상태로, 전일 고점 $60,758(buy-side 유동성) 돌파 후 $60,925(Fib 스윙 고점)·$61,126(Harmonic PRZ)를 거쳐 핵심 균형/저항 클러스터로 흡인된다. Wyckoff EQ $61,665, ICT EQ $61,813.60, Harmonic PRZ $61,637-$61,844, 파생 청산대 $61,900가 중첩. 다만 bearish Gartley PRZ·EMA120/bearish BOS 하단·롱 과밀(0.675)·OI -1.63%로 이 구간은 '유동성 회수 후 거절' 우세.
2$60,186support_testcandlestick(EMA20 $60,186.01), fibonacci(0.236 $60,241.55), ict(되돌림성 매수 판정), derivatives(반등 질 낮음)13.0EQ 거절 후 bearish 구조 재개. ICT(78%)·Derivatives(62%)가 EMA120 하단 되돌림성 매수로 평가하므로, 전일 고점 미수용 시 1차 방어선인 EMA20 $60,186.01 + Fib 0.236 $60,241.55 클러스터로 회귀해 단기 지지 테스트. 여기 수용 실패가 다음 하락의 트리거.
3$59,136support_testfibonacci(0.618 골든 $59,135.78), wyckoff(레인지 저점 $59,080), harmonic($59,060), ict(전일저점 $58,850 인접)21.0방어 클러스터 이탈 시 밀집 지지대 $58,850-$59,135로 하락. Fib 0.618 골든 $59,135.78·Wyckoff 메인 레인지 저점 $59,080·Harmonic $59,060이 중첩하는 Spring 방어선 테스트 구간. 유지 시 재축적(Wyckoff bullish 66%) 시나리오 생존, 이탈 시 Spring 실패로 $58,030 가속.

Period Extremes

HorizonExpected LowExpected HighSequence
4h$60,242$61,126High first
8h$60,242$61,665High first
24h$58,850$61,665High first

Triggers

Invalidation: $63,053

Raw Operating Path Response
```json
{
  "path_type": "complex",
  "confidence": 0.57,
  "executive_summary": "구조 판정은 bearish(61%)이나 단기 실행 셋업이 bullish(64%, 강도 0.64)로 상충하는 corrective 국면이다. 셋업 우선 규칙(setup_strength ≥ 0.5)에 따라 1차 웨이포인트는 상방 — Spring 회복·Fib 0.236 방어·EMA20 재진입을 동력으로 전일 고점 $60,758(buy-side 유동성) 회수 후 EQ/청산 클러스터 $61,665로 흡인. 이후 롱 과밀(0.675)·OI -1.63%·EMA120/bearish BOS 하단 거절로 bearish 구조가 재개되어 EMA20/Fib 방어 $60,186 → 밀집 지지 $58,850-$59,135로 하락하는 경로다.",
  "key_insight": "현재는 하락 구조 안의 Spring 회복/재축적 테스트 구간. 상방은 EQ $61,665-$61,900에서 거절되는 '유동성 회수' 성격이 우세하고($61,716-$61,844 Harmonic Gartley·Bat PRZ 중첩), 하방은 $58,850-$59,080 Spring 방어선이 base case 지지. $59,080 레인지 저점 이탈(=Spring 실패) 또는 $62,232 BOS 회복이 다음 메인 방향을 결정한다.",
  "waypoints": [
    {
      "seq": 1,
      "price": 61665.0,
      "type": "resistance_test",
      "source": "wyckoff(EQ $61,665), ict(EQ $61,813.60·전일고점 $60,758.30), harmonic(PRZ $61,637-$61,843·bearish Gartley $60,716-$61,637), derivatives(청산대 $61,900), fibonacci($60,924.70→$61,712.06)",
      "description": "셋업 bullish(64%)이므로 첫 웨이포인트는 상방. 현재가 $60,414는 EMA20 $60,186·Fib 0.236 $60,241 방어 클러스터 위 Spring 회복 상태로, 전일 고점 $60,758(buy-side 유동성) 돌파 후 $60,925(Fib 스윙 고점)·$61,126(Harmonic PRZ)를 거쳐 핵심 균형/저항 클러스터로 흡인된다. Wyckoff EQ $61,665, ICT EQ $61,813.60, Harmonic PRZ $61,637-$61,844, 파생 청산대 $61,900가 중첩. 다만 bearish Gartley PRZ·EMA120/bearish BOS 하단·롱 과밀(0.675)·OI -1.63%로 이 구간은 '유동성 회수 후 거절' 우세.",
      "est_hours": 6.0
    },
    {
      "seq": 2,
      "price": 60186.01,
      "type": "support_test",
      "source": "candlestick(EMA20 $60,186.01), fibonacci(0.236 $60,241.55), ict(되돌림성 매수 판정), derivatives(반등 질 낮음)",
      "description": "EQ 거절 후 bearish 구조 재개. ICT(78%)·Derivatives(62%)가 EMA120 하단 되돌림성 매수로 평가하므로, 전일 고점 미수용 시 1차 방어선인 EMA20 $60,186.01 + Fib 0.236 $60,241.55 클러스터로 회귀해 단기 지지 테스트. 여기 수용 실패가 다음 하락의 트리거.",
      "est_hours": 13.0
    },
    {
      "seq": 3,
      "price": 59135.78,
      "type": "support_test",
      "source": "fibonacci(0.618 골든 $59,135.78), wyckoff(레인지 저점 $59,080), harmonic($59,060), ict(전일저점 $58,850 인접)",
      "description": "방어 클러스터 이탈 시 밀집 지지대 $58,850-$59,135로 하락. Fib 0.618 골든 $59,135.78·Wyckoff 메인 레인지 저점 $59,080·Harmonic $59,060이 중첩하는 Spring 방어선 테스트 구간. 유지 시 재축적(Wyckoff bullish 66%) 시나리오 생존, 이탈 시 Spring 실패로 $58,030 가속.",
      "est_hours": 21.0
    }
  ],
  "period_extremes": {
    "4h":  {"expected_high": 61126.19, "expected_low": 60241.55, "high_first": true},
    "8h":  {"expected_high": 61665.0,  "expected_low": 60241.55, "high_first": true},
    "24h": {"expected_high": 61665.0,  "expected_low": 58850.0,  "high_first": true}
  },
  "triggers": {
    "bullish": {"price": 62232.10, "description": "ICT bearish BOS $62,232.10 회복. 4h 수용 시 되돌림성 매수가 아닌 추세 전환으로 격상되어 EMA120 $63,053.14 → $63,650/$64,250 상단 테스트로 가속. 경로의 하락 레그 무력화."},
    "bearish": {"price": 58850.0,  "description": "Terminal Spring $58,850 및 레인지 저점 $59,080 동반 이탈 = Spring 실패. ICT·Derivatives 타깃인 $58,288 Spring 저점 → $58,030 7일 저점/레인지 저점 유동성 재공격으로 가속, 파생 하방 $54,000까지 열림."}
  },
  "scenario_invalidation": 63053.14
}
```

Raw Chairman Response
{
  "overall_signal": "bearish",
  "overall_confidence": 0.61,
  "execution_setup": {
    "setup_bias": "bullish",
    "setup_strength": 0.64,
    "active_setups": [
      "Wyckoff: Phase C Spring $58,288 및 Terminal Spring $58,850 이후 메인 레인지 저점 $59,080 위로 재진입",
      "Fibonacci: 단기 상승 스윙 $58,030→$60,925의 0.236 되돌림 $60,241.55 위에서 테스트 중",
      "Candlestick: EMA20 $60,186.01 위 재진입 및 $58,030 부근 morning_star 후보",
      "Harmonic: 활성 PRZ $59,625.91-$61,126.19 내부, 중심값 $60,376.05와 현재가 근접",
      "반대 조건: ICT bearish BOS $62,232.10 아래 재수용 실패 및 전일 고점 $60,758.30 미돌파",
      "반대 조건: 파생 포지셔닝에서 롱 계정 비율 0.675, 롱 과밀과 OI 24h -1.629%로 반등의 구조적 질이 낮음"
    ],
    "setup_vs_structure": "구조적 판정은 아직 bearish이나, 단기 실행 셋업은 Spring 회복·얕은 피보나치 되돌림 방어·EMA20 재진입으로 bullish 반응이 우세하다. 즉 현재는 하락 구조 안의 반등/재축적 테스트 구간이며, 실행 셋업과 구조가 완전히 정렬되어 있지는 않다."
  },
  "signal_breakdown": {
    "bullish_count": 1,
    "bearish_count": 2,
    "neutral_count": 3
  },
  "key_levels": {
    "support": [
      60241.55,
      60186.01,
      59818.92,
      59135.78,
      59080.0,
      58850.0,
      58288.0,
      58030.0
    ],
    "resistance": [
      60758.3,
      60924.7,
      61126.19,
      61665.0,
      61813.6,
      61900.0,
      62232.1,
      63053.14,
      63650.0,
      64250.0
    ]
  },
  "confluences": [
    "EMA20 $60,186.01와 Fibonacci 0.236 되돌림 $60,241.55가 현재가 바로 아래의 단기 방어 클러스터를 형성한다.",
    "Wyckoff 메인 레인지 저점 $59,080, Fibonacci 0.618 골든레벨 $59,135.78, Harmonic $59,060, ICT 전일 저점 $58,850이 $58,850-$59,135 구간에 밀집한다.",
    "ICT range low $58,030, Candlestick 7일 저점 $58,030, Derivatives 하방 재시험 레벨 $58,030, Harmonic support $58,030이 동일한 구조 저점으로 일치한다.",
    "Wyckoff EQ $61,665, ICT EQ $61,813.60, Fibonacci 확장 $61,712.06, Harmonic PRZ $61,637.48-$61,843.92가 $61,600-$61,850 구간을 핵심 균형/저항대로 만든다.",
    "ICT bearish BOS $62,232.10, Fibonacci 확장 $62,123.11, Harmonic PRZ 상단 $62,153.24-$62,254.99, Derivatives 청산대 $62,200가 $62,100-$62,250 부근에서 중첩된다.",
    "EMA120 $63,053.14는 Fibonacci, Candlestick, Derivatives, Harmonic 모두가 구조적 상단 기준으로 제시한 공통 저항이다."
  ],
  "conflicts": [
    "Wyckoff는 $58,288 Spring 및 $58,850 Terminal Spring 이후 $59,080 위 재진입을 근거로 축적 Phase C의 bullish 구조를 제시하지만, ICT는 최근 bearish BOS $62,232.10 아래 거래와 bullish OB/FVG 부재를 근거로 bearish 구조를 유지한다.",
    "단기 실행 셋업은 Wyckoff, Fibonacci, Candlestick, Harmonic이 모두 bullish 쪽으로 기울어 있으나, 구조 판정은 ICT, Candlestick, Derivatives, Harmonic이 EMA120 $63,053.14 및 EMA240 $66,514.04 하단 체류를 이유로 bearish로 본다.",
    "Harmonic은 $60,600-$61,850에 bullish Bat/Shark PRZ를 제시하는 동시에 bearish Gartley PRZ $60,715.71-$61,637.48도 겹쳐, 같은 가격대가 반전 후보와 거절 후보를 동시에 포함한다.",
    "Derivatives는 상단 $61,900-$62,700 청산대가 단기 흡인력으로 작용할 수 있음을 인정하지만, 롱 계정 과밀과 OI 감소 때문에 그 반등의 구조적 신뢰도는 낮게 평가한다."
  ],
  "highest_conviction_analyst": "ICT Trader — 최근 bearish BOS $62,232.10, 이전 bearish BOS 연쇄 $76,014.20/$74,203.60/$72,436.00, EQ $61,813.60 하단 discount 체류, 전일 고점 $60,758.30 미돌파, bullish OB/FVG 부재를 모두 구체적 가격으로 제시해 구조 판정의 일관성과 실행 리스크가 가장 명확하다.",
  "invalidation_level": "$63,053.14 4시간 종가 회복 및 수용; 선행 조건으로 $62,232.10 bearish BOS 레벨 회복 필요",
  "executive_summary": "BTC/USDT 4시간 구조는 다수 구조 판정 기준상 아직 bearish로 평가한다. 다만 Wyckoff 관점에서는 $58,288 Spring 및 $58,850 Terminal Spring 이후 $59,080 레인지 저점 위로 재진입한 축적 Phase C 후보이며, 아직 SOS 또는 LPS가 확인되지 않은 ‘Spring 회복 테스트’ 위치다. 현재가는 Wyckoff EQ $61,665 및 ICT EQ $61,813.60 아래의 할인 구간에 있으며, $60,186-$60,241 단기 방어 클러스터 위에 머물지만 $62,232.10 bearish BOS와 EMA120 $63,053.14 아래에 있어 상위 구조 전환은 미확정이다. 핵심 구조 리스크는 $58,850-$59,080 재이탈 시 Spring 실패로 해석될 수 있다는 점이고, 반대로 bearish 구조의 무효화는 $62,232.10 회복 이후 $63,053.14 위 4시간 수용이 필요하다."
}
Full Result JSON
{
  "symbol": "BTC/USDT",
  "timeframe": "4h",
  "timestamp": "2026-06-30 05:00 KST",
  "last_price": 60414.3,
  "num_candles": 300,
  "stage1_analyses": {
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bullish",
      "confidence": 0.66,
      "structure_bias": "bullish",
      "setup_bias": "bullish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $60,414.30은 메인 레인지 저점 $59,080.00 위로 재진입하여 Spring 이후 저점 회복 상태",
        "Phase C Spring $58,288.00 및 TERMINAL_SPRING $58,850.00 이후 가격이 레인지 내부로 복귀",
        "현재가가 레인지 EQ 약 $61,665.00 아래에 있어 아직 할인 구간이며, 상단 추격보다는 테스트/재축적 성격",
        "SOS/LPS가 아직 검출되지 않아 상승 구조는 우호적이나 후속 확인은 미완성"
      ],
      "reasoning": "4시간 구조는 regime=ACC, acc_score 87.2, regime_fitness 0.872로 축적 후보가 우세하며, 확인된 이벤트 체인은 SC $59,080 → AR $64,250 → ST $63,650 → Spring $58,288 → TERMINAL_SPRING $58,850입니다. 현재가 $60,414.30은 Spring 및 TERMINAL_SPRING 저점 위, 메인 레인지 저점 $59,080 위에 있어 Phase C의 스프링 회복 시나리오가 유지됩니다. 다만 아직 SOS 또는 LPS가 검출되지 않았고, 가격도 레인지 EQ 약 $61,665 및 AR $64,250 아래에 있어 구조적 편향은 bullish지만 확정적인 상승 전개가 아니라 테스트/재확인 단계입니다. 단기적으로는 $59,080~$58,850 방어 여부가 핵심이며, $61,665 회복 후 유지가 되어야 $63,650~$64,250 상단 테스트 가능성이 높아집니다.",
      "key_levels": {
        "support": [
          59080.0,
          58850.0,
          58288.0,
          58030.0
        ],
        "resistance": [
          61665.0,
          63053.14,
          63650.0,
          64250.0,
          64637.1
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$58,288.00 하향 이탈 및 4시간 종가 기준 회복 실패",
      "risk_scenario": "$59,080 메인 레인지 저점과 $58,850 TERMINAL_SPRING 저점을 다시 잃으면 Spring 회복 실패로 해석되며, $58,288 이탈 시 Phase C 축적 시나리오는 훼손되고 $58,030 7일 저점 및 그 아래 유동성 재탐색 가능성이 커집니다.",
      "data_quality": "medium",
      "metrics": {
        "acc_score": 87.2,
        "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",
          "TERMINAL_SPRING"
        ],
        "last_phase": "TERMINAL_SPRING",
        "phase_candidates": [
          {
            "label": "SC",
            "side": "low",
            "idx": 155,
            "price": 59080.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 168,
            "price": 64250.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 209,
            "price": 63650.0,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 277,
            "price": 58288.0,
            "color": "#f9844a"
          },
          {
            "label": "TERMINAL_SPRING",
            "side": "low",
            "idx": 295,
            "price": 58850.0,
            "color": "#f3722c"
          }
        ],
        "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": 155,
            "end_idx": 295,
            "phase_count": 5,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 155,
                "price": 59080.0,
                "color": "#ffd166",
                "dt": "2026-06-06 01:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 168,
                "price": 64250.0,
                "color": "#06d6a0",
                "dt": "2026-06-08 05:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 209,
                "price": 63650.0,
                "color": "#118ab2",
                "dt": "2026-06-15 01:00:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 277,
                "price": 58288.0,
                "color": "#f9844a",
                "dt": "2026-06-26 09:00:00+09:00"
              },
              {
                "label": "TERMINAL_SPRING",
                "side": "low",
                "idx": 295,
                "price": 58850.0,
                "color": "#f3722c",
                "dt": "2026-06-29 09:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "4h_cycle_1",
        "primary_structure_id": "4h_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.871613712374582,
        "current_event": "TERMINAL_SPRING",
        "major_phase": "C",
        "pos_in_range": 0.5,
        "main_range_low": 59080.0,
        "main_range_high": 64250.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.66,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $60,414.30은 메인 레인지 저점 $59,080.00 위로 재진입하여 Spring 이후 저점 회복 상태\",\n    \"Phase C Spring $58,288.00 및 TERMINAL_SPRING $58,850.00 이후 가격이 레인지 내부로 복귀\",\n    \"현재가가 레인지 EQ 약 $61,665.00 아래에 있어 아직 할인 구간이며, 상단 추격보다는 테스트/재축적 성격\",\n    \"SOS/LPS가 아직 검출되지 않아 상승 구조는 우호적이나 후속 확인은 미완성\"\n  ],\n  \"reasoning\": \"4시간 구조는 regime=ACC, acc_score 87.2, regime_fitness 0.872로 축적 후보가 우세하며, 확인된 이벤트 체인은 SC $59,080 → AR $64,250 → ST $63,650 → Spring $58,288 → TERMINAL_SPRING $58,850입니다. 현재가 $60,414.30은 Spring 및 TERMINAL_SPRING 저점 위, 메인 레인지 저점 $59,080 위에 있어 Phase C의 스프링 회복 시나리오가 유지됩니다. 다만 아직 SOS 또는 LPS가 검출되지 않았고, 가격도 레인지 EQ 약 $61,665 및 AR $64,250 아래에 있어 구조적 편향은 bullish지만 확정적인 상승 전개가 아니라 테스트/재확인 단계입니다. 단기적으로는 $59,080~$58,850 방어 여부가 핵심이며, $61,665 회복 후 유지가 되어야 $63,650~$64,250 상단 테스트 가능성이 높아집니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59080.0,\n      58850.0,\n      58288.0,\n      58030.0\n    ],\n    \"resistance\": [\n      61665.0,\n      63053.14,\n      63650.0,\n      64250.0,\n      64637.1\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$58,288.00 하향 이탈 및 4시간 종가 기준 회복 실패\",\n  \"risk_scenario\": \"$59,080 메인 레인지 저점과 $58,850 TERMINAL_SPRING 저점을 다시 잃으면 Spring 회복 실패로 해석되며, $58,288 이탈 시 Phase C 축적 시나리오는 훼손되고 $58,030 7일 저점 및 그 아래 유동성 재탐색 가능성이 커집니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.55,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $60,414.30이 단기 상승 스윙 $58,030→$60,925의 0.236 되돌림 $60,241.55 바로 위에서 테스트 중",
        "EMA20 $60,186.01 위에 가격이 위치해 단기 반등 유지 조건은 살아 있음",
        "스윙 EQ/0.5 되돌림 $59,477.35 위에 있어 아직 깊은 할인 구간 진입은 아님",
        "골든 비율 0.618 되돌림 $59,135.78이 핵심 하방 방어선으로 대기",
        "상단에는 직전 스윙 고점/1.0 확장 $60,924.70과 1.272 확장 $61,712.06이 가까운 저항으로 존재"
      ],
      "reasoning": "BTC는 $58,030 저점에서 $60,925 고점까지의 단기 상승 스윙 이후 현재 $60,414.30에서 0.236 되돌림 $60,241.55를 테스트하고 있으며, 피보나치 반응 상태는 testing, 반응 확률은 0.65로 산출된다. 구조적으로는 EMA120 $63,053.14와 EMA240 $66,514.04 아래에 있어 중기 하락 압력이 남아 있지만, 단기적으로는 EMA20 $60,186.01 위와 얕은 되돌림 구간을 유지하고 있어 확정적 약세 구조 전환으로 보기는 어렵다. 셋업 관점에서는 $60,241.55 방어 시 $60,924.70 재테스트, 이후 $61,712.06 및 $62,123.11 확장 목표가 열릴 수 있다. 반대로 $60,241.55를 이탈하면 $59,818.92, $59,477.35, 특히 골든 비율 $59,135.78까지 되돌림이 깊어질 위험이 커진다.",
      "key_levels": {
        "support": [
          60241.55,
          59818.92,
          59477.35,
          59135.78,
          58649.47
        ],
        "resistance": [
          60924.7,
          61712.06,
          62123.11,
          62713.62,
          63819.4
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,135.78",
      "risk_scenario": "$60,241.55의 0.236 되돌림 지지가 실패하면 단기 상승 셋업은 약화되고, $59,818.92와 $59,477.35를 거쳐 핵심 골든 비율 $59,135.78까지 하락할 수 있다. $59,135.78마저 종가 기준으로 이탈하면 $58,649.47 및 스윙 저점 $58,030 재검증 가능성이 커진다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "Low→High: $58,030 → $60,925",
        "direction": "up",
        "nearest_fib": "ret_0.236",
        "nearest_fib_price": 60241.55,
        "nearest_fib_distance": 0.29,
        "golden_ratio_level": 59135.78,
        "fib_ret_382": 59818.92,
        "fib_ret_618": 59135.78,
        "confluence_zones": [
          {
            "price": 63807.5,
            "count": 2,
            "levels": [
              "ret_0.236",
              "ext_2.0"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          60241.5508,
          59818.9246,
          59477.35
        ],
        "resistance_levels": [
          60924.7,
          61712.058399999994,
          62123.1058
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 60241.55,
            "distance_pct": 0.29,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.382",
            "price": 59818.92,
            "distance_pct": 0.99,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.5",
            "price": 59477.35,
            "distance_pct": 1.55,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.618",
            "price": 59135.78,
            "distance_pct": 2.12,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.786",
            "price": 58649.47,
            "distance_pct": 2.92,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 60924.7,
            "distance_pct": 0.84,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 61712.06,
            "distance_pct": 2.15,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.414",
            "price": 62123.11,
            "distance_pct": 2.83,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.618",
            "price": 62713.62,
            "distance_pct": 3.81,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 63819.4,
            "distance_pct": 5.64,
            "is_support": false,
            "cluster_score": 0.6
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.55,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"현재가 $60,414.30이 단기 상승 스윙 $58,030→$60,925의 0.236 되돌림 $60,241.55 바로 위에서 테스트 중\",\n    \"EMA20 $60,186.01 위에 가격이 위치해 단기 반등 유지 조건은 살아 있음\",\n    \"스윙 EQ/0.5 되돌림 $59,477.35 위에 있어 아직 깊은 할인 구간 진입은 아님\",\n    \"골든 비율 0.618 되돌림 $59,135.78이 핵심 하방 방어선으로 대기\",\n    \"상단에는 직전 스윙 고점/1.0 확장 $60,924.70과 1.272 확장 $61,712.06이 가까운 저항으로 존재\"\n  ],\n  \"reasoning\": \"BTC는 $58,030 저점에서 $60,925 고점까지의 단기 상승 스윙 이후 현재 $60,414.30에서 0.236 되돌림 $60,241.55를 테스트하고 있으며, 피보나치 반응 상태는 testing, 반응 확률은 0.65로 산출된다. 구조적으로는 EMA120 $63,053.14와 EMA240 $66,514.04 아래에 있어 중기 하락 압력이 남아 있지만, 단기적으로는 EMA20 $60,186.01 위와 얕은 되돌림 구간을 유지하고 있어 확정적 약세 구조 전환으로 보기는 어렵다. 셋업 관점에서는 $60,241.55 방어 시 $60,924.70 재테스트, 이후 $61,712.06 및 $62,123.11 확장 목표가 열릴 수 있다. 반대로 $60,241.55를 이탈하면 $59,818.92, $59,477.35, 특히 골든 비율 $59,135.78까지 되돌림이 깊어질 위험이 커진다.\",\n  \"key_levels\": {\n    \"support\": [\n      60241.55,\n      59818.92,\n      59477.35,\n      59135.78,\n      58649.47\n    ],\n    \"resistance\": [\n      60924.7,\n      61712.06,\n      62123.11,\n      62713.62,\n      63819.4\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,135.78\",\n  \"risk_scenario\": \"$60,241.55의 0.236 되돌림 지지가 실패하면 단기 상승 셋업은 약화되고, $59,818.92와 $59,477.35를 거쳐 핵심 골든 비율 $59,135.78까지 하락할 수 있다. $59,135.78마저 종가 기준으로 이탈하면 $58,649.47 및 스윙 저점 $58,030 재검증 가능성이 커진다.\",\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.917,
      "setup_signals": [
        "현재가 $60,414.30이 EQ $61,813.60 아래의 discount 영역에 있으나, 최근 bearish BOS $62,232.10 하단에서 재수용 실패 상태",
        "단기 bullish retracement가 66.9% 진행되었지만 EMA120 $63,053.14 및 EMA240 $66,514.04 아래에 있어 기관 관점의 약한 되돌림으로 해석",
        "전일 고점 $60,758.30 미돌파 상태로 buy-side liquidity 회수 실패, 단기 저항으로 작용",
        "range low $58,030.00 및 전일 저점 $58,850.00이 하방 sell-side liquidity 타깃으로 남아 있음",
        "활성 bullish OB와 미충족 bullish FVG가 없으며, 하방 방어 배열이 약함"
      ],
      "reasoning": "확정 구조는 bearish입니다. BOS 시퀀스가 $76,014.20, $74,203.60, $72,436.00 이후 최근 $62,232.10 bearish BOS로 마감되어 있으며, 현재가 $60,414.30은 해당 구조 레벨 아래에서 거래되고 있습니다. 가격은 EQ $61,813.60 아래 discount에 있어 단순 위치만 보면 반등 여지는 있으나, 전일 고점 $60,758.30도 아직 돌파하지 못했고 EMA120 $63,053.14 및 EMA240 $66,514.04 아래에 있어 되돌림성 매수로 판단됩니다. 활성 bullish OB, 미충족 bullish FVG, 최근 liquidity sweep이 모두 부재하므로 하방 $58,850.00 전일 저점과 $58,030.00 range low 유동성 재공격 가능성이 우세합니다.",
      "key_levels": {
        "support": [
          58850.0,
          58030.0
        ],
        "resistance": [
          60758.3,
          61813.6,
          62232.1,
          64250.0,
          65597.2
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$62,232.10 4H 종가 기준 회복 및 수용",
      "risk_scenario": "반대로 가격이 전일 고점 $60,758.30을 돌파한 뒤 EQ $61,813.60 위에서 수용되고, 특히 $62,232.10 bearish BOS 레벨을 4H 종가로 회복하면 단기 bearish setup은 무효화됩니다. 그 경우 $64,250.00 이전 bullish BOS 레벨과 7일 고점 $64,637.10까지 buy-side liquidity 회수 움직임이 나올 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 2,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 2,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": {
          "bottom": 76234.7,
          "top": 78077.1,
          "quality": "candidate",
          "score": 0.56
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 0,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 55,
        "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": 61813.6,
        "range_high": 65597.2,
        "range_low": 58030.0,
        "bull_score": 4.5,
        "bear_score": 10.0,
        "setup_bias": "bearish",
        "setup_score": 0.917,
        "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": 66.9,
        "deepest_retracement_pct": 71.7,
        "previous_day_high": 60758.3,
        "previous_day_low": 58850.0,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.78,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.917,\n  \"setup_signals\": [\n    \"현재가 $60,414.30이 EQ $61,813.60 아래의 discount 영역에 있으나, 최근 bearish BOS $62,232.10 하단에서 재수용 실패 상태\",\n    \"단기 bullish retracement가 66.9% 진행되었지만 EMA120 $63,053.14 및 EMA240 $66,514.04 아래에 있어 기관 관점의 약한 되돌림으로 해석\",\n    \"전일 고점 $60,758.30 미돌파 상태로 buy-side liquidity 회수 실패, 단기 저항으로 작용\",\n    \"range low $58,030.00 및 전일 저점 $58,850.00이 하방 sell-side liquidity 타깃으로 남아 있음\",\n    \"활성 bullish OB와 미충족 bullish FVG가 없으며, 하방 방어 배열이 약함\"\n  ],\n  \"reasoning\": \"확정 구조는 bearish입니다. BOS 시퀀스가 $76,014.20, $74,203.60, $72,436.00 이후 최근 $62,232.10 bearish BOS로 마감되어 있으며, 현재가 $60,414.30은 해당 구조 레벨 아래에서 거래되고 있습니다. 가격은 EQ $61,813.60 아래 discount에 있어 단순 위치만 보면 반등 여지는 있으나, 전일 고점 $60,758.30도 아직 돌파하지 못했고 EMA120 $63,053.14 및 EMA240 $66,514.04 아래에 있어 되돌림성 매수로 판단됩니다. 활성 bullish OB, 미충족 bullish FVG, 최근 liquidity sweep이 모두 부재하므로 하방 $58,850.00 전일 저점과 $58,030.00 range low 유동성 재공격 가능성이 우세합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      58850.0,\n      58030.0\n    ],\n    \"resistance\": [\n      60758.3,\n      61813.6,\n      62232.1,\n      64250.0,\n      65597.2\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$62,232.10 4H 종가 기준 회복 및 수용\",\n  \"risk_scenario\": \"반대로 가격이 전일 고점 $60,758.30을 돌파한 뒤 EQ $61,813.60 위에서 수용되고, 특히 $62,232.10 bearish BOS 레벨을 4H 종가로 회복하면 단기 bearish setup은 무효화됩니다. 그 경우 $64,250.00 이전 bullish BOS 레벨과 7일 고점 $64,637.10까지 buy-side liquidity 회수 움직임이 나올 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "neutral",
      "confidence": 0.54,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $60,414.30이 EMA20 $60,186.01 위로 재진입하여 단기 반등 시도 확인",
        "7일 저점 $58,030.00 부근에서 morning_star@295 후보 출현, 단기 매수 반응 가능성",
        "최근 doji@290, doji@294, doji@296, doji@298가 반복되어 매도 추세 둔화 및 방향성 대기 상태",
        "high_volume_patterns에 doji 포함: 평균 거래대금 $27,202.99 대비 의미 있는 거래 동반 중립 캔들 발생",
        "현재가는 EMA120 $63,053.14 및 EMA240 $66,514.04 아래에 있어 구조 전환 전 저항 구간 진입 전 단계"
      ],
      "reasoning": "현재 BTC는 $60,414.30으로 EMA20 $60,186.01을 소폭 상회하지만, EMA120 $63,053.14보다 -4.2%, EMA240 $66,514.04보다 -9.2% 낮아 확정 구조는 아직 bearish로 판단된다. 최근 패턴은 bearish_engulfing@292와 morning_star@295가 충돌하며, doji가 다수 반복되어 매도 압력 둔화는 보이지만 확정 반전 신호로 보기에는 best_pattern_quality 0.577로 강도가 제한적이다. 다만 7일 저점 $58,030.00에서 반등 후 마지막 5개 캔들 중 최근 캔들이 +1.0% 상승했고, bull_score 0.800이 bear_score 0.750을 소폭 앞서 단기 setup_bias는 bullish이다. 핵심은 $63,053.14 EMA120을 회복해 구조적 수용을 만들 수 있는지이며, 실패 시 $60,186.01 EMA20과 $58,030.00 저점 재시험 가능성이 남아 있다.",
      "key_levels": {
        "support": [
          60186.01,
          58030.0
        ],
        "resistance": [
          63053.14,
          64637.1,
          66514.04
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$58,030.00",
      "risk_scenario": "$63,053.14 EMA120 돌파에 실패하고 $60,186.01 EMA20 아래로 재이탈하면 morning star 기반의 단기 bullish setup은 약화되며, $58,030.00 7일 저점 재시험 및 하향 이탈 시 bearish 구조가 재가속될 수 있다. 반대로 $63,053.14 위에서 4시간봉 종가 안착이 나오면 중립 판단은 해소되고 $64,637.10 7일 고점까지 숏커버성 상승이 열릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 141,
        "recent_patterns": 6,
        "pattern_list": [
          "bearish_engulfing@292",
          "morning_star@295",
          "doji@290",
          "doji@294",
          "doji@296",
          "doji@298"
        ],
        "atr_value": 951.53,
        "vol_avg_20": 27202.99,
        "high_volume_patterns": [
          "doji"
        ],
        "pattern_candidates": [
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.577,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.555,
            "tier": "candidate",
            "high_volume": true
          },
          {
            "pattern": "morning_star",
            "signal": "bullish",
            "pattern_quality": 0.525,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.577,
        "bull_score": 0.8,
        "bear_score": 0.75
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.54,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $60,414.30이 EMA20 $60,186.01 위로 재진입하여 단기 반등 시도 확인\",\n    \"7일 저점 $58,030.00 부근에서 morning_star@295 후보 출현, 단기 매수 반응 가능성\",\n    \"최근 doji@290, doji@294, doji@296, doji@298가 반복되어 매도 추세 둔화 및 방향성 대기 상태\",\n    \"high_volume_patterns에 doji 포함: 평균 거래대금 $27,202.99 대비 의미 있는 거래 동반 중립 캔들 발생\",\n    \"현재가는 EMA120 $63,053.14 및 EMA240 $66,514.04 아래에 있어 구조 전환 전 저항 구간 진입 전 단계\"\n  ],\n  \"reasoning\": \"현재 BTC는 $60,414.30으로 EMA20 $60,186.01을 소폭 상회하지만, EMA120 $63,053.14보다 -4.2%, EMA240 $66,514.04보다 -9.2% 낮아 확정 구조는 아직 bearish로 판단된다. 최근 패턴은 bearish_engulfing@292와 morning_star@295가 충돌하며, doji가 다수 반복되어 매도 압력 둔화는 보이지만 확정 반전 신호로 보기에는 best_pattern_quality 0.577로 강도가 제한적이다. 다만 7일 저점 $58,030.00에서 반등 후 마지막 5개 캔들 중 최근 캔들이 +1.0% 상승했고, bull_score 0.800이 bear_score 0.750을 소폭 앞서 단기 setup_bias는 bullish이다. 핵심은 $63,053.14 EMA120을 회복해 구조적 수용을 만들 수 있는지이며, 실패 시 $60,186.01 EMA20과 $58,030.00 저점 재시험 가능성이 남아 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      60186.01,\n      58030.0\n    ],\n    \"resistance\": [\n      63053.14,\n      64637.1,\n      66514.04\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$58,030.00\",\n  \"risk_scenario\": \"$63,053.14 EMA120 돌파에 실패하고 $60,186.01 EMA20 아래로 재이탈하면 morning star 기반의 단기 bullish setup은 약화되며, $58,030.00 7일 저점 재시험 및 하향 이탈 시 bearish 구조가 재가속될 수 있다. 반대로 $63,053.14 위에서 4시간봉 종가 안착이 나오면 중립 판단은 해소되고 $64,637.10 7일 고점까지 숏커버성 상승이 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "현재가 $60,414.30은 EMA120 $63,053.14보다 -4.2%, EMA240 $66,514.04보다 -9.2% 낮아 상위 구조는 아직 약세",
        "롱 계정 비율 0.675, account_long_crowding 1.000으로 롱 포지셔닝이 과밀해 반대매매 리스크가 높음",
        "24시간 OI 변화율 -1.6290%로 가격 반등(+1.62%)이 신규 롱 유입보다 포지션 언와인딩 성격에 가까움",
        "CVD divergence 0.700 및 CVD 변화 +434.1760에도 가격이 EMA120 $63,053.14를 회복하지 못해 매수 체결 대비 가격 수용이 약함",
        "상단 $61,900 / $62,200 / $62,700 청산 클러스터가 단기 흡인 구간이나, 해당 구간 도달 후 실패 시 롱 청산 압력이 확대될 수 있음",
        "현물-선물 basis -0.0318%로 선물이 소폭 디스카운트 상태이며 파생 수요가 강하지 않음"
      ],
      "reasoning": "확정 구조는 현재가 $60,414.30이 EMA120 $63,053.14와 EMA240 $66,514.04 아래에 머물러 있어 bearish로 판단한다. 단기적으로 EMA20 $60,186.01 위를 간신히 회복했지만, OI가 24시간 -1.6290% 감소한 상태에서의 반등은 신규 매수 추세라기보다 숏커버 또는 포지션 축소 성격이 강하다. 롱 계정 비율이 0.675이고 account_long_crowding이 1.000으로 극단적 롱 쏠림을 보이는 반면, funding_pressure는 0.441로 강한 롱 수요를 확인해주지 못한다. 상단 $61,900, $62,200, $62,700 청산 구간은 단기적으로 가격을 끌어올릴 수 있으나, 이 구간에서 수용 실패 시 $58,030 7일 저점 재시험 가능성이 높다.",
      "key_levels": {
        "support": [
          60186.01,
          58030,
          54000,
          53800,
          53600
        ],
        "resistance": [
          61900,
          62200,
          62700,
          63053.14,
          64637.1,
          65500
        ]
      },
      "time_horizon": "단기: 파생 포지셔닝 선행성을 감안한 4~24시간 관점",
      "invalidation_level": "$64,637.10",
      "risk_scenario": "반대 시나리오는 가격이 $61,900~$62,700 상단 청산대를 흡수한 뒤 EMA120 $63,053.14 위에서 4시간봉 종가 수용을 만드는 경우다. 이 경우 숏 포지션이 추가로 압박받으며 7일 고점 $64,637.10 및 최강 청산 레벨 $65,500까지 숏 스퀴즈가 연장될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.7,
        "cvd_change": 434.176,
        "oi_trend": 0.337,
        "oi_change_pct_24h": -1.629,
        "oi_latest": 101676.523,
        "funding_pressure": 0.441,
        "funding_avg": 5.911e-05,
        "funding_change_24h": 4.228e-05,
        "long_account_ratio": 0.686,
        "short_account_ratio": 0.314,
        "long_account_latest": 0.675,
        "short_account_latest": 0.325,
        "long_account_change_24h": 0.0013,
        "short_account_change_24h": -0.0013,
        "account_flow_label": "stable",
        "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.492,
        "spot_futures_basis_pct": -0.0318,
        "basis_change_lookback": 0.0052,
        "aggregate_score": 0.394,
        "bull_signals": 1,
        "bear_signals": 3,
        "liq_below": [
          [
            54000,
            26896.4770275
          ],
          [
            53800,
            27805.938632499998
          ],
          [
            53600,
            33104.87583125
          ]
        ],
        "liq_above": [
          [
            61900,
            32467.276321
          ],
          [
            62200,
            30896.7687668
          ],
          [
            62700,
            32860.1406815
          ]
        ],
        "strongest_liq_level": 65500,
        "fragility_score": 0.735,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"현재가 $60,414.30은 EMA120 $63,053.14보다 -4.2%, EMA240 $66,514.04보다 -9.2% 낮아 상위 구조는 아직 약세\",\n    \"롱 계정 비율 0.675, account_long_crowding 1.000으로 롱 포지셔닝이 과밀해 반대매매 리스크가 높음\",\n    \"24시간 OI 변화율 -1.6290%로 가격 반등(+1.62%)이 신규 롱 유입보다 포지션 언와인딩 성격에 가까움\",\n    \"CVD divergence 0.700 및 CVD 변화 +434.1760에도 가격이 EMA120 $63,053.14를 회복하지 못해 매수 체결 대비 가격 수용이 약함\",\n    \"상단 $61,900 / $62,200 / $62,700 청산 클러스터가 단기 흡인 구간이나, 해당 구간 도달 후 실패 시 롱 청산 압력이 확대될 수 있음\",\n    \"현물-선물 basis -0.0318%로 선물이 소폭 디스카운트 상태이며 파생 수요가 강하지 않음\"\n  ],\n  \"reasoning\": \"확정 구조는 현재가 $60,414.30이 EMA120 $63,053.14와 EMA240 $66,514.04 아래에 머물러 있어 bearish로 판단한다. 단기적으로 EMA20 $60,186.01 위를 간신히 회복했지만, OI가 24시간 -1.6290% 감소한 상태에서의 반등은 신규 매수 추세라기보다 숏커버 또는 포지션 축소 성격이 강하다. 롱 계정 비율이 0.675이고 account_long_crowding이 1.000으로 극단적 롱 쏠림을 보이는 반면, funding_pressure는 0.441로 강한 롱 수요를 확인해주지 못한다. 상단 $61,900, $62,200, $62,700 청산 구간은 단기적으로 가격을 끌어올릴 수 있으나, 이 구간에서 수용 실패 시 $58,030 7일 저점 재시험 가능성이 높다.\",\n  \"key_levels\": {\n    \"support\": [\n      60186.01,\n      58030,\n      54000,\n      53800,\n      53600\n    ],\n    \"resistance\": [\n      61900,\n      62200,\n      62700,\n      63053.14,\n      64637.1,\n      65500\n    ]\n  },\n  \"time_horizon\": \"단기: 파생 포지셔닝 선행성을 감안한 4~24시간 관점\",\n  \"invalidation_level\": \"$64,637.10\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 $61,900~$62,700 상단 청산대를 흡수한 뒤 EMA120 $63,053.14 위에서 4시간봉 종가 수용을 만드는 경우다. 이 경우 숏 포지션이 추가로 압박받으며 7일 고점 $64,637.10 및 최강 청산 레벨 $65,500까지 숏 스퀴즈가 연장될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.44,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $60,414.30이 최근 핵심 활성 PRZ $59,625.91-$61,126.19 내부에 위치하며, nearest PRZ 중심 $60,376.05와 거의 일치",
        "bullish Bat forming PRZ $60,602.82-$61,675.69, D=$61,139.25가 현재가 바로 위에 형성 중",
        "bullish Shark forming PRZ $60,767.09-$61,843.92, D=$61,305.50가 활성 반전 후보 구간으로 중첩",
        "completed bullish Butterfly가 PRZ $60,933.28-$61,663.11에서 반응 확인됨; reaction_score 0.75, AD 0.236 반응 및 PRZ 중심 회복/방어 확인",
        "다만 bearish Gartley forming PRZ $60,715.71-$61,637.48, D=$61,176.59도 같은 영역에 있어 상방 반응 구간이 동시에 저항 PRZ로 작동할 위험 존재"
      ],
      "reasoning": "4시간 기준 가격은 EMA20 $60,186.01 위에 간신히 재진입했지만 EMA120 $63,053.14 및 EMA240 $66,514.04 아래에 있어 확인된 구조/레짐은 아직 bearish로 본다. 반면 하모닉 관점의 setup은 현재가 $60,414.30이 nearest PRZ $60,376.05와 사실상 동일한 활성 반전 후보 구간에 있고, bullish Bat/Shark/Butterfly PRZ들이 $60,600-$61,850 부근에 밀집해 있어 단기 bullish reaction setup이 존재한다. 그러나 council_relevant_prz_count=0, directional_influence_prz_count=0, actionable_patterns_list가 비어 있으며, 대부분은 pre-confirmation 상태라 메인 경로를 뒤집을 권한은 없다. 특히 같은 영역에 bearish Gartley PRZ $60,715.71-$61,637.48도 겹치므로 $61,600-$61,850 상단에서 거절되면 반등은 단순 PRZ 반응에 그칠 수 있다.",
      "key_levels": {
        "support": [
          59625.91,
          59060.0,
          58406.59,
          58030.0
        ],
        "resistance": [
          61126.19,
          61637.48,
          61843.92,
          62153.24,
          63053.14,
          64637.1
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$58,030.00",
      "risk_scenario": "$61,126-$61,844의 중첩 PRZ 상단을 명확히 돌파하지 못하고 bearish Gartley PRZ $60,715.71-$61,637.48에서 거절되면, 가격은 $59,625.91 하단 재시험 후 completed Butterfly D 부근 $59,060 및 7일 저점 $58,030까지 되밀릴 수 있다. 반대로 $61,844 위에서 4시간 종가 수용이 나오면 bullish PRZ 반응이 강화되며 $62,199-$62,918, 이후 $63,053 EMA120 및 $63,915 구조 유동성까지 TP 사다리가 열릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 144,
        "completed_patterns_found": 53,
        "forming_d_prz_found": 91,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 58,
        "swing_highs_scanned": 29,
        "swing_lows_scanned": 29,
        "timeframe": "4h",
        "prz_active_threshold_pct": 0.75,
        "prz_nearby_threshold_pct": 1.5,
        "prz_watch_threshold_pct": 3.0,
        "prz_max_width_pct": 1.3,
        "quality_counts": {
          "high": 3,
          "medium": 41,
          "low": 100
        },
        "prz_status_counts": {
          "active": 34,
          "nearby": 17,
          "watch": 35,
          "far": 58,
          "forming": 37
        },
        "high_confluence_prz_count": 19,
        "strict_patterns_found": 59,
        "candidate_patterns_found": 85,
        "active_patterns_at_prz": 34,
        "nearby_patterns": 17,
        "all_patterns": [
          "shark",
          "bat",
          "gartley",
          "butterfly",
          "crab",
          "gartley",
          "bat",
          "gartley",
          "bat",
          "shark",
          "butterfly",
          "butterfly",
          "butterfly",
          "crab",
          "butterfly",
          "shark",
          "butterfly",
          "crab",
          "gartley",
          "butterfly",
          "shark",
          "crab",
          "shark",
          "shark",
          "crab",
          "bat",
          "butterfly",
          "gartley",
          "shark",
          "bat",
          "bat",
          "bat",
          "shark",
          "gartley",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "crab",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "bat",
          "gartley",
          "crab",
          "bat",
          "crab",
          "butterfly",
          "shark",
          "gartley",
          "bat",
          "crab",
          "butterfly",
          "gartley",
          "butterfly",
          "gartley",
          "shark",
          "crab",
          "bat",
          "butterfly",
          "butterfly",
          "crab",
          "gartley",
          "butterfly",
          "crab",
          "crab",
          "shark",
          "shark",
          "shark",
          "bat",
          "bat",
          "shark",
          "crab",
          "gartley",
          "gartley",
          "butterfly",
          "crab",
          "crab",
          "gartley",
          "crab",
          "crab",
          "gartley",
          "crab",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "crab",
          "crab",
          "gartley",
          "crab",
          "shark",
          "shark",
          "shark",
          "bat",
          "shark",
          "bat",
          "crab",
          "crab",
          "bat",
          "crab",
          "crab",
          "shark",
          "bat",
          "butterfly",
          "shark",
          "crab",
          "bat",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "butterfly",
          "butterfly",
          "butterfly",
          "bat",
          "bat",
          "crab",
          "gartley",
          "crab",
          "bat",
          "gartley",
          "butterfly",
          "shark",
          "crab",
          "shark",
          "crab",
          "bat",
          "gartley",
          "crab",
          "shark",
          "shark",
          "crab",
          "butterfly",
          "butterfly",
          "gartley",
          "shark",
          "bat",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish"
        ],
        "best_pattern": "shark",
        "best_pattern_quality": "strict",
        "best_quality": "medium",
        "best_pattern_score": 0.927,
        "best_completion_status": "forming",
        "nearest_pattern": "crab",
        "nearest_prz": 60376.05,
        "price_to_prz": -0.06,
        "prz_range": [
          59625.91,
          61126.19
        ],
        "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.913,
            "ratio_score": 0.945,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61815.71,
            "prz_range": [
              61478.18,
              62153.24
            ],
            "prz_width_pct": 1.092,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.32,
            "price_to_prz_pct_raw": 2.3197,
            "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": 167,
            "x_order": 3,
            "a_price": 63915.3,
            "a_idx": 191,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 232,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 267,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.857,
            "ratio_score": 0.826,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              60933.28,
              61663.11
            ],
            "prz_width_pct": 1.191,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.46,
            "price_to_prz_pct_raw": 1.4631,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61298.2,
              "a_price": 67255.4,
              "tp1_ad_382": 63573.85,
              "tp2_ad_618": 64979.75,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8338,
              "ABC": 0.5974,
              "BCD": 2.6563,
              "XAD": 1.6589
            },
            "x_price": 62315.0,
            "x_idx": 191,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 214,
            "a_order": 8,
            "b_price": 63136.2,
            "b_idx": 244,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 256,
            "c_order": 8,
            "d_idx": 269
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.927,
            "ratio_score": 1.0,
            "prz_score": 0.918,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61305.5,
            "prz_range": [
              60767.09,
              61843.92
            ],
            "prz_width_pct": 1.757,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.48,
            "price_to_prz_pct_raw": 1.4752,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 61305.5,
              "a_price": 63915.3,
              "tp1_ad_382": 62302.44,
              "tp2_ad_618": 62918.36,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5499,
              "ABC": 1.4993
            },
            "x_price": 61344.8,
            "x_idx": 145,
            "x_order": 5,
            "a_price": 63915.3,
            "a_idx": 191,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 220,
            "b_order": 3,
            "c_price": 63209.6,
            "c_idx": 267,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.895,
            "ratio_score": 0.911,
            "prz_score": 0.972,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61461.12,
            "prz_range": [
              61013.8,
              61908.44
            ],
            "prz_width_pct": 1.456,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.73,
            "price_to_prz_pct_raw": 1.7327,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61461.12,
              "a_price": 66956.7,
              "tp1_ad_382": 63560.43,
              "tp2_ad_618": 64857.39,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.805,
              "ABC": 0.6362
            },
            "x_price": 62315.0,
            "x_idx": 191,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 219,
            "a_order": 3,
            "b_price": 63220.0,
            "b_idx": 252,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 256,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.88,
            "ratio_score": 0.844,
            "prz_score": 0.963,
            "prz_proximity": "active",
            "action_status": "active",
            "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.26,
            "price_to_prz_pct_raw": 1.2618,
            "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": 272,
            "x_order": 3,
            "a_price": 58030.0,
            "a_idx": 274,
            "a_order": 8,
            "b_price": 60543.3,
            "b_idx": 291,
            "b_order": 3,
            "c_price": 58850.0,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.865,
            "ratio_score": 0.837,
            "prz_score": 0.918,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61139.25,
            "prz_range": [
              60602.82,
              61675.69
            ],
            "prz_width_pct": 1.755,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.2,
            "price_to_prz_pct_raw": 1.2,
            "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": 183,
            "x_order": 8,
            "a_price": 63915.3,
            "a_idx": 191,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 232,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 267,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.861,
            "ratio_score": 0.938,
            "prz_score": 0.873,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 58998.66,
            "prz_range": [
              58406.59,
              59590.72
            ],
            "prz_width_pct": 2.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.34,
            "price_to_prz_pct_raw": -2.3432,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 58998.66,
              "a_price": 67255.4,
              "tp1_ad_382": 62152.73,
              "tp2_ad_618": 64101.32,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.465
            },
            "x_price": 60755.0,
            "x_idx": 179,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 214,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 232,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 248,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.861,
            "ratio_score": 0.935,
            "prz_score": 0.884,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61760.53,
            "prz_range": [
              61158.69,
              62362.37
            ],
            "prz_width_pct": 1.949,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.23,
            "price_to_prz_pct_raw": 2.2283,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61760.53,
              "a_price": 66419.2,
              "tp1_ad_382": 63540.14,
              "tp2_ad_618": 64639.59,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7999,
              "ABC": 0.7496
            },
            "x_price": 62315.0,
            "x_idx": 191,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 227,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 244,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 256,
            "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.913,
            "ratio_score": 0.945,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61815.71,
            "prz_range": [
              61478.18,
              62153.24
            ],
            "prz_width_pct": 1.092,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.32,
            "price_to_prz_pct_raw": 2.3197,
            "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": 167,
            "x_order": 3,
            "a_price": 63915.3,
            "a_idx": 191,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 232,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 267,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.857,
            "ratio_score": 0.826,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              60933.28,
              61663.11
            ],
            "prz_width_pct": 1.191,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.46,
            "price_to_prz_pct_raw": 1.4631,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61298.2,
              "a_price": 67255.4,
              "tp1_ad_382": 63573.85,
              "tp2_ad_618": 64979.75,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8338,
              "ABC": 0.5974,
              "BCD": 2.6563,
              "XAD": 1.6589
            },
            "x_price": 62315.0,
            "x_idx": 191,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 214,
            "a_order": 8,
            "b_price": 63136.2,
            "b_idx": 244,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 256,
            "c_order": 8,
            "d_idx": 269
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.927,
            "ratio_score": 1.0,
            "prz_score": 0.918,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61305.5,
            "prz_range": [
              60767.09,
              61843.92
            ],
            "prz_width_pct": 1.757,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.48,
            "price_to_prz_pct_raw": 1.4752,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 61305.5,
              "a_price": 63915.3,
              "tp1_ad_382": 62302.44,
              "tp2_ad_618": 62918.36,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5499,
              "ABC": 1.4993
            },
            "x_price": 61344.8,
            "x_idx": 145,
            "x_order": 5,
            "a_price": 63915.3,
            "a_idx": 191,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 220,
            "b_order": 3,
            "c_price": 63209.6,
            "c_idx": 267,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.895,
            "ratio_score": 0.911,
            "prz_score": 0.972,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61461.12,
            "prz_range": [
              61013.8,
              61908.44
            ],
            "prz_width_pct": 1.456,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.73,
            "price_to_prz_pct_raw": 1.7327,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61461.12,
              "a_price": 66956.7,
              "tp1_ad_382": 63560.43,
              "tp2_ad_618": 64857.39,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.805,
              "ABC": 0.6362
            },
            "x_price": 62315.0,
            "x_idx": 191,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 219,
            "a_order": 3,
            "b_price": 63220.0,
            "b_idx": 252,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 256,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.88,
            "ratio_score": 0.844,
            "prz_score": 0.963,
            "prz_proximity": "active",
            "action_status": "active",
            "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.26,
            "price_to_prz_pct_raw": 1.2618,
            "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": 272,
            "x_order": 3,
            "a_price": 58030.0,
            "a_idx": 274,
            "a_order": 8,
            "b_price": 60543.3,
            "b_idx": 291,
            "b_order": 3,
            "c_price": 58850.0,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.865,
            "ratio_score": 0.837,
            "prz_score": 0.918,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61139.25,
            "prz_range": [
              60602.82,
              61675.69
            ],
            "prz_width_pct": 1.755,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.2,
            "price_to_prz_pct_raw": 1.2,
            "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": 183,
            "x_order": 8,
            "a_price": 63915.3,
            "a_idx": 191,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 232,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 267,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.861,
            "ratio_score": 0.938,
            "prz_score": 0.873,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 58998.66,
            "prz_range": [
              58406.59,
              59590.72
            ],
            "prz_width_pct": 2.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.34,
            "price_to_prz_pct_raw": -2.3432,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 58998.66,
              "a_price": 67255.4,
              "tp1_ad_382": 62152.73,
              "tp2_ad_618": 64101.32,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.465
            },
            "x_price": 60755.0,
            "x_idx": 179,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 214,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 232,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 248,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.861,
            "ratio_score": 0.935,
            "prz_score": 0.884,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61760.53,
            "prz_range": [
              61158.69,
              62362.37
            ],
            "prz_width_pct": 1.949,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.23,
            "price_to_prz_pct_raw": 2.2283,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61760.53,
              "a_price": 66419.2,
              "tp1_ad_382": 63540.14,
              "tp2_ad_618": 64639.59,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7999,
              "ABC": 0.7496
            },
            "x_price": 62315.0,
            "x_idx": 191,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 227,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 244,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 256,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.86,
            "ratio_score": 0.959,
            "prz_score": 0.873,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              58406.59,
              59590.72
            ],
            "prz_width_pct": 2.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.34,
            "price_to_prz_pct_raw": -2.3432,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "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": 179,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 214,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 232,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 248,
            "c_order": 3,
            "d_idx": 269
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.816,
            "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": 2.77,
            "price_to_prz_pct_raw": 2.768,
            "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": 267,
            "x_order": 5,
            "a_price": 58030.0,
            "a_idx": 274,
            "a_order": 8,
            "b_price": 60734.0,
            "b_idx": 278,
            "b_order": 3,
            "c_price": 58850.0,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.786,
            "ratio_score": 0.649,
            "prz_score": 0.911,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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.13,
            "price_to_prz_pct_raw": 2.1292,
            "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": 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": 267,
            "x_order": 5,
            "a_price": 58030.0,
            "a_idx": 274,
            "a_order": 8,
            "b_price": 60924.7,
            "b_idx": 286,
            "b_order": 8,
            "c_price": 58850.0,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.779,
            "ratio_score": 0.718,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 62608.77,
            "prz_range": [
              62202.51,
              63015.03
            ],
            "prz_width_pct": 1.298,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.63,
            "price_to_prz_pct_raw": 3.6324,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 62608.77,
              "a_price": 64738.0,
              "tp1_ad_382": 63422.14,
              "tp2_ad_618": 63924.64,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6611,
              "ABC": 0.8939
            },
            "x_price": 62315.0,
            "x_idx": 191,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 204,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 244,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 248,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [],
        "tp_ladder": [],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "early"
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.44,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"현재가 $60,414.30이 최근 핵심 활성 PRZ $59,625.91-$61,126.19 내부에 위치하며, nearest PRZ 중심 $60,376.05와 거의 일치\",\n    \"bullish Bat forming PRZ $60,602.82-$61,675.69, D=$61,139.25가 현재가 바로 위에 형성 중\",\n    \"bullish Shark forming PRZ $60,767.09-$61,843.92, D=$61,305.50가 활성 반전 후보 구간으로 중첩\",\n    \"completed bullish Butterfly가 PRZ $60,933.28-$61,663.11에서 반응 확인됨; reaction_score 0.75, AD 0.236 반응 및 PRZ 중심 회복/방어 확인\",\n    \"다만 bearish Gartley forming PRZ $60,715.71-$61,637.48, D=$61,176.59도 같은 영역에 있어 상방 반응 구간이 동시에 저항 PRZ로 작동할 위험 존재\"\n  ],\n  \"reasoning\": \"4시간 기준 가격은 EMA20 $60,186.01 위에 간신히 재진입했지만 EMA120 $63,053.14 및 EMA240 $66,514.04 아래에 있어 확인된 구조/레짐은 아직 bearish로 본다. 반면 하모닉 관점의 setup은 현재가 $60,414.30이 nearest PRZ $60,376.05와 사실상 동일한 활성 반전 후보 구간에 있고, bullish Bat/Shark/Butterfly PRZ들이 $60,600-$61,850 부근에 밀집해 있어 단기 bullish reaction setup이 존재한다. 그러나 council_relevant_prz_count=0, directional_influence_prz_count=0, actionable_patterns_list가 비어 있으며, 대부분은 pre-confirmation 상태라 메인 경로를 뒤집을 권한은 없다. 특히 같은 영역에 bearish Gartley PRZ $60,715.71-$61,637.48도 겹치므로 $61,600-$61,850 상단에서 거절되면 반등은 단순 PRZ 반응에 그칠 수 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      59625.91,\n      59060.0,\n      58406.59,\n      58030.0\n    ],\n    \"resistance\": [\n      61126.19,\n      61637.48,\n      61843.92,\n      62153.24,\n      63053.14,\n      64637.1\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$58,030.00\",\n  \"risk_scenario\": \"$61,126-$61,844의 중첩 PRZ 상단을 명확히 돌파하지 못하고 bearish Gartley PRZ $60,715.71-$61,637.48에서 거절되면, 가격은 $59,625.91 하단 재시험 후 completed Butterfly D 부근 $59,060 및 7일 저점 $58,030까지 되밀릴 수 있다. 반대로 $61,844 위에서 4시간 종가 수용이 나오면 bullish PRZ 반응이 강화되며 $62,199-$62,918, 이후 $63,053 EMA120 및 $63,915 구조 유동성까지 TP 사다리가 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.61,
    "execution_setup": {
      "setup_bias": "bullish",
      "setup_strength": 0.64,
      "active_setups": [
        "Wyckoff: Phase C Spring $58,288 및 Terminal Spring $58,850 이후 메인 레인지 저점 $59,080 위로 재진입",
        "Fibonacci: 단기 상승 스윙 $58,030→$60,925의 0.236 되돌림 $60,241.55 위에서 테스트 중",
        "Candlestick: EMA20 $60,186.01 위 재진입 및 $58,030 부근 morning_star 후보",
        "Harmonic: 활성 PRZ $59,625.91-$61,126.19 내부, 중심값 $60,376.05와 현재가 근접",
        "반대 조건: ICT bearish BOS $62,232.10 아래 재수용 실패 및 전일 고점 $60,758.30 미돌파",
        "반대 조건: 파생 포지셔닝에서 롱 계정 비율 0.675, 롱 과밀과 OI 24h -1.629%로 반등의 구조적 질이 낮음"
      ],
      "setup_vs_structure": "구조적 판정은 아직 bearish이나, 단기 실행 셋업은 Spring 회복·얕은 피보나치 되돌림 방어·EMA20 재진입으로 bullish 반응이 우세하다. 즉 현재는 하락 구조 안의 반등/재축적 테스트 구간이며, 실행 셋업과 구조가 완전히 정렬되어 있지는 않다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 2,
      "neutral_count": 3
    },
    "key_levels": {
      "support": [
        60241.55,
        60186.01,
        59818.92,
        59135.78,
        59080.0,
        58850.0,
        58288.0,
        58030.0
      ],
      "resistance": [
        60758.3,
        60924.7,
        61126.19,
        61665.0,
        61813.6,
        61900.0,
        62232.1,
        63053.14,
        63650.0,
        64250.0
      ]
    },
    "confluences": [
      "EMA20 $60,186.01와 Fibonacci 0.236 되돌림 $60,241.55가 현재가 바로 아래의 단기 방어 클러스터를 형성한다.",
      "Wyckoff 메인 레인지 저점 $59,080, Fibonacci 0.618 골든레벨 $59,135.78, Harmonic $59,060, ICT 전일 저점 $58,850이 $58,850-$59,135 구간에 밀집한다.",
      "ICT range low $58,030, Candlestick 7일 저점 $58,030, Derivatives 하방 재시험 레벨 $58,030, Harmonic support $58,030이 동일한 구조 저점으로 일치한다.",
      "Wyckoff EQ $61,665, ICT EQ $61,813.60, Fibonacci 확장 $61,712.06, Harmonic PRZ $61,637.48-$61,843.92가 $61,600-$61,850 구간을 핵심 균형/저항대로 만든다.",
      "ICT bearish BOS $62,232.10, Fibonacci 확장 $62,123.11, Harmonic PRZ 상단 $62,153.24-$62,254.99, Derivatives 청산대 $62,200가 $62,100-$62,250 부근에서 중첩된다.",
      "EMA120 $63,053.14는 Fibonacci, Candlestick, Derivatives, Harmonic 모두가 구조적 상단 기준으로 제시한 공통 저항이다."
    ],
    "conflicts": [
      "Wyckoff는 $58,288 Spring 및 $58,850 Terminal Spring 이후 $59,080 위 재진입을 근거로 축적 Phase C의 bullish 구조를 제시하지만, ICT는 최근 bearish BOS $62,232.10 아래 거래와 bullish OB/FVG 부재를 근거로 bearish 구조를 유지한다.",
      "단기 실행 셋업은 Wyckoff, Fibonacci, Candlestick, Harmonic이 모두 bullish 쪽으로 기울어 있으나, 구조 판정은 ICT, Candlestick, Derivatives, Harmonic이 EMA120 $63,053.14 및 EMA240 $66,514.04 하단 체류를 이유로 bearish로 본다.",
      "Harmonic은 $60,600-$61,850에 bullish Bat/Shark PRZ를 제시하는 동시에 bearish Gartley PRZ $60,715.71-$61,637.48도 겹쳐, 같은 가격대가 반전 후보와 거절 후보를 동시에 포함한다.",
      "Derivatives는 상단 $61,900-$62,700 청산대가 단기 흡인력으로 작용할 수 있음을 인정하지만, 롱 계정 과밀과 OI 감소 때문에 그 반등의 구조적 신뢰도는 낮게 평가한다."
    ],
    "executive_summary": "BTC/USDT 4시간 구조는 다수 구조 판정 기준상 아직 bearish로 평가한다. 다만 Wyckoff 관점에서는 $58,288 Spring 및 $58,850 Terminal Spring 이후 $59,080 레인지 저점 위로 재진입한 축적 Phase C 후보이며, 아직 SOS 또는 LPS가 확인되지 않은 ‘Spring 회복 테스트’ 위치다. 현재가는 Wyckoff EQ $61,665 및 ICT EQ $61,813.60 아래의 할인 구간에 있으며, $60,186-$60,241 단기 방어 클러스터 위에 머물지만 $62,232.10 bearish BOS와 EMA120 $63,053.14 아래에 있어 상위 구조 전환은 미확정이다. 핵심 구조 리스크는 $58,850-$59,080 재이탈 시 Spring 실패로 해석될 수 있다는 점이고, 반대로 bearish 구조의 무효화는 $62,232.10 회복 이후 $63,053.14 위 4시간 수용이 필요하다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.61,\n  \"execution_setup\": {\n    \"setup_bias\": \"bullish\",\n    \"setup_strength\": 0.64,\n    \"active_setups\": [\n      \"Wyckoff: Phase C Spring $58,288 및 Terminal Spring $58,850 이후 메인 레인지 저점 $59,080 위로 재진입\",\n      \"Fibonacci: 단기 상승 스윙 $58,030→$60,925의 0.236 되돌림 $60,241.55 위에서 테스트 중\",\n      \"Candlestick: EMA20 $60,186.01 위 재진입 및 $58,030 부근 morning_star 후보\",\n      \"Harmonic: 활성 PRZ $59,625.91-$61,126.19 내부, 중심값 $60,376.05와 현재가 근접\",\n      \"반대 조건: ICT bearish BOS $62,232.10 아래 재수용 실패 및 전일 고점 $60,758.30 미돌파\",\n      \"반대 조건: 파생 포지셔닝에서 롱 계정 비율 0.675, 롱 과밀과 OI 24h -1.629%로 반등의 구조적 질이 낮음\"\n    ],\n    \"setup_vs_structure\": \"구조적 판정은 아직 bearish이나, 단기 실행 셋업은 Spring 회복·얕은 피보나치 되돌림 방어·EMA20 재진입으로 bullish 반응이 우세하다. 즉 현재는 하락 구조 안의 반등/재축적 테스트 구간이며, 실행 셋업과 구조가 완전히 정렬되어 있지는 않다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 2,\n    \"neutral_count\": 3\n  },\n  \"key_levels\": {\n    \"support\": [\n      60241.55,\n      60186.01,\n      59818.92,\n      59135.78,\n      59080.0,\n      58850.0,\n      58288.0,\n      58030.0\n    ],\n    \"resistance\": [\n      60758.3,\n      60924.7,\n      61126.19,\n      61665.0,\n      61813.6,\n      61900.0,\n      62232.1,\n      63053.14,\n      63650.0,\n      64250.0\n    ]\n  },\n  \"confluences\": [\n    \"EMA20 $60,186.01와 Fibonacci 0.236 되돌림 $60,241.55가 현재가 바로 아래의 단기 방어 클러스터를 형성한다.\",\n    \"Wyckoff 메인 레인지 저점 $59,080, Fibonacci 0.618 골든레벨 $59,135.78, Harmonic $59,060, ICT 전일 저점 $58,850이 $58,850-$59,135 구간에 밀집한다.\",\n    \"ICT range low $58,030, Candlestick 7일 저점 $58,030, Derivatives 하방 재시험 레벨 $58,030, Harmonic support $58,030이 동일한 구조 저점으로 일치한다.\",\n    \"Wyckoff EQ $61,665, ICT EQ $61,813.60, Fibonacci 확장 $61,712.06, Harmonic PRZ $61,637.48-$61,843.92가 $61,600-$61,850 구간을 핵심 균형/저항대로 만든다.\",\n    \"ICT bearish BOS $62,232.10, Fibonacci 확장 $62,123.11, Harmonic PRZ 상단 $62,153.24-$62,254.99, Derivatives 청산대 $62,200가 $62,100-$62,250 부근에서 중첩된다.\",\n    \"EMA120 $63,053.14는 Fibonacci, Candlestick, Derivatives, Harmonic 모두가 구조적 상단 기준으로 제시한 공통 저항이다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 $58,288 Spring 및 $58,850 Terminal Spring 이후 $59,080 위 재진입을 근거로 축적 Phase C의 bullish 구조를 제시하지만, ICT는 최근 bearish BOS $62,232.10 아래 거래와 bullish OB/FVG 부재를 근거로 bearish 구조를 유지한다.\",\n    \"단기 실행 셋업은 Wyckoff, Fibonacci, Candlestick, Harmonic이 모두 bullish 쪽으로 기울어 있으나, 구조 판정은 ICT, Candlestick, Derivatives, Harmonic이 EMA120 $63,053.14 및 EMA240 $66,514.04 하단 체류를 이유로 bearish로 본다.\",\n    \"Harmonic은 $60,600-$61,850에 bullish Bat/Shark PRZ를 제시하는 동시에 bearish Gartley PRZ $60,715.71-$61,637.48도 겹쳐, 같은 가격대가 반전 후보와 거절 후보를 동시에 포함한다.\",\n    \"Derivatives는 상단 $61,900-$62,700 청산대가 단기 흡인력으로 작용할 수 있음을 인정하지만, 롱 계정 과밀과 OI 감소 때문에 그 반등의 구조적 신뢰도는 낮게 평가한다.\"\n  ],\n  \"highest_conviction_analyst\": \"ICT Trader — 최근 bearish BOS $62,232.10, 이전 bearish BOS 연쇄 $76,014.20/$74,203.60/$72,436.00, EQ $61,813.60 하단 discount 체류, 전일 고점 $60,758.30 미돌파, bullish OB/FVG 부재를 모두 구체적 가격으로 제시해 구조 판정의 일관성과 실행 리스크가 가장 명확하다.\",\n  \"invalidation_level\": \"$63,053.14 4시간 종가 회복 및 수용; 선행 조건으로 $62,232.10 bearish BOS 레벨 회복 필요\",\n  \"executive_summary\": \"BTC/USDT 4시간 구조는 다수 구조 판정 기준상 아직 bearish로 평가한다. 다만 Wyckoff 관점에서는 $58,288 Spring 및 $58,850 Terminal Spring 이후 $59,080 레인지 저점 위로 재진입한 축적 Phase C 후보이며, 아직 SOS 또는 LPS가 확인되지 않은 ‘Spring 회복 테스트’ 위치다. 현재가는 Wyckoff EQ $61,665 및 ICT EQ $61,813.60 아래의 할인 구간에 있으며, $60,186-$60,241 단기 방어 클러스터 위에 머물지만 $62,232.10 bearish BOS와 EMA120 $63,053.14 아래에 있어 상위 구조 전환은 미확정이다. 핵심 구조 리스크는 $58,850-$59,080 재이탈 시 Spring 실패로 해석될 수 있다는 점이고, 반대로 bearish 구조의 무효화는 $62,232.10 회복 이후 $63,053.14 위 4시간 수용이 필요하다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.61,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.57,
    "executive_summary": "구조 판정은 bearish(61%)이나 단기 실행 셋업이 bullish(64%, 강도 0.64)로 상충하는 corrective 국면이다. 셋업 우선 규칙(setup_strength ≥ 0.5)에 따라 1차 웨이포인트는 상방 — Spring 회복·Fib 0.236 방어·EMA20 재진입을 동력으로 전일 고점 $60,758(buy-side 유동성) 회수 후 EQ/청산 클러스터 $61,665로 흡인. 이후 롱 과밀(0.675)·OI -1.63%·EMA120/bearish BOS 하단 거절로 bearish 구조가 재개되어 EMA20/Fib 방어 $60,186 → 밀집 지지 $58,850-$59,135로 하락하는 경로다.",
    "key_insight": "현재는 하락 구조 안의 Spring 회복/재축적 테스트 구간. 상방은 EQ $61,665-$61,900에서 거절되는 '유동성 회수' 성격이 우세하고($61,716-$61,844 Harmonic Gartley·Bat PRZ 중첩), 하방은 $58,850-$59,080 Spring 방어선이 base case 지지. $59,080 레인지 저점 이탈(=Spring 실패) 또는 $62,232 BOS 회복이 다음 메인 방향을 결정한다.",
    "waypoints": [
      {
        "seq": 1,
        "price": 61665.0,
        "type": "resistance_test",
        "source": "wyckoff(EQ $61,665), ict(EQ $61,813.60·전일고점 $60,758.30), harmonic(PRZ $61,637-$61,843·bearish Gartley $60,716-$61,637), derivatives(청산대 $61,900), fibonacci($60,924.70→$61,712.06)",
        "description": "셋업 bullish(64%)이므로 첫 웨이포인트는 상방. 현재가 $60,414는 EMA20 $60,186·Fib 0.236 $60,241 방어 클러스터 위 Spring 회복 상태로, 전일 고점 $60,758(buy-side 유동성) 돌파 후 $60,925(Fib 스윙 고점)·$61,126(Harmonic PRZ)를 거쳐 핵심 균형/저항 클러스터로 흡인된다. Wyckoff EQ $61,665, ICT EQ $61,813.60, Harmonic PRZ $61,637-$61,844, 파생 청산대 $61,900가 중첩. 다만 bearish Gartley PRZ·EMA120/bearish BOS 하단·롱 과밀(0.675)·OI -1.63%로 이 구간은 '유동성 회수 후 거절' 우세.",
        "est_hours": 6.0,
        "turning_zone": [
          61665.0,
          62000.0
        ],
        "likely_wick": 61900.0,
        "rejection_confirm": 61126.19,
        "invalid_overshoot": 62232.1,
        "calibration_reasoning": "Wyckoff EQ $61,665을 하단 기준으로 ICT EQ $61,813.60·Harmonic PRZ(~$61,844)·파생 청산대 $61,900·라운드 $62,000까지 묶어 존(폭≈0.35 ATR)을 구성했다. 유동성 자석인 청산 클러스터 $61,900을 likely_wick으로 채택, $61,126.19(Harmonic PRZ/저항) 하향 이탈 시 거절 확인, 다음 저항 $62,232.10 상회 시 돌파 전환으로 무효."
      },
      {
        "seq": 2,
        "price": 60186.01,
        "type": "support_test",
        "source": "candlestick(EMA20 $60,186.01), fibonacci(0.236 $60,241.55), ict(되돌림성 매수 판정), derivatives(반등 질 낮음)",
        "description": "EQ 거절 후 bearish 구조 재개. ICT(78%)·Derivatives(62%)가 EMA120 하단 되돌림성 매수로 평가하므로, 전일 고점 미수용 시 1차 방어선인 EMA20 $60,186.01 + Fib 0.236 $60,241.55 클러스터로 회귀해 단기 지지 테스트. 여기 수용 실패가 다음 하락의 트리거.",
        "est_hours": 13.0,
        "turning_zone": [
          59818.92,
          60186.01
        ],
        "likely_wick": 60000.0,
        "rejection_confirm": 60758.3,
        "invalid_overshoot": 59477.35,
        "calibration_reasoning": "EMA20 $60,186.01·Fib0.236 $60,241.55 클러스터를 상단으로, Fib0.382 $59,818.92를 하단으로 잡아 존(폭≈0.39 ATR)을 설정했다. 강한 라운드 넘버 자석 $60,000을 likely_wick으로, 전일 고점 $60,758.30(buy-side) 회복 시 반등 확인, Fib0.5 $59,477.35 이탈(수용 실패) 시 무효로 다음 하락 트리거."
      },
      {
        "seq": 3,
        "price": 59135.78,
        "type": "support_test",
        "source": "fibonacci(0.618 골든 $59,135.78), wyckoff(레인지 저점 $59,080), harmonic($59,060), ict(전일저점 $58,850 인접)",
        "description": "방어 클러스터 이탈 시 밀집 지지대 $58,850-$59,135로 하락. Fib 0.618 골든 $59,135.78·Wyckoff 메인 레인지 저점 $59,080·Harmonic $59,060이 중첩하는 Spring 방어선 테스트 구간. 유지 시 재축적(Wyckoff bullish 66%) 시나리오 생존, 이탈 시 Spring 실패로 $58,030 가속.",
        "est_hours": 21.0,
        "turning_zone": [
          58600.0,
          59135.78
        ],
        "likely_wick": 58900.0,
        "rejection_confirm": 59477.35,
        "invalid_overshoot": 58288.0,
        "calibration_reasoning": "터미널 웨이포인트로 Fib0.618 $59,135.78·Wyckoff 저점 $59,080·Harmonic $59,060 합류대를 상단, 밀집 지지 $58,850 아래 Spring 침투 여유까지 포함해 존(폭≈0.56 ATR)을 확대했다. 라운드 $59,000과 챔버 지지 $58,850 사이 $58,900을 Spring 와이크로, Fib0.5 $59,477.35 회복 시 반등 확인, $58,288 이탈 시 Spring 실패로 $58,030 가속·무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 61126.19,
        "expected_low": 60241.55,
        "high_first": true
      },
      "8h": {
        "expected_high": 61665.0,
        "expected_low": 60241.55,
        "high_first": true
      },
      "24h": {
        "expected_high": 61665.0,
        "expected_low": 58850.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 62232.1,
        "description": "ICT bearish BOS $62,232.10 회복. 4h 수용 시 되돌림성 매수가 아닌 추세 전환으로 격상되어 EMA120 $63,053.14 → $63,650/$64,250 상단 테스트로 가속. 경로의 하락 레그 무력화."
      },
      "bearish": {
        "price": 58850.0,
        "description": "Terminal Spring $58,850 및 레인지 저점 $59,080 동반 이탈 = Spring 실패. ICT·Derivatives 타깃인 $58,288 Spring 저점 → $58,030 7일 저점/레인지 저점 유동성 재공격으로 가속, 파생 하방 $54,000까지 열림."
      }
    },
    "scenario_invalidation": 63053.14,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.57,\n  \"executive_summary\": \"구조 판정은 bearish(61%)이나 단기 실행 셋업이 bullish(64%, 강도 0.64)로 상충하는 corrective 국면이다. 셋업 우선 규칙(setup_strength ≥ 0.5)에 따라 1차 웨이포인트는 상방 — Spring 회복·Fib 0.236 방어·EMA20 재진입을 동력으로 전일 고점 $60,758(buy-side 유동성) 회수 후 EQ/청산 클러스터 $61,665로 흡인. 이후 롱 과밀(0.675)·OI -1.63%·EMA120/bearish BOS 하단 거절로 bearish 구조가 재개되어 EMA20/Fib 방어 $60,186 → 밀집 지지 $58,850-$59,135로 하락하는 경로다.\",\n  \"key_insight\": \"현재는 하락 구조 안의 Spring 회복/재축적 테스트 구간. 상방은 EQ $61,665-$61,900에서 거절되는 '유동성 회수' 성격이 우세하고($61,716-$61,844 Harmonic Gartley·Bat PRZ 중첩), 하방은 $58,850-$59,080 Spring 방어선이 base case 지지. $59,080 레인지 저점 이탈(=Spring 실패) 또는 $62,232 BOS 회복이 다음 메인 방향을 결정한다.\",\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 61665.0,\n      \"type\": \"resistance_test\",\n      \"source\": \"wyckoff(EQ $61,665), ict(EQ $61,813.60·전일고점 $60,758.30), harmonic(PRZ $61,637-$61,843·bearish Gartley $60,716-$61,637), derivatives(청산대 $61,900), fibonacci($60,924.70→$61,712.06)\",\n      \"description\": \"셋업 bullish(64%)이므로 첫 웨이포인트는 상방. 현재가 $60,414는 EMA20 $60,186·Fib 0.236 $60,241 방어 클러스터 위 Spring 회복 상태로, 전일 고점 $60,758(buy-side 유동성) 돌파 후 $60,925(Fib 스윙 고점)·$61,126(Harmonic PRZ)를 거쳐 핵심 균형/저항 클러스터로 흡인된다. Wyckoff EQ $61,665, ICT EQ $61,813.60, Harmonic PRZ $61,637-$61,844, 파생 청산대 $61,900가 중첩. 다만 bearish Gartley PRZ·EMA120/bearish BOS 하단·롱 과밀(0.675)·OI -1.63%로 이 구간은 '유동성 회수 후 거절' 우세.\",\n      \"est_hours\": 6.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 60186.01,\n      \"type\": \"support_test\",\n      \"source\": \"candlestick(EMA20 $60,186.01), fibonacci(0.236 $60,241.55), ict(되돌림성 매수 판정), derivatives(반등 질 낮음)\",\n      \"description\": \"EQ 거절 후 bearish 구조 재개. ICT(78%)·Derivatives(62%)가 EMA120 하단 되돌림성 매수로 평가하므로, 전일 고점 미수용 시 1차 방어선인 EMA20 $60,186.01 + Fib 0.236 $60,241.55 클러스터로 회귀해 단기 지지 테스트. 여기 수용 실패가 다음 하락의 트리거.\",\n      \"est_hours\": 13.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 59135.78,\n      \"type\": \"support_test\",\n      \"source\": \"fibonacci(0.618 골든 $59,135.78), wyckoff(레인지 저점 $59,080), harmonic($59,060), ict(전일저점 $58,850 인접)\",\n      \"description\": \"방어 클러스터 이탈 시 밀집 지지대 $58,850-$59,135로 하락. Fib 0.618 골든 $59,135.78·Wyckoff 메인 레인지 저점 $59,080·Harmonic $59,060이 중첩하는 Spring 방어선 테스트 구간. 유지 시 재축적(Wyckoff bullish 66%) 시나리오 생존, 이탈 시 Spring 실패로 $58,030 가속.\",\n      \"est_hours\": 21.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 61126.19, \"expected_low\": 60241.55, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 61665.0,  \"expected_low\": 60241.55, \"high_first\": true},\n    \"24h\": {\"expected_high\": 61665.0,  \"expected_low\": 58850.0,  \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 62232.10, \"description\": \"ICT bearish BOS $62,232.10 회복. 4h 수용 시 되돌림성 매수가 아닌 추세 전환으로 격상되어 EMA120 $63,053.14 → $63,650/$64,250 상단 테스트로 가속. 경로의 하락 레그 무력화.\"},\n    \"bearish\": {\"price\": 58850.0,  \"description\": \"Terminal Spring $58,850 및 레인지 저점 $59,080 동반 이탈 = Spring 실패. ICT·Derivatives 타깃인 $58,288 Spring 저점 → $58,030 7일 저점/레인지 저점 유동성 재공격으로 가속, 파생 하방 $54,000까지 열림.\"}\n  },\n  \"scenario_invalidation\": 63053.14\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 61665.0,
        "turning_zone": [
          61665.0,
          62000.0
        ],
        "likely_wick": 61900.0,
        "rejection_confirm": 61126.19,
        "invalid_overshoot": 62232.1,
        "calibration_reasoning": "Wyckoff EQ $61,665을 하단 기준으로 ICT EQ $61,813.60·Harmonic PRZ(~$61,844)·파생 청산대 $61,900·라운드 $62,000까지 묶어 존(폭≈0.35 ATR)을 구성했다. 유동성 자석인 청산 클러스터 $61,900을 likely_wick으로 채택, $61,126.19(Harmonic PRZ/저항) 하향 이탈 시 거절 확인, 다음 저항 $62,232.10 상회 시 돌파 전환으로 무효."
      },
      {
        "seq": 2,
        "base_target": 60186.01,
        "turning_zone": [
          59818.92,
          60186.01
        ],
        "likely_wick": 60000.0,
        "rejection_confirm": 60758.3,
        "invalid_overshoot": 59477.35,
        "calibration_reasoning": "EMA20 $60,186.01·Fib0.236 $60,241.55 클러스터를 상단으로, Fib0.382 $59,818.92를 하단으로 잡아 존(폭≈0.39 ATR)을 설정했다. 강한 라운드 넘버 자석 $60,000을 likely_wick으로, 전일 고점 $60,758.30(buy-side) 회복 시 반등 확인, Fib0.5 $59,477.35 이탈(수용 실패) 시 무효로 다음 하락 트리거."
      },
      {
        "seq": 3,
        "base_target": 59135.78,
        "turning_zone": [
          58600.0,
          59135.78
        ],
        "likely_wick": 58900.0,
        "rejection_confirm": 59477.35,
        "invalid_overshoot": 58288.0,
        "calibration_reasoning": "터미널 웨이포인트로 Fib0.618 $59,135.78·Wyckoff 저점 $59,080·Harmonic $59,060 합류대를 상단, 밀집 지지 $58,850 아래 Spring 침투 여유까지 포함해 존(폭≈0.56 ATR)을 확대했다. 라운드 $59,000과 챔버 지지 $58,850 사이 $58,900을 Spring 와이크로, Fib0.5 $59,477.35 회복 시 반등 확인, $58,288 이탈 시 Spring 실패로 $58,030 가속·무효."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 61665.00,\n      \"turning_zone\": [61665.00, 62000.00],\n      \"likely_wick\": 61900.00,\n      \"rejection_confirm\": 61126.19,\n      \"invalid_overshoot\": 62232.10,\n      \"calibration_reasoning\": \"Wyckoff EQ $61,665을 하단 기준으로 ICT EQ $61,813.60·Harmonic PRZ(~$61,844)·파생 청산대 $61,900·라운드 $62,000까지 묶어 존(폭≈0.35 ATR)을 구성했다. 유동성 자석인 청산 클러스터 $61,900을 likely_wick으로 채택, $61,126.19(Harmonic PRZ/저항) 하향 이탈 시 거절 확인, 다음 저항 $62,232.10 상회 시 돌파 전환으로 무효.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 60186.01,\n      \"turning_zone\": [59818.92, 60186.01],\n      \"likely_wick\": 60000.00,\n      \"rejection_confirm\": 60758.30,\n      \"invalid_overshoot\": 59477.35,\n      \"calibration_reasoning\": \"EMA20 $60,186.01·Fib0.236 $60,241.55 클러스터를 상단으로, Fib0.382 $59,818.92를 하단으로 잡아 존(폭≈0.39 ATR)을 설정했다. 강한 라운드 넘버 자석 $60,000을 likely_wick으로, 전일 고점 $60,758.30(buy-side) 회복 시 반등 확인, Fib0.5 $59,477.35 이탈(수용 실패) 시 무효로 다음 하락 트리거.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 59135.78,\n      \"turning_zone\": [58600.00, 59135.78],\n      \"likely_wick\": 58900.00,\n      \"rejection_confirm\": 59477.35,\n      \"invalid_overshoot\": 58288.00,\n      \"calibration_reasoning\": \"터미널 웨이포인트로 Fib0.618 $59,135.78·Wyckoff 저점 $59,080·Harmonic $59,060 합류대를 상단, 밀집 지지 $58,850 아래 Spring 침투 여유까지 포함해 존(폭≈0.56 ATR)을 확대했다. 라운드 $59,000과 챔버 지지 $58,850 사이 $58,900을 Spring 와이크로, Fib0.5 $59,477.35 회복 시 반등 확인, $58,288 이탈 시 Spring 실패로 $58,030 가속·무효.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 51.3,
      "chairman": 92.9,
      "operating_path": 310.9,
      "tp_calibrator": 237.5
    },
    "agents": {},
    "total_s": 692.7
  }
}