BTC/USDT 15M Council Report

Signal: BEARISH (80%)  |  Price: $70,926.00  |  2026-06-02 13:00 KST  |  300 candles

Council: 2 bullish, 0 neutral, 4 bearish  |  Support: $70,801 / $70,792 / $70,651  |  Resistance: $70,981 / $70,984 / $71,022

result.json   raw.txt   report.md


BTC Chart

Executive Summary

현재 BTC 15분 구조는 명확한 bearish regime으로 평가된다. 이전 분배 사이클은 UTAD $74,179.90 이후 SOW $73,171.00과 Phase E 저점 $70,038.00으로 진행되었고, 현재는 별도의 활성 재분배 구조에서 LPSY $71,022.40 및 SOW $70,791.50이 확인된 상태다. 가격은 $70,926으로 ICT EQ $70,913.25 바로 위, Fibonacci 0.618 $70,981.07 및 EMA20 $70,984.47 바로 아래에 위치해 구조적 약세 속 단기 반응 구간에 머물러 있다. 핵심 구조 지지는 $70,038-$70,100, 핵심 구조 저항은 $70,981-$71,063 및 $71,350이며, $73,171 회복 전까지는 bearish structure가 우세하다. 단, $70,611.87-$71,260.00 하모닉 bullish PRZ와 high-volume bullish engulfing은 구조 전환 신호가 아니라 약세 구조 내 반등 리스크 조건으로 관리해야 한다.

Confluences

Conflicts


Agent Matrix

AgentSignalConfidenceSupportResistance
Wyckoff ExpertBEARISH86%$70,792 / $70,651$71,022 / $72,001
ICT TraderBEARISH78%$70,913 / $70,038$70,984 / $71,350
Derivatives TraderBEARISH68%$70,100 / $70,038$70,984 / $72,001
Candlestick ReaderBULLISH58%$70,038 / $70,666$70,984 / $72,001
Fibonacci AnalystBEARISH65%$70,801 / $70,621$70,981 / $71,237
Harmonic SpecialistBULLISH56%$70,752 / $70,612$71,063 / $71,260

Agent Details

Wyckoff Expert — BEARISH (86%)

Support: $70,792 / $70,651 / $70,038 | Resistance: $71,022 / $72,001 / $72,574 | Horizon: short to medium term

구조적으로는 acc_score 92.4보다 dis_score 100.0이 우세하고, regime_fitness 1.000의 confirmed_dis로 분배 해석이 확정적입니다. 이벤트 체인은 BC $74,078.60 → AR $73,803.10 → ST $74,250.00 → UTAD $74,179.90 → SOW $73,171.00 → Phase E $70,038.00로 진행되어, 현재 $70,926.00은 이미 원 분배 박스 하단과 SOW 레벨 아래에서 거래되고 있습니다. 즉 structure_bias는 명확히 bearish이며, 즉각 경로도 $71,022.40 및 EMA20 $70,984.47 부근 저항을 회복하지 못하면 $70,038.00 저점 재시험 가능성이 우선입니다. 다만 현재가는 Phase E 저점 $70,038.00에서 이미 일부 반등한 위치이므로, 신규 하락 추종은 $71,022.40 거부 또는 $70,038.00 재이탈 확인이 더 깔끔합니다.
ICT Trader — BEARISH (78%)

Support: $70,913 / $70,038 | Resistance: $70,984 / $71,350 / $71,564 | Horizon: short term

확정 구조는 bearish로 판단한다. 최근 구조 이벤트가 BOS_bearish $73,839.00, BOS_bearish $73,701.00, CHoCH_bearish $73,340.70, BOS_bearish $73,171.00 순서로 이어졌고, 이전일 저점 $71,350.00까지 하방 이탈했기 때문이다. 현재가는 $70,926.00으로 EQ $70,913.25 바로 위의 프리미엄 영역에 있으며, EMA20 $70,984.47 아래에 있어 단기 반등이 강한 구조 전환이라기보다 하락 중 되돌림으로 해석된다. 다만 활성 OB, 미충족 FVG, 최근 유동성 스윕 데이터가 모두 비어 있어 진입 근거는 구조/위치 기반이며, $70,038.00 런던 저점 및 7일 저점 재탐색 가능성이 핵심 시나리오다.
Derivatives Trader — BEARISH (68%)

Support: $70,100 / $70,038 / $67,500 | Resistance: $70,984 / $72,001 / $72,300 | Horizon: short term, 파생 포지셔닝 선행성을 고려한 4-8시간 우위

현재 BTC는 $70,926으로 EMA20 $70,984.47 바로 아래에 있으며, EMA120 $72,000.83과 EMA240 $72,621.02 아래에서 거래되어 단기 반등보다 구조적 약세가 우세합니다. 파생 포지셔닝은 롱 계정 비율 0.674까지 상승했고 숏 계정은 0.326으로 감소해 롱 쏠림이 뚜렷하며, 이는 하락장에서 반대매매성 리스크를 키웁니다. CVD는 -4079.9970으로 약하고, OI가 완전히 빠지지 않은 상태에서 가격이 24시간 -3.80% 하락해 신규 롱이 물리는 구조로 해석됩니다. $70,100 하방 청산 레벨이 매우 가깝고, 이탈 시 $67,500 및 $64,100 유동성 구간까지 확장될 수 있습니다.
Candlestick Reader — BULLISH (58%)

Support: $70,038 / $70,666 | Resistance: $70,984 / $72,001 / $72,144 | Horizon: short term

현재 BTC는 $70,926으로 EMA20 $70,984.47 바로 아래에 있으며, EMA120 $72,000.83과 EMA240 $72,621.02 아래에 있어 확인된 구조는 아직 bearish입니다. 다만 7일 저점 $70,038 부근의 discount 영역에서 high-volume bullish engulfing이 포착되었고, best_pattern_quality 0.756으로 최근 반전 캔들 중 신뢰도가 가장 높습니다. 최근 5개 캔들은 대부분 소폭 양봉이었지만 마지막에 저품질 bearish engulfing이 발생해 즉시 추세 전환 확정이라기보다는 단기 반등 setup으로 해석하는 것이 적절합니다. $70,984.47 EMA20을 회복하면 $72,000.83 EMA120 및 7일 EQ $72,144까지 되돌림 여지가 열리지만, $70,038 이탈 시 bullish setup은 무효화됩니다.
Fibonacci Analyst — BEARISH (65%)

Support: $70,801 / $70,621 / $70,398 | Resistance: $70,981 / $71,237 / $71,564 | Horizon: short term

현재 스윙은 $71,564에서 $70,038로 하락한 High→Low 구조이며, 가격은 되돌림 0.618인 $70,981.07 바로 아래에서 테스트 중입니다. 0.618 골든 비율은 가장 중요한 되돌림 저항으로, 현재가 $70,926은 해당 레벨과 0.08%밖에 떨어져 있지 않아 반응 확률 0.65의 매도 반응 구간으로 해석됩니다. 또한 $70,938.03 컨플루언스 존은 3개 피보나치 레벨이 겹치고 cluster_score가 0.85로 높아, 단기적으로는 저항 우위입니다. 구조적으로도 가격은 EMA120 $72,000.83 및 EMA240 $72,621.02 아래에 머물러 있어 확정적 상승 전환보다는 하락 구조 내 되돌림 국면으로 판단됩니다.
Harmonic Specialist — BULLISH (56%)

Support: $70,752 / $70,612 / $70,526 | Resistance: $71,063 / $71,260 / $71,305 | Horizon: short term

하모닉 관점의 핵심은 현재가 $70,926이 active bullish PRZ 클러스터 안에 있다는 점이며, 특히 strict high Gartley 형성 PRZ $70,611.87-$71,062.69와 완료된 strict medium Bat PRZ $70,752.18-$71,260.00이 겹친다. 완료 Bat는 PRZ 터치/방어, 중심부 reclaim/rejection, AD 0.382 도달, post-D 진행 조건으로 reaction_score 1.0을 기록해 post-confirmation vote-eligible 상태지만, 거버넌스상 단독 추세 전환 근거는 아니다. 구조적으로는 가격이 EMA120 $72,000.83 및 EMA240 $72,621.02 아래에 있고 24h -3.80%라 상위 구조 확정 강세라고 보기는 어렵지만, 제공 데이터상 명확한 BOS/CHoCH 확인은 없어 structure_bias는 neutral로 둔다. 실행 셋업은 $70,611-$71,260 PRZ 방어가 유지되는 한 bullish 반등 우위이며, 확인된 Bat TP는 $71,304.97 → $71,489.62 → $71,788.50 순서가 가장 신뢰도 높은 목표다.

Operating Path — complex (64%)

#PriceTypeSourceEst. HoursDescription
1$71,063resistance_testWyckoff LPSY $71,022.40, Fibonacci 0.618 $70,981.07 + 3중 컨플루언스 $70,938.03, Derivatives/ICT EMA20 $70,984.47, Harmonic Gartley PRZ 상단 $71,062.692현재가 $70,926는 ICT EQ $70,913.25 위 프리미엄 영역에서 $70,981-$71,063 핵심 저항 컨플루언스 바로 아래에 위치한다. 하모닉 bullish PRZ와 high-volume bullish engulfing이 만든 단기 반등 리스크가 가격을 컨플루언스 상단(Gartley PRZ top $71,062.69, LPSY $71,022.40 위)까지 밀어올린 뒤, Wyckoff LPSY·Fib 0.618 $70,981.07·EMA20 $70,984.47가 겹치는 재분배 공급 구간에서 거부될 가능성이 높다. Wyckoff가 명시한 '클린 숏'(LPSY $71,022.40 거부) 조건이 충족되는 지점으로, 약세 추종 진입의 1차 트리거.
2$70,651support_testWyckoff SOW $70,791.50 → support $70,650.90, Fibonacci support $70,620.93, Harmonic Gartley PRZ 하단 $70,611.878LPSY 거부 후 Wyckoff SOW $70,791.50를 하향 이탈하며 $70,611-$70,650 지지 클러스터(Wyckoff support $70,650.90 + Fib $70,620.93 + Gartley PRZ low $70,611.87)를 테스트. 하모닉 PRZ 하단과 겹쳐 일시적 반응이 나올 수 있으나, 확정 재분배(confirmed_dis) 구조상 지지 약화 후 하락 지속 가능성이 우세.
3$70,038swing_lowWyckoff Phase E 저점 $70,038, ICT 런던 저점 $70,038, Fibonacci swing low $70,038, Candlestick 7일 저점 $70,038(high-volume bullish engulfing), Derivatives 청산 $70,100165중 컨플루언스 핵심 구조 저점 $70,038 재시험. Phase E 저점·런던 저점·7일 저점·Fib swing low가 일치하고 $70,100 하방 청산 레벨이 인접해 유동성이 집중된 구간. 다만 high-volume bullish engulfing이 위치해 스윕성 하락 후 매수 방어/반등 가능성이 있어, 무리한 추종보다 이익실현 1차 목표이자 스윙 저점으로 설정.

Period Extremes

HorizonExpected LowExpected HighSequence
4h$70,801$71,063High first
8h$70,651$71,063High first
24h$70,038$71,063High first

Triggers

Invalidation: $71,350

Raw Operating Path Response
```json
{
  "path_type": "complex",
  "confidence": 0.64,
  "waypoints": [
    {
      "seq": 1,
      "price": 71062.69,
      "type": "resistance_test",
      "source": "Wyckoff LPSY $71,022.40, Fibonacci 0.618 $70,981.07 + 3중 컨플루언스 $70,938.03, Derivatives/ICT EMA20 $70,984.47, Harmonic Gartley PRZ 상단 $71,062.69",
      "description": "현재가 $70,926는 ICT EQ $70,913.25 위 프리미엄 영역에서 $70,981-$71,063 핵심 저항 컨플루언스 바로 아래에 위치한다. 하모닉 bullish PRZ와 high-volume bullish engulfing이 만든 단기 반등 리스크가 가격을 컨플루언스 상단(Gartley PRZ top $71,062.69, LPSY $71,022.40 위)까지 밀어올린 뒤, Wyckoff LPSY·Fib 0.618 $70,981.07·EMA20 $70,984.47가 겹치는 재분배 공급 구간에서 거부될 가능성이 높다. Wyckoff가 명시한 '클린 숏'(LPSY $71,022.40 거부) 조건이 충족되는 지점으로, 약세 추종 진입의 1차 트리거.",
      "est_hours": 2
    },
    {
      "seq": 2,
      "price": 70650.90,
      "type": "support_test",
      "source": "Wyckoff SOW $70,791.50 → support $70,650.90, Fibonacci support $70,620.93, Harmonic Gartley PRZ 하단 $70,611.87",
      "description": "LPSY 거부 후 Wyckoff SOW $70,791.50를 하향 이탈하며 $70,611-$70,650 지지 클러스터(Wyckoff support $70,650.90 + Fib $70,620.93 + Gartley PRZ low $70,611.87)를 테스트. 하모닉 PRZ 하단과 겹쳐 일시적 반응이 나올 수 있으나, 확정 재분배(confirmed_dis) 구조상 지지 약화 후 하락 지속 가능성이 우세.",
      "est_hours": 8
    },
    {
      "seq": 3,
      "price": 70038.00,
      "type": "swing_low",
      "source": "Wyckoff Phase E 저점 $70,038, ICT 런던 저점 $70,038, Fibonacci swing low $70,038, Candlestick 7일 저점 $70,038(high-volume bullish engulfing), Derivatives 청산 $70,100",
      "description": "5중 컨플루언스 핵심 구조 저점 $70,038 재시험. Phase E 저점·런던 저점·7일 저점·Fib swing low가 일치하고 $70,100 하방 청산 레벨이 인접해 유동성이 집중된 구간. 다만 high-volume bullish engulfing이 위치해 스윕성 하락 후 매수 방어/반등 가능성이 있어, 무리한 추종보다 이익실현 1차 목표이자 스윙 저점으로 설정.",
      "est_hours": 16
    }
  ],
  "period_extremes": {
    "4h":  {"expected_high": 71062.69, "expected_low": 70801.00, "high_first": true},
    "8h":  {"expected_high": 71062.69, "expected_low": 70650.90, "high_first": true},
    "24h": {"expected_high": 71062.69, "expected_low": 70038.00, "high_first": true}
  },
  "triggers": {
    "bullish": {"price": 71260.00, "description": "$70,981-$71,063 저항 컨플루언스를 종가로 회복하고 하모닉 Bat PRZ 상단 $71,260.00 위로 돌파 시, 반등이 단순 리스크가 아닌 실질 반전으로 확장 — Bat TP 사다리 $71,304.97/$71,489.62/$71,788.50 활성화. 약세 셋업 약화."},
    "bearish": {"price": 70038.00, "description": "WP3 $70,038를 일시 테스트가 아닌 종가 기준 명확히 하향 이탈 시 약세 가속 — $69,622.93/$69,406.24 및 $67,500 유동성 구간까지 확장. (base case는 $70,038의 high-volume bullish engulfing 방어로 반등)"}
  },
  "scenario_invalidation": 71350.00
}
```

Raw Chairman Response
{
  "overall_signal": "bearish",
  "overall_confidence": 0.8,
  "execution_setup": {
    "setup_bias": "bearish",
    "setup_strength": 0.76,
    "active_setups": [
      "ICT: 현재가 $70,926이 단기 EQ $70,913.25 위의 프리미엄 영역에 있으며, 이전일 저점 $71,350 하향 이탈 후 그 아래에서 거래 중",
      "Fibonacci: $70,981.07의 0.618 되돌림 저항을 0.08% 거리에서 테스트 중이며, $70,938.03에 3중 피보나치 컨플루언스 존재",
      "Derivatives: 롱 계정 비율 0.674, 숏 계정 비율 0.326으로 롱 과밀이며, CVD 변화 -4079.9970으로 매수 추격의 취약성 존재",
      "Wyckoff: 현재 활성 구조에서 LPSY $71,022.40 이후 SOW $70,791.50이 확인되어 재분배성 약세 셋업 유지",
      "반대 조건: Harmonic은 $70,611.87-$71,062.69 bullish Gartley PRZ와 $70,752.18-$71,260.00 completed Bat PRZ를 제시하며 단기 반등 리스크를 형성",
      "반대 조건: Candlestick은 $70,038 부근에서 strict bullish engulfing, 품질 0.756, high-volume 반응을 확인"
    ],
    "setup_vs_structure": "실행 셋업은 구조적 약세와 대체로 정렬되어 있다. 다만 현재 가격이 하모닉 bullish PRZ 내부이자 $70,038 저점 반등 구간에 있어, 구조는 약세지만 즉시 추격에는 반등형 변동성 리스크가 동반된다."
  },
  "signal_breakdown": {
    "bullish_count": 2,
    "bearish_count": 4,
    "neutral_count": 0
  },
  "key_levels": {
    "support": [
      70801.0,
      70791.5,
      70650.9,
      70620.93,
      70038.0,
      70100.0,
      67500.0,
      64100.0
    ],
    "resistance": [
      70981.07,
      70984.47,
      71022.4,
      71062.69,
      71237.44,
      71350.0,
      71564.0,
      71788.5,
      72000.83,
      72144.0,
      72621.02,
      73171.0
    ]
  },
  "confluences": [
    "Fibonacci $70,981.07 0.618 저항과 EMA20 $70,984.47이 거의 동일 구간에 있어, $70,981-$70,984는 단기 핵심 저항 컨플루언스다.",
    "Fibonacci의 3중 컨플루언스 $70,938.03과 현재가 $70,926은 매우 근접해 있으며, ICT의 EQ $70,913.25와도 같은 미세 가격대에 위치한다.",
    "Wyckoff의 LPSY $71,022.40, Harmonic bullish Gartley PRZ 상단 $71,062.69, Fibonacci 0.618 $70,981.07, EMA20 $70,984.47이 모두 $70,980-$71,063 저항/반응 구간으로 겹친다.",
    "Wyckoff Phase E 저점 $70,038, ICT 런던 저점 $70,038, Fibonacci swing low/ext_1.0 $70,038, Candlestick 7일 저점 $70,038이 동일하게 핵심 구조 저점으로 일치한다.",
    "Derivatives의 근접 하방 청산 레벨 $70,100은 구조 저점 $70,038과 인접해 있어 $70,038-$70,100 구간은 유동성 및 구조 지지 컨플루언스다.",
    "EMA120 $72,000.83은 Fibonacci/Derivatives/Candlestick/ICT/Wyckoff가 모두 상위 저항으로 인식하며, 구조적 약세가 유지되는 기준선 역할을 한다.",
    "Wyckoff의 SOW $73,171과 ICT의 bearish BOS $73,171이 동일하게 보고되어, $73,171은 하락 구조가 형성된 핵심 구조 레벨이다."
  ],
  "conflicts": [
    "Wyckoff, ICT, Derivatives, Fibonacci는 구조 및 셋업 모두 약세를 지지하지만, Candlestick과 Harmonic은 $70,038 저점 반응 및 $70,611.87-$71,260.00 PRZ 방어를 근거로 단기 bullish setup을 제시한다.",
    "Harmonic의 completed bullish Bat는 reaction_score 1.0으로 반등 반응을 확인했지만, 하모닉 자체 거버넌스상 단독 구조 전환 권한은 없으며 Wyckoff/ICT의 bearish structure를 뒤집지는 못한다.",
    "Candlestick의 bullish engulfing은 strict 및 high-volume으로 품질이 높지만, 마지막 최근 패턴에는 저품질 bearish engulfing도 존재해 즉시 강세 구조 전환으로 해석하기 어렵다.",
    "현재가는 하모닉 bullish PRZ 내부에 있어 매도 추격에는 불리한 위치지만, 동시에 Fibonacci 0.618 및 EMA20 저항 바로 아래에 있어 구조적 매수 확정에도 불충분하다."
  ],
  "highest_conviction_analyst": "Wyckoff Expert — regime_fitness 1.000의 confirmed distribution, dis_score 100.0, Phase E 및 현재 활성 재분배 구조까지 제시했으며, BC $74,078.60 → AR $73,803.10 → ST $74,250.00 → UTAD $74,179.90 → SOW $73,171.00 → Phase E $70,038.00의 구체적 가격 시퀀스가 가장 명확하다.",
  "invalidation_level": "$73,171 이상 회복 및 수용 시 15분 bearish BOS/SOW 구조가 훼손되며, $74,250 상향 돌파 시 기존 분배 구조 해석은 실질적으로 무효화된다.",
  "executive_summary": "현재 BTC 15분 구조는 명확한 bearish regime으로 평가된다. 이전 분배 사이클은 UTAD $74,179.90 이후 SOW $73,171.00과 Phase E 저점 $70,038.00으로 진행되었고, 현재는 별도의 활성 재분배 구조에서 LPSY $71,022.40 및 SOW $70,791.50이 확인된 상태다. 가격은 $70,926으로 ICT EQ $70,913.25 바로 위, Fibonacci 0.618 $70,981.07 및 EMA20 $70,984.47 바로 아래에 위치해 구조적 약세 속 단기 반응 구간에 머물러 있다. 핵심 구조 지지는 $70,038-$70,100, 핵심 구조 저항은 $70,981-$71,063 및 $71,350이며, $73,171 회복 전까지는 bearish structure가 우세하다. 단, $70,611.87-$71,260.00 하모닉 bullish PRZ와 high-volume bullish engulfing은 구조 전환 신호가 아니라 약세 구조 내 반등 리스크 조건으로 관리해야 한다."
}
Full Result JSON
{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-06-02 13:00 KST",
  "last_price": 70926.0,
  "num_candles": 300,
  "stage1_analyses": {
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.65,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "현재가 $70,926은 스윙 EQ인 ret_0.5 $70,801 위에 있어 단기 프리미엄 구간에 위치",
        "0.618 골든 비율 저항 $70,981.07을 테스트 중이며 현재가는 해당 레벨과 0.08% 거리",
        "주요 피보나치 컨플루언스 존 $70,938.03에서 ret_0.5, ret_0.618, ret_0.236이 중첩되고 cluster_score 0.85",
        "가격이 EMA20 $70,984.47 및 0.618 저항 $70,981.07 바로 아래에 있어 단기 반등 실패 가능성 존재",
        "상위 EMA120 $72,000.83, EMA240 $72,621.02 아래에서 거래되어 구조적 회복은 아직 미확인"
      ],
      "reasoning": "현재 스윙은 $71,564에서 $70,038로 하락한 High→Low 구조이며, 가격은 되돌림 0.618인 $70,981.07 바로 아래에서 테스트 중입니다. 0.618 골든 비율은 가장 중요한 되돌림 저항으로, 현재가 $70,926은 해당 레벨과 0.08%밖에 떨어져 있지 않아 반응 확률 0.65의 매도 반응 구간으로 해석됩니다. 또한 $70,938.03 컨플루언스 존은 3개 피보나치 레벨이 겹치고 cluster_score가 0.85로 높아, 단기적으로는 저항 우위입니다. 구조적으로도 가격은 EMA120 $72,000.83 및 EMA240 $72,621.02 아래에 머물러 있어 확정적 상승 전환보다는 하락 구조 내 되돌림 국면으로 판단됩니다.",
      "key_levels": {
        "support": [
          70801.0,
          70620.93,
          70398.14,
          70038.0,
          69622.93,
          69406.24,
          69094.93
        ],
        "resistance": [
          70981.07,
          71237.44,
          71564.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$71,237.44",
      "risk_scenario": "반대로 가격이 0.618 저항 $70,981.07을 명확히 돌파하고 $71,237.44의 ret_0.786 위에서 수용되면, 현재의 하락 되돌림 매도 셋업은 약화됩니다. 이 경우 단기 숏 커버링이 발생하며 이전 스윙 고점 $71,564까지 재상승을 시도할 수 있습니다.",
      "data_quality": "high",
      "metrics": {
        "swing_pair": "High→Low: $71,564 → $70,038",
        "direction": "down",
        "nearest_fib": "ret_0.618",
        "nearest_fib_price": 70981.07,
        "nearest_fib_distance": 0.08,
        "golden_ratio_level": 70981.07,
        "fib_ret_382": 70620.93,
        "fib_ret_618": 70981.07,
        "confluence_zones": [
          {
            "price": 70938.03,
            "count": 3,
            "levels": [
              "ret_0.5",
              "ret_0.618",
              "ret_0.236"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 67501.96,
            "count": 2,
            "levels": [
              "ext_1.618",
              "ext_2.618"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 68403.12,
            "count": 2,
            "levels": [
              "ext_1.414",
              "ext_2.0"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 68993.63,
            "count": 2,
            "levels": [
              "ext_1.272",
              "ext_1.618"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 69514.58,
            "count": 2,
            "levels": [
              "ext_1.414",
              "ext_1.272"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          70801.0,
          70620.932,
          70398.136
        ],
        "resistance_levels": [
          70981.068,
          71237.436
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 70398.14,
            "distance_pct": 0.74,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.382",
            "price": 70620.93,
            "distance_pct": 0.43,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.5",
            "price": 70801.0,
            "distance_pct": 0.18,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.618",
            "price": 70981.07,
            "distance_pct": 0.08,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.786",
            "price": 71237.44,
            "distance_pct": 0.44,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.0",
            "price": 70038.0,
            "distance_pct": 1.25,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 69622.93,
            "distance_pct": 1.84,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 69406.24,
            "distance_pct": 2.14,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.618",
            "price": 69094.93,
            "distance_pct": 2.58,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_2.0",
            "price": 68512.0,
            "distance_pct": 3.4,
            "is_support": true,
            "cluster_score": 0.6
          }
        ],
        "confluence_quality": 0.85,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.65,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"현재가 $70,926은 스윙 EQ인 ret_0.5 $70,801 위에 있어 단기 프리미엄 구간에 위치\",\n    \"0.618 골든 비율 저항 $70,981.07을 테스트 중이며 현재가는 해당 레벨과 0.08% 거리\",\n    \"주요 피보나치 컨플루언스 존 $70,938.03에서 ret_0.5, ret_0.618, ret_0.236이 중첩되고 cluster_score 0.85\",\n    \"가격이 EMA20 $70,984.47 및 0.618 저항 $70,981.07 바로 아래에 있어 단기 반등 실패 가능성 존재\",\n    \"상위 EMA120 $72,000.83, EMA240 $72,621.02 아래에서 거래되어 구조적 회복은 아직 미확인\"\n  ],\n  \"reasoning\": \"현재 스윙은 $71,564에서 $70,038로 하락한 High→Low 구조이며, 가격은 되돌림 0.618인 $70,981.07 바로 아래에서 테스트 중입니다. 0.618 골든 비율은 가장 중요한 되돌림 저항으로, 현재가 $70,926은 해당 레벨과 0.08%밖에 떨어져 있지 않아 반응 확률 0.65의 매도 반응 구간으로 해석됩니다. 또한 $70,938.03 컨플루언스 존은 3개 피보나치 레벨이 겹치고 cluster_score가 0.85로 높아, 단기적으로는 저항 우위입니다. 구조적으로도 가격은 EMA120 $72,000.83 및 EMA240 $72,621.02 아래에 머물러 있어 확정적 상승 전환보다는 하락 구조 내 되돌림 국면으로 판단됩니다.\",\n  \"key_levels\": {\n    \"support\": [\n      70801.0,\n      70620.93,\n      70398.14,\n      70038.0,\n      69622.93,\n      69406.24,\n      69094.93\n    ],\n    \"resistance\": [\n      70981.07,\n      71237.44,\n      71564.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$71,237.44\",\n  \"risk_scenario\": \"반대로 가격이 0.618 저항 $70,981.07을 명확히 돌파하고 $71,237.44의 ret_0.786 위에서 수용되면, 현재의 하락 되돌림 매도 셋업은 약화됩니다. 이 경우 단기 숏 커버링이 발생하며 이전 스윙 고점 $71,564까지 재상승을 시도할 수 있습니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.68,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.74,
      "setup_signals": [
        "가격이 EMA120 $72,000.83 및 EMA240 $72,621.02 아래에서 수용되어 구조적으로 약세 우위",
        "롱 계정 비율 0.674, 숏 계정 비율 0.326으로 롱 포지셔닝 과밀",
        "account_flow_label이 long_accounts_rising_short_accounts_falling로, 하락 중 롱 계정 증가",
        "CVD 변화량 -4079.9970으로 매수 참여 약화 및 체결 흐름 부진",
        "OI trend 0.542 및 24h OI 변화 0.423으로 가격 하락 중 신규 포지션 유입 가능성",
        "현물-선물 베이시스 -0.0390%로 선물 약세 압력 존재",
        "하방 청산 유동성 $70,100 근접, 추가 하방 목표 $67,500 및 $64,100"
      ],
      "reasoning": "현재 BTC는 $70,926으로 EMA20 $70,984.47 바로 아래에 있으며, EMA120 $72,000.83과 EMA240 $72,621.02 아래에서 거래되어 단기 반등보다 구조적 약세가 우세합니다. 파생 포지셔닝은 롱 계정 비율 0.674까지 상승했고 숏 계정은 0.326으로 감소해 롱 쏠림이 뚜렷하며, 이는 하락장에서 반대매매성 리스크를 키웁니다. CVD는 -4079.9970으로 약하고, OI가 완전히 빠지지 않은 상태에서 가격이 24시간 -3.80% 하락해 신규 롱이 물리는 구조로 해석됩니다. $70,100 하방 청산 레벨이 매우 가깝고, 이탈 시 $67,500 및 $64,100 유동성 구간까지 확장될 수 있습니다.",
      "key_levels": {
        "support": [
          70100,
          70038,
          67500,
          64100,
          63800
        ],
        "resistance": [
          70984.47,
          72000.83,
          72300,
          73100,
          74250
        ]
      },
      "time_horizon": "short term, 파생 포지셔닝 선행성을 고려한 4-8시간 우위",
      "invalidation_level": "$72,300 상방 회복 및 15분봉 기준 구조적 수용",
      "risk_scenario": "$70,100 유동성만 스윕한 뒤 즉시 회복하고 EMA20 $70,984.47 위로 재진입하면 숏 커버링이 발생할 수 있으며, 이 경우 $72,000.83 EMA120과 $72,300 상방 청산 구간까지 반등이 열립니다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.15,
        "cvd_change": -4079.997,
        "oi_trend": 0.542,
        "oi_change_pct_24h": 0.423,
        "oi_latest": 105648.052,
        "funding_pressure": 0.419,
        "funding_avg": 8.146e-05,
        "funding_change_24h": 5.562e-05,
        "long_account_ratio": 0.649,
        "short_account_ratio": 0.351,
        "long_account_latest": 0.674,
        "short_account_latest": 0.326,
        "long_account_change_24h": 0.0707,
        "short_account_change_24h": -0.0707,
        "account_flow_label": "long_accounts_rising_short_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.49,
        "spot_futures_basis_pct": -0.039,
        "basis_change_lookback": 0.4315,
        "aggregate_score": 0.32,
        "bull_signals": 0,
        "bear_signals": 3,
        "liq_below": [
          [
            70100,
            1800.4838988000001
          ],
          [
            67500,
            1788.548489
          ],
          [
            64100,
            2059.7392325
          ]
        ],
        "liq_above": [
          [
            72300,
            1800.50138865
          ],
          [
            73100,
            2178.5040575
          ],
          [
            77400,
            2235.68561125
          ]
        ],
        "strongest_liq_level": 63800,
        "fragility_score": 0.551,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.68,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.74,\n  \"setup_signals\": [\n    \"가격이 EMA120 $72,000.83 및 EMA240 $72,621.02 아래에서 수용되어 구조적으로 약세 우위\",\n    \"롱 계정 비율 0.674, 숏 계정 비율 0.326으로 롱 포지셔닝 과밀\",\n    \"account_flow_label이 long_accounts_rising_short_accounts_falling로, 하락 중 롱 계정 증가\",\n    \"CVD 변화량 -4079.9970으로 매수 참여 약화 및 체결 흐름 부진\",\n    \"OI trend 0.542 및 24h OI 변화 0.423으로 가격 하락 중 신규 포지션 유입 가능성\",\n    \"현물-선물 베이시스 -0.0390%로 선물 약세 압력 존재\",\n    \"하방 청산 유동성 $70,100 근접, 추가 하방 목표 $67,500 및 $64,100\"\n  ],\n  \"reasoning\": \"현재 BTC는 $70,926으로 EMA20 $70,984.47 바로 아래에 있으며, EMA120 $72,000.83과 EMA240 $72,621.02 아래에서 거래되어 단기 반등보다 구조적 약세가 우세합니다. 파생 포지셔닝은 롱 계정 비율 0.674까지 상승했고 숏 계정은 0.326으로 감소해 롱 쏠림이 뚜렷하며, 이는 하락장에서 반대매매성 리스크를 키웁니다. CVD는 -4079.9970으로 약하고, OI가 완전히 빠지지 않은 상태에서 가격이 24시간 -3.80% 하락해 신규 롱이 물리는 구조로 해석됩니다. $70,100 하방 청산 레벨이 매우 가깝고, 이탈 시 $67,500 및 $64,100 유동성 구간까지 확장될 수 있습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      70100,\n      70038,\n      67500,\n      64100,\n      63800\n    ],\n    \"resistance\": [\n      70984.47,\n      72000.83,\n      72300,\n      73100,\n      74250\n    ]\n  },\n  \"time_horizon\": \"short term, 파생 포지셔닝 선행성을 고려한 4-8시간 우위\",\n  \"invalidation_level\": \"$72,300 상방 회복 및 15분봉 기준 구조적 수용\",\n  \"risk_scenario\": \"$70,100 유동성만 스윕한 뒤 즉시 회복하고 EMA20 $70,984.47 위로 재진입하면 숏 커버링이 발생할 수 있으며, 이 경우 $72,000.83 EMA120과 $72,300 상방 청산 구간까지 반등이 열립니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bullish",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.68,
      "setup_signals": [
        "가격 $70,926은 7일 범위 EQ $72,144보다 아래에 있어 discount zone에 위치",
        "7일 저점 $70,038 근처에서 반등 시도가 나타나며 단기 수요/지지 반응 가능성",
        "최근 패턴 중 strict 등급 bullish_engulfing 품질 0.756 및 high_volume=true로 매수 반전 시도 확인",
        "bull_score 1.6000이 bear_score 0.750보다 우위이나, 아직 EMA20 $70,984.47 위 안착은 미확인",
        "마지막 캔들에 bearish_engulfing@299가 있으나 품질 0.579, high_volume=false로 신뢰도는 제한적"
      ],
      "reasoning": "현재 BTC는 $70,926으로 EMA20 $70,984.47 바로 아래에 있으며, EMA120 $72,000.83과 EMA240 $72,621.02 아래에 있어 확인된 구조는 아직 bearish입니다. 다만 7일 저점 $70,038 부근의 discount 영역에서 high-volume bullish engulfing이 포착되었고, best_pattern_quality 0.756으로 최근 반전 캔들 중 신뢰도가 가장 높습니다. 최근 5개 캔들은 대부분 소폭 양봉이었지만 마지막에 저품질 bearish engulfing이 발생해 즉시 추세 전환 확정이라기보다는 단기 반등 setup으로 해석하는 것이 적절합니다. $70,984.47 EMA20을 회복하면 $72,000.83 EMA120 및 7일 EQ $72,144까지 되돌림 여지가 열리지만, $70,038 이탈 시 bullish setup은 무효화됩니다.",
      "key_levels": {
        "support": [
          70038,
          70665.58
        ],
        "resistance": [
          70984.47,
          72000.83,
          72144,
          72621.02,
          74250
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$70,038 하향 이탈",
      "risk_scenario": "반대로 $70,038 7일 저점이 깨지면 high-volume bullish engulfing은 실패한 반등 신호가 되며, EMA20 아래 재거절과 함께 하락 구조가 강화될 수 있습니다. 이 경우 단기 롱 포지션은 손절 압력에 노출되고, ATR $260.42 기준 추가 변동성 확대로 $69,700대까지 빠른 하락이 나올 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 107,
        "recent_patterns": 3,
        "pattern_list": [
          "bullish_engulfing@293",
          "bullish_engulfing@295",
          "bearish_engulfing@299"
        ],
        "atr_value": 260.42,
        "vol_avg_20": 1959.04,
        "high_volume_patterns": [
          "bullish_engulfing"
        ],
        "pattern_candidates": [
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.756,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.579,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.546,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.756,
        "bull_score": 1.6,
        "bear_score": 0.75
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"가격 $70,926은 7일 범위 EQ $72,144보다 아래에 있어 discount zone에 위치\",\n    \"7일 저점 $70,038 근처에서 반등 시도가 나타나며 단기 수요/지지 반응 가능성\",\n    \"최근 패턴 중 strict 등급 bullish_engulfing 품질 0.756 및 high_volume=true로 매수 반전 시도 확인\",\n    \"bull_score 1.6000이 bear_score 0.750보다 우위이나, 아직 EMA20 $70,984.47 위 안착은 미확인\",\n    \"마지막 캔들에 bearish_engulfing@299가 있으나 품질 0.579, high_volume=false로 신뢰도는 제한적\"\n  ],\n  \"reasoning\": \"현재 BTC는 $70,926으로 EMA20 $70,984.47 바로 아래에 있으며, EMA120 $72,000.83과 EMA240 $72,621.02 아래에 있어 확인된 구조는 아직 bearish입니다. 다만 7일 저점 $70,038 부근의 discount 영역에서 high-volume bullish engulfing이 포착되었고, best_pattern_quality 0.756으로 최근 반전 캔들 중 신뢰도가 가장 높습니다. 최근 5개 캔들은 대부분 소폭 양봉이었지만 마지막에 저품질 bearish engulfing이 발생해 즉시 추세 전환 확정이라기보다는 단기 반등 setup으로 해석하는 것이 적절합니다. $70,984.47 EMA20을 회복하면 $72,000.83 EMA120 및 7일 EQ $72,144까지 되돌림 여지가 열리지만, $70,038 이탈 시 bullish setup은 무효화됩니다.\",\n  \"key_levels\": {\n    \"support\": [\n      70038,\n      70665.58\n    ],\n    \"resistance\": [\n      70984.47,\n      72000.83,\n      72144,\n      72621.02,\n      74250\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$70,038 하향 이탈\",\n  \"risk_scenario\": \"반대로 $70,038 7일 저점이 깨지면 high-volume bullish engulfing은 실패한 반등 신호가 되며, EMA20 아래 재거절과 함께 하락 구조가 강화될 수 있습니다. 이 경우 단기 롱 포지션은 손절 압력에 노출되고, ATR $260.42 기준 추가 변동성 확대로 $69,700대까지 빠른 하락이 나올 수 있습니다.\",\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.919,
      "setup_signals": [
        "현재가 $70,926.00이 EQ $70,913.25 위의 프리미엄 영역에 위치하여 단기 매도 셋업에 유리",
        "이전일 저점 $71,350.00이 하방 이탈된 뒤 현재 가격이 그 아래에 있어 해당 레벨이 저항/리테스트 공급으로 작용 가능",
        "가격이 EMA20 $70,984.47 아래에 있으며, EMA120 $72,000.83 및 EMA240 $72,621.02도 상방 저항으로 정렬",
        "현재 retracement_direction은 bullish이나 되돌림 비율이 90.2%로 높아, 하락 추세 내 프리미엄 되돌림 매도 구간에 가까움",
        "런던 세션 고점 $71,564.00 아래에서 거래 중이며, 런던 저점 $70,038.00이 하방 유동성 목표로 남아 있음"
      ],
      "reasoning": "확정 구조는 bearish로 판단한다. 최근 구조 이벤트가 BOS_bearish $73,839.00, BOS_bearish $73,701.00, CHoCH_bearish $73,340.70, BOS_bearish $73,171.00 순서로 이어졌고, 이전일 저점 $71,350.00까지 하방 이탈했기 때문이다. 현재가는 $70,926.00으로 EQ $70,913.25 바로 위의 프리미엄 영역에 있으며, EMA20 $70,984.47 아래에 있어 단기 반등이 강한 구조 전환이라기보다 하락 중 되돌림으로 해석된다. 다만 활성 OB, 미충족 FVG, 최근 유동성 스윕 데이터가 모두 비어 있어 진입 근거는 구조/위치 기반이며, $70,038.00 런던 저점 및 7일 저점 재탐색 가능성이 핵심 시나리오다.",
      "key_levels": {
        "support": [
          70913.25,
          70038.0
        ],
        "resistance": [
          70984.47,
          71350.0,
          71564.0,
          71788.5,
          73171.0,
          73340.7
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$71,788.50",
      "risk_scenario": "반대 시나리오는 가격이 $71,350.00 이전일 저점을 회복한 뒤 런던 고점 $71,564.00과 단기 range high $71,788.50 위에서 수용되는 경우다. 이 경우 현재의 프리미엄 매도 셋업은 실패로 보고, $72,000.83 EMA120 및 $72,621.02 EMA240 방향의 숏 커버링 반등이 열릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 0,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 0,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": null,
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 0,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 59,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "CHoCH_bullish",
          "BOS_bearish",
          "BOS_bearish",
          "CHoCH_bearish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 73685.0
          },
          {
            "type": "CHoCH_bullish",
            "level": 74108.8
          },
          {
            "type": "BOS_bearish",
            "level": 73839.0
          },
          {
            "type": "BOS_bearish",
            "level": 73701.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 73340.7
          },
          {
            "type": "BOS_bearish",
            "level": 73171.0
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "CHoCH_bullish",
          "BOS_bearish",
          "BOS_bearish",
          "CHoCH_bearish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 1,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "premium",
        "eq_level": 70913.25,
        "range_high": 71788.5,
        "range_low": 70038.0,
        "bull_score": 4.7,
        "bear_score": 10.5,
        "setup_bias": "bearish",
        "setup_score": 0.919,
        "setup_signals": [
          "bearish BOS below $73,839.00",
          "bearish BOS below $73,701.00",
          "bearish CHoCH below $73,340.70",
          "bearish BOS below $73,171.00",
          "broken previous day low $71,350.00"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 90.2,
        "deepest_retracement_pct": 201.3,
        "previous_day_high": 74179.9,
        "previous_day_low": 71350.0,
        "broken_prev_high": false,
        "broken_prev_low": true,
        "sessions": {
          "London": {
            "active": true,
            "high": 71564.0,
            "low": 70038.0
          },
          "New York": {
            "active": false,
            "high": null,
            "low": null
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.78,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.919,\n  \"setup_signals\": [\n    \"현재가 $70,926.00이 EQ $70,913.25 위의 프리미엄 영역에 위치하여 단기 매도 셋업에 유리\",\n    \"이전일 저점 $71,350.00이 하방 이탈된 뒤 현재 가격이 그 아래에 있어 해당 레벨이 저항/리테스트 공급으로 작용 가능\",\n    \"가격이 EMA20 $70,984.47 아래에 있으며, EMA120 $72,000.83 및 EMA240 $72,621.02도 상방 저항으로 정렬\",\n    \"현재 retracement_direction은 bullish이나 되돌림 비율이 90.2%로 높아, 하락 추세 내 프리미엄 되돌림 매도 구간에 가까움\",\n    \"런던 세션 고점 $71,564.00 아래에서 거래 중이며, 런던 저점 $70,038.00이 하방 유동성 목표로 남아 있음\"\n  ],\n  \"reasoning\": \"확정 구조는 bearish로 판단한다. 최근 구조 이벤트가 BOS_bearish $73,839.00, BOS_bearish $73,701.00, CHoCH_bearish $73,340.70, BOS_bearish $73,171.00 순서로 이어졌고, 이전일 저점 $71,350.00까지 하방 이탈했기 때문이다. 현재가는 $70,926.00으로 EQ $70,913.25 바로 위의 프리미엄 영역에 있으며, EMA20 $70,984.47 아래에 있어 단기 반등이 강한 구조 전환이라기보다 하락 중 되돌림으로 해석된다. 다만 활성 OB, 미충족 FVG, 최근 유동성 스윕 데이터가 모두 비어 있어 진입 근거는 구조/위치 기반이며, $70,038.00 런던 저점 및 7일 저점 재탐색 가능성이 핵심 시나리오다.\",\n  \"key_levels\": {\n    \"support\": [\n      70913.25,\n      70038.0\n    ],\n    \"resistance\": [\n      70984.47,\n      71350.0,\n      71564.0,\n      71788.5,\n      73171.0,\n      73340.7\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$71,788.50\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 $71,350.00 이전일 저점을 회복한 뒤 런던 고점 $71,564.00과 단기 range high $71,788.50 위에서 수용되는 경우다. 이 경우 현재의 프리미엄 매도 셋업은 실패로 보고, $72,000.83 EMA120 및 $72,621.02 EMA240 방향의 숏 커버링 반등이 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.86,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "확정 분배 구조: regime=DIS, regime_state=confirmed_dis, phase_context=Phase E",
        "주요 분배 앵커는 BC $74,078.60 / AR $73,803.10이며 현재가 $70,926.00은 해당 범위 하단을 크게 이탈",
        "UTAD $74,179.90 이후 SOW $73,171.00 발생, 이후 Phase E 저점 $70,038.00까지 하락",
        "현재가는 EMA20 $70,984.47 바로 아래, EMA120 $72,000.83 및 EMA240 $72,621.02 아래에 위치해 반등 수용보다 공급 우위",
        "단기 LPSY 성격의 저항 후보 $71,022.40 부근에서 재차 약세 확인 필요"
      ],
      "reasoning": "구조적으로는 acc_score 92.4보다 dis_score 100.0이 우세하고, regime_fitness 1.000의 confirmed_dis로 분배 해석이 확정적입니다. 이벤트 체인은 BC $74,078.60 → AR $73,803.10 → ST $74,250.00 → UTAD $74,179.90 → SOW $73,171.00 → Phase E $70,038.00로 진행되어, 현재 $70,926.00은 이미 원 분배 박스 하단과 SOW 레벨 아래에서 거래되고 있습니다. 즉 structure_bias는 명확히 bearish이며, 즉각 경로도 $71,022.40 및 EMA20 $70,984.47 부근 저항을 회복하지 못하면 $70,038.00 저점 재시험 가능성이 우선입니다. 다만 현재가는 Phase E 저점 $70,038.00에서 이미 일부 반등한 위치이므로, 신규 하락 추종은 $71,022.40 거부 또는 $70,038.00 재이탈 확인이 더 깔끔합니다.",
      "key_levels": {
        "support": [
          70791.5,
          70650.9,
          70038.0
        ],
        "resistance": [
          71022.4,
          72000.83,
          72573.5,
          73084.0,
          73171.0,
          73803.1,
          74078.6,
          74179.9,
          74250.0
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$74,179.90",
      "risk_scenario": "$71,022.40를 회복하고 그 위에서 수용되면 단기 LPSY 거부가 실패하며 $72,000.83, $72,621.02, 이후 $73,084.00~$73,171.00 재시험 반등이 열릴 수 있습니다. 더 크게는 $74,179.90 UTAD 고점을 상향 돌파해 수용되면 현재의 확정 분배 Phase E 해석은 무효화됩니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 92.4,
        "dis_score": 100.0,
        "regime": "DIS",
        "regime_state": "confirmed_dis",
        "structure_bias": "bearish",
        "phase_context": "confirmed_dis / distribution / Phase E",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "UTAD",
          "SOW",
          "Phase E"
        ],
        "last_phase": "Phase E",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 54,
            "price": 74078.6,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 58,
            "price": 73803.1,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 97,
            "price": 74250.0,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 122,
            "price": 73793.2,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 130,
            "price": 73998.9,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 184,
            "price": 74179.9,
            "color": "#f9844a"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 196,
            "price": 73171.0,
            "color": "#ef476f"
          },
          {
            "label": "Phase E",
            "side": "low",
            "idx": 292,
            "price": 70038.0,
            "color": "#7209b7"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "15m_cycle_1",
            "sequence": 1,
            "timeframe": "15m",
            "regime": "distribution",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 54,
            "end_idx": 292,
            "phase_count": 8,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 54,
                "price": 74078.6,
                "color": "#ffd166",
                "dt": "2026-05-30 23:30:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 58,
                "price": 73803.1,
                "color": "#06d6a0",
                "dt": "2026-05-31 00:30:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 97,
                "price": 74250.0,
                "color": "#118ab2",
                "dt": "2026-05-31 10:15:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 122,
                "price": 73793.2,
                "color": "#ef476f",
                "dt": "2026-05-31 16:30:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 130,
                "price": 73998.9,
                "color": "#f9844a",
                "dt": "2026-05-31 18:30:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 184,
                "price": 74179.9,
                "color": "#f9844a",
                "dt": "2026-06-01 08:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 196,
                "price": 73171.0,
                "color": "#ef476f",
                "dt": "2026-06-01 11:00:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 292,
                "price": 70038.0,
                "color": "#7209b7",
                "dt": "2026-06-02 11:00:00+09:00"
              }
            ]
          },
          {
            "structure_id": "15m_cycle_2",
            "sequence": 2,
            "timeframe": "15m",
            "regime": "redistribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "redistribution",
            "start_idx": 221,
            "end_idx": 297,
            "phase_count": 6,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 221,
                "price": 72573.5,
                "color": "#ffd166",
                "dt": "2026-06-01 17:15:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 225,
                "price": 73084.0,
                "color": "#06d6a0",
                "dt": "2026-06-01 18:15:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 252,
                "price": 70650.9,
                "color": "#118ab2",
                "dt": "2026-06-02 01:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 276,
                "price": 70806.0,
                "color": "#ef476f",
                "dt": "2026-06-02 07:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 296,
                "price": 71022.4,
                "color": "#8338ec",
                "dt": "2026-06-02 12:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 297,
                "price": 70791.5,
                "color": "#ef476f",
                "dt": "2026-06-02 12:15:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_2",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 2,
        "regime_fitness": 1.0,
        "current_event": "Phase E",
        "major_phase": "E",
        "pos_in_range": 0.5,
        "main_range_low": 73803.1,
        "main_range_high": 74078.6
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.86,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"확정 분배 구조: regime=DIS, regime_state=confirmed_dis, phase_context=Phase E\",\n    \"주요 분배 앵커는 BC $74,078.60 / AR $73,803.10이며 현재가 $70,926.00은 해당 범위 하단을 크게 이탈\",\n    \"UTAD $74,179.90 이후 SOW $73,171.00 발생, 이후 Phase E 저점 $70,038.00까지 하락\",\n    \"현재가는 EMA20 $70,984.47 바로 아래, EMA120 $72,000.83 및 EMA240 $72,621.02 아래에 위치해 반등 수용보다 공급 우위\",\n    \"단기 LPSY 성격의 저항 후보 $71,022.40 부근에서 재차 약세 확인 필요\"\n  ],\n  \"reasoning\": \"구조적으로는 acc_score 92.4보다 dis_score 100.0이 우세하고, regime_fitness 1.000의 confirmed_dis로 분배 해석이 확정적입니다. 이벤트 체인은 BC $74,078.60 → AR $73,803.10 → ST $74,250.00 → UTAD $74,179.90 → SOW $73,171.00 → Phase E $70,038.00로 진행되어, 현재 $70,926.00은 이미 원 분배 박스 하단과 SOW 레벨 아래에서 거래되고 있습니다. 즉 structure_bias는 명확히 bearish이며, 즉각 경로도 $71,022.40 및 EMA20 $70,984.47 부근 저항을 회복하지 못하면 $70,038.00 저점 재시험 가능성이 우선입니다. 다만 현재가는 Phase E 저점 $70,038.00에서 이미 일부 반등한 위치이므로, 신규 하락 추종은 $71,022.40 거부 또는 $70,038.00 재이탈 확인이 더 깔끔합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      70791.5,\n      70650.9,\n      70038.0\n    ],\n    \"resistance\": [\n      71022.4,\n      72000.83,\n      72573.5,\n      73084.0,\n      73171.0,\n      73803.1,\n      74078.6,\n      74179.9,\n      74250.0\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$74,179.90\",\n  \"risk_scenario\": \"$71,022.40를 회복하고 그 위에서 수용되면 단기 LPSY 거부가 실패하며 $72,000.83, $72,621.02, 이후 $73,084.00~$73,171.00 재시험 반등이 열릴 수 있습니다. 더 크게는 $74,179.90 UTAD 고점을 상향 돌파해 수용되면 현재의 확정 분배 Phase E 해석은 무효화됩니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bullish",
      "confidence": 0.56,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.62,
      "setup_signals": [
        "활성 고컨플루언스 bullish Gartley 형성 PRZ $70,611.87-$71,062.69, 현재가 $70,926로 PRZ 내부/근접, XAD+BC_EXT+ABCD 3중 Fib 컨플루언스",
        "완료된 strict bullish Bat PRZ $70,752.18-$71,260.00에서 반응 확인, reaction_score 1.0 및 AD 0.382 반응 도달",
        "확인된 Bat 기준 TP 사다리: TP1 $71,304.97, TP2 $71,489.62, TP3/A 구조 유동성 $71,788.50",
        "현재가 $70,926는 EMA20 $70,984.47 바로 아래이나, active PRZ 클러스터 $70,611-$71,260 방어가 단기 반등 셋업을 유지",
        "하단 보조 bullish Crab/Gartley PRZ 컨플루언스가 $70,526.44-$71,153.94 및 $70,611.87-$71,062.69에 겹쳐 있어 $70.6k-$71.1k가 주요 반응 구간"
      ],
      "reasoning": "하모닉 관점의 핵심은 현재가 $70,926이 active bullish PRZ 클러스터 안에 있다는 점이며, 특히 strict high Gartley 형성 PRZ $70,611.87-$71,062.69와 완료된 strict medium Bat PRZ $70,752.18-$71,260.00이 겹친다. 완료 Bat는 PRZ 터치/방어, 중심부 reclaim/rejection, AD 0.382 도달, post-D 진행 조건으로 reaction_score 1.0을 기록해 post-confirmation vote-eligible 상태지만, 거버넌스상 단독 추세 전환 근거는 아니다. 구조적으로는 가격이 EMA120 $72,000.83 및 EMA240 $72,621.02 아래에 있고 24h -3.80%라 상위 구조 확정 강세라고 보기는 어렵지만, 제공 데이터상 명확한 BOS/CHoCH 확인은 없어 structure_bias는 neutral로 둔다. 실행 셋업은 $70,611-$71,260 PRZ 방어가 유지되는 한 bullish 반등 우위이며, 확인된 Bat TP는 $71,304.97 → $71,489.62 → $71,788.50 순서가 가장 신뢰도 높은 목표다.",
      "key_levels": {
        "support": [
          70752.18,
          70611.87,
          70526.44,
          70038.0
        ],
        "resistance": [
          71062.69,
          71260.0,
          71304.97,
          71489.62,
          71788.5,
          71919.2
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "70526.44",
      "risk_scenario": "$70,526.44 아래로 15분봉 종가 수용이 나오면 active bullish Crab/Gartley/Bat PRZ 스택 방어 실패로 해석되며, $70,038 7일 저점 및 $69,886.08-$70,521.28 candidate Butterfly PRZ까지 하락 확장 위험이 커진다. 반대로 $71,260을 회복하고 유지하면 Bat PRZ 방어가 강화되어 $71,304.97-$71,489.62 TP 구간까지 반등 지속 가능성이 높아진다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 39,
        "completed_patterns_found": 10,
        "forming_d_prz_found": 29,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 63,
        "swing_highs_scanned": 32,
        "swing_lows_scanned": 31,
        "timeframe": "15m",
        "prz_active_threshold_pct": 0.3,
        "prz_nearby_threshold_pct": 0.6,
        "prz_watch_threshold_pct": 1.2,
        "prz_max_width_pct": 0.6,
        "quality_counts": {
          "high": 7,
          "medium": 17,
          "low": 15
        },
        "prz_status_counts": {
          "active": 11,
          "nearby": 1,
          "watch": 2,
          "far": 25,
          "forming": 19
        },
        "high_confluence_prz_count": 21,
        "strict_patterns_found": 21,
        "candidate_patterns_found": 18,
        "active_patterns_at_prz": 11,
        "nearby_patterns": 1,
        "all_patterns": [
          "bat",
          "gartley",
          "crab",
          "shark",
          "gartley",
          "bat",
          "gartley",
          "bat",
          "crab",
          "bat",
          "crab",
          "gartley",
          "bat",
          "shark",
          "crab",
          "butterfly",
          "butterfly",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "shark",
          "butterfly",
          "bat",
          "butterfly",
          "crab",
          "shark",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "butterfly",
          "crab",
          "butterfly",
          "gartley",
          "bat",
          "butterfly",
          "butterfly",
          "butterfly"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "medium",
        "best_pattern_score": 0.949,
        "best_completion_status": "forming",
        "nearest_pattern": "bat",
        "nearest_prz": 70999.25,
        "price_to_prz": 0.1,
        "prz_range": [
          70752.19,
          71246.31
        ],
        "council_relevant_prz_count": 2,
        "directional_influence_prz_count": 2,
        "confirmed_reaction_prz_count": 1,
        "validated_harmonic_tp_count": 1,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.933,
            "ratio_score": 0.927,
            "prz_score": 0.986,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 70837.28,
            "prz_range": [
              70611.87,
              71062.69
            ],
            "prz_width_pct": 0.636,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.13,
            "price_to_prz_pct_raw": -0.1251,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 70837.28,
              "a_price": 71788.5,
              "tp1_ad_382": 71200.65,
              "tp2_ad_618": 71425.13,
              "tp3_a_or_structure_liquidity": 71788.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6303,
              "ABC": 0.3985
            },
            "x_price": 70650.9,
            "x_idx": 252,
            "x_order": 8,
            "a_price": 71788.5,
            "a_idx": 259,
            "a_order": 8,
            "b_price": 71071.5,
            "b_idx": 286,
            "b_order": 3,
            "c_price": 71357.2,
            "c_idx": 288,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.893,
            "ratio_score": 0.973,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 71919.2,
            "prz_range": [
              71719.04,
              72119.37
            ],
            "prz_width_pct": 0.557,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.4,
            "price_to_prz_pct_raw": 1.4003,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 71919.2,
              "a_price": 70650.9,
              "tp1_ad_382": 71434.71,
              "tp2_ad_618": 71135.39,
              "tp3_a_or_structure_liquidity": 70650.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6225,
              "ABC": 0.5873
            },
            "x_price": 72288.0,
            "x_idx": 243,
            "x_order": 3,
            "a_price": 70650.9,
            "a_idx": 252,
            "a_order": 8,
            "b_price": 71670.0,
            "b_idx": 269,
            "b_order": 8,
            "c_price": 71071.5,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.86,
            "ratio_score": 0.745,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 71223.95,
            "prz_range": [
              71097.11,
              71350.78
            ],
            "prz_width_pct": 0.356,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.42,
            "price_to_prz_pct_raw": 0.4201,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 71223.95,
              "a_price": 71788.5,
              "tp1_ad_382": 71439.61,
              "tp2_ad_618": 71572.84,
              "tp3_a_or_structure_liquidity": 71788.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.575,
              "ABC": 0.4879
            },
            "x_price": 72551.0,
            "x_idx": 230,
            "x_order": 3,
            "a_price": 71788.5,
            "a_idx": 259,
            "a_order": 8,
            "b_price": 71350.1,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 71564.0,
            "c_idx": 282,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.949,
            "ratio_score": 1.0,
            "prz_score": 0.963,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 70999.25,
            "prz_range": [
              70752.19,
              71246.31
            ],
            "prz_width_pct": 0.696,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.1,
            "price_to_prz_pct_raw": 0.1033,
            "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": 70999.25,
              "a_price": 71788.5,
              "tp1_ad_382": 71300.74,
              "tp2_ad_618": 71487.01,
              "tp3_a_or_structure_liquidity": 71788.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.4879
            },
            "x_price": 70650.9,
            "x_idx": 252,
            "x_order": 8,
            "a_price": 71788.5,
            "a_idx": 259,
            "a_order": 8,
            "b_price": 71350.1,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 71564.0,
            "c_idx": 282,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.917,
            "ratio_score": 1.0,
            "prz_score": 0.889,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 70840.19,
            "prz_range": [
              70526.44,
              71153.94
            ],
            "prz_width_pct": 0.886,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.12,
            "price_to_prz_pct_raw": -0.121,
            "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": "crab",
              "d_price": 70840.19,
              "a_price": 71788.5,
              "tp1_ad_382": 71202.44,
              "tp2_ad_618": 71426.24,
              "tp3_a_or_structure_liquidity": 71788.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.575,
              "ABC": 0.4879
            },
            "x_price": 72551.0,
            "x_idx": 230,
            "x_order": 3,
            "a_price": 71788.5,
            "a_idx": 259,
            "a_order": 8,
            "b_price": 71350.1,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 71564.0,
            "c_idx": 282,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.895,
            "ratio_score": 1.0,
            "prz_score": 0.862,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 70472.53,
            "prz_range": [
              70136.29,
              70808.78
            ],
            "prz_width_pct": 0.954,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.64,
            "price_to_prz_pct_raw": -0.6394,
            "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": 70472.53,
              "a_price": 71788.5,
              "tp1_ad_382": 70975.23,
              "tp2_ad_618": 71285.8,
              "tp3_a_or_structure_liquidity": 71788.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.7475
            },
            "x_price": 70650.9,
            "x_idx": 252,
            "x_order": 8,
            "a_price": 71788.5,
            "a_idx": 259,
            "a_order": 8,
            "b_price": 71350.1,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 71022.4,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.884,
            "ratio_score": 0.889,
            "prz_score": 0.955,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 70806.0,
            "prz_range": [
              70752.18,
              71260.0
            ],
            "prz_width_pct": 0.715,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.11,
            "price_to_prz_pct_raw": 0.1129,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.772,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 71006.09,
              "a_price": 71788.5,
              "tp1_ad_382": 71304.97,
              "tp2_ad_618": 71489.62,
              "tp3_a_or_structure_liquidity": 71788.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.7297,
              "BCD": 2.7008,
              "XAD": 0.8637
            },
            "x_price": 70650.9,
            "x_idx": 252,
            "x_order": 8,
            "a_price": 71788.5,
            "a_idx": 259,
            "a_order": 8,
            "b_price": 71350.1,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 71670.0,
            "c_idx": 269,
            "c_order": 8,
            "d_idx": 276
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.781,
            "ratio_score": 0.712,
            "prz_score": 0.881,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 70203.68,
            "prz_range": [
              69886.08,
              70521.28
            ],
            "prz_width_pct": 0.905,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.02,
            "price_to_prz_pct_raw": -1.0184,
            "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": 70203.68,
              "a_price": 71670.0,
              "tp1_ad_382": 70763.81,
              "tp2_ad_618": 71109.87,
              "tp3_a_or_structure_liquidity": 71670.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8478,
              "ABC": 0.638
            },
            "x_price": 70650.9,
            "x_idx": 252,
            "x_order": 8,
            "a_price": 71670.0,
            "a_idx": 269,
            "a_order": 8,
            "b_price": 70806.0,
            "b_idx": 276,
            "b_order": 8,
            "c_price": 71357.2,
            "c_idx": 288,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.884,
            "ratio_score": 0.889,
            "prz_score": 0.955,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 70806.0,
            "prz_range": [
              70752.18,
              71260.0
            ],
            "prz_width_pct": 0.715,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.11,
            "price_to_prz_pct_raw": 0.1129,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.772,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 71006.09,
              "a_price": 71788.5,
              "tp1_ad_382": 71304.97,
              "tp2_ad_618": 71489.62,
              "tp3_a_or_structure_liquidity": 71788.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.7297,
              "BCD": 2.7008,
              "XAD": 0.8637
            },
            "x_price": 70650.9,
            "x_idx": 252,
            "x_order": 8,
            "a_price": 71788.5,
            "a_idx": 259,
            "a_order": 8,
            "b_price": 71350.1,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 71670.0,
            "c_idx": 269,
            "c_order": 8,
            "d_idx": 276
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.933,
            "ratio_score": 0.927,
            "prz_score": 0.986,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 70837.28,
            "prz_range": [
              70611.87,
              71062.69
            ],
            "prz_width_pct": 0.636,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.13,
            "price_to_prz_pct_raw": -0.1251,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 70837.28,
              "a_price": 71788.5,
              "tp1_ad_382": 71200.65,
              "tp2_ad_618": 71425.13,
              "tp3_a_or_structure_liquidity": 71788.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6303,
              "ABC": 0.3985
            },
            "x_price": 70650.9,
            "x_idx": 252,
            "x_order": 8,
            "a_price": 71788.5,
            "a_idx": 259,
            "a_order": 8,
            "b_price": 71071.5,
            "b_idx": 286,
            "b_order": 3,
            "c_price": 71357.2,
            "c_idx": 288,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.933,
            "ratio_score": 0.927,
            "prz_score": 0.986,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 70837.28,
            "prz_range": [
              70611.87,
              71062.69
            ],
            "prz_width_pct": 0.636,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.13,
            "price_to_prz_pct_raw": -0.1251,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 70837.28,
              "a_price": 71788.5,
              "tp1_ad_382": 71200.65,
              "tp2_ad_618": 71425.13,
              "tp3_a_or_structure_liquidity": 71788.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6303,
              "ABC": 0.3985
            },
            "x_price": 70650.9,
            "x_idx": 252,
            "x_order": 8,
            "a_price": 71788.5,
            "a_idx": 259,
            "a_order": 8,
            "b_price": 71071.5,
            "b_idx": 286,
            "b_order": 3,
            "c_price": 71357.2,
            "c_idx": 288,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.893,
            "ratio_score": 0.973,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 71919.2,
            "prz_range": [
              71719.04,
              72119.37
            ],
            "prz_width_pct": 0.557,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.4,
            "price_to_prz_pct_raw": 1.4003,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 71919.2,
              "a_price": 70650.9,
              "tp1_ad_382": 71434.71,
              "tp2_ad_618": 71135.39,
              "tp3_a_or_structure_liquidity": 70650.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6225,
              "ABC": 0.5873
            },
            "x_price": 72288.0,
            "x_idx": 243,
            "x_order": 3,
            "a_price": 70650.9,
            "a_idx": 252,
            "a_order": 8,
            "b_price": 71670.0,
            "b_idx": 269,
            "b_order": 8,
            "c_price": 71071.5,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.86,
            "ratio_score": 0.745,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 71223.95,
            "prz_range": [
              71097.11,
              71350.78
            ],
            "prz_width_pct": 0.356,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.42,
            "price_to_prz_pct_raw": 0.4201,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 71223.95,
              "a_price": 71788.5,
              "tp1_ad_382": 71439.61,
              "tp2_ad_618": 71572.84,
              "tp3_a_or_structure_liquidity": 71788.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.575,
              "ABC": 0.4879
            },
            "x_price": 72551.0,
            "x_idx": 230,
            "x_order": 3,
            "a_price": 71788.5,
            "a_idx": 259,
            "a_order": 8,
            "b_price": 71350.1,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 71564.0,
            "c_idx": 282,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.949,
            "ratio_score": 1.0,
            "prz_score": 0.963,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 70999.25,
            "prz_range": [
              70752.19,
              71246.31
            ],
            "prz_width_pct": 0.696,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.1,
            "price_to_prz_pct_raw": 0.1033,
            "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": 70999.25,
              "a_price": 71788.5,
              "tp1_ad_382": 71300.74,
              "tp2_ad_618": 71487.01,
              "tp3_a_or_structure_liquidity": 71788.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.4879
            },
            "x_price": 70650.9,
            "x_idx": 252,
            "x_order": 8,
            "a_price": 71788.5,
            "a_idx": 259,
            "a_order": 8,
            "b_price": 71350.1,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 71564.0,
            "c_idx": 282,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.917,
            "ratio_score": 1.0,
            "prz_score": 0.889,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 70840.19,
            "prz_range": [
              70526.44,
              71153.94
            ],
            "prz_width_pct": 0.886,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.12,
            "price_to_prz_pct_raw": -0.121,
            "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": "crab",
              "d_price": 70840.19,
              "a_price": 71788.5,
              "tp1_ad_382": 71202.44,
              "tp2_ad_618": 71426.24,
              "tp3_a_or_structure_liquidity": 71788.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.575,
              "ABC": 0.4879
            },
            "x_price": 72551.0,
            "x_idx": 230,
            "x_order": 3,
            "a_price": 71788.5,
            "a_idx": 259,
            "a_order": 8,
            "b_price": 71350.1,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 71564.0,
            "c_idx": 282,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.895,
            "ratio_score": 1.0,
            "prz_score": 0.862,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 70472.53,
            "prz_range": [
              70136.29,
              70808.78
            ],
            "prz_width_pct": 0.954,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.64,
            "price_to_prz_pct_raw": -0.6394,
            "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": 70472.53,
              "a_price": 71788.5,
              "tp1_ad_382": 70975.23,
              "tp2_ad_618": 71285.8,
              "tp3_a_or_structure_liquidity": 71788.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.7475
            },
            "x_price": 70650.9,
            "x_idx": 252,
            "x_order": 8,
            "a_price": 71788.5,
            "a_idx": 259,
            "a_order": 8,
            "b_price": 71350.1,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 71022.4,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.884,
            "ratio_score": 0.889,
            "prz_score": 0.955,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 70806.0,
            "prz_range": [
              70752.18,
              71260.0
            ],
            "prz_width_pct": 0.715,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.11,
            "price_to_prz_pct_raw": 0.1129,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.772,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 71006.09,
              "a_price": 71788.5,
              "tp1_ad_382": 71304.97,
              "tp2_ad_618": 71489.62,
              "tp3_a_or_structure_liquidity": 71788.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.7297,
              "BCD": 2.7008,
              "XAD": 0.8637
            },
            "x_price": 70650.9,
            "x_idx": 252,
            "x_order": 8,
            "a_price": 71788.5,
            "a_idx": 259,
            "a_order": 8,
            "b_price": 71350.1,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 71670.0,
            "c_idx": 269,
            "c_order": 8,
            "d_idx": 276
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.781,
            "ratio_score": 0.712,
            "prz_score": 0.881,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 70203.68,
            "prz_range": [
              69886.08,
              70521.28
            ],
            "prz_width_pct": 0.905,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.02,
            "price_to_prz_pct_raw": -1.0184,
            "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": 70203.68,
              "a_price": 71670.0,
              "tp1_ad_382": 70763.81,
              "tp2_ad_618": 71109.87,
              "tp3_a_or_structure_liquidity": 71670.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8478,
              "ABC": 0.638
            },
            "x_price": 70650.9,
            "x_idx": 252,
            "x_order": 8,
            "a_price": 71670.0,
            "a_idx": 269,
            "a_order": 8,
            "b_price": 70806.0,
            "b_idx": 276,
            "b_order": 8,
            "c_price": 71357.2,
            "c_idx": 288,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.777,
            "ratio_score": 0.706,
            "prz_score": 0.889,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 71071.5,
            "prz_range": [
              70526.44,
              71153.94
            ],
            "prz_width_pct": 0.886,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.12,
            "price_to_prz_pct_raw": -0.121,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.398,
                "adverse_move_ratio_ad": 1.441,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 70840.19,
              "a_price": 71788.5,
              "tp1_ad_382": 71202.44,
              "tp2_ad_618": 71426.24,
              "tp3_a_or_structure_liquidity": 71788.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.575,
              "ABC": 0.4879,
              "BCD": 2.3025,
              "XAD": 0.9403
            },
            "x_price": 72551.0,
            "x_idx": 230,
            "x_order": 3,
            "a_price": 71788.5,
            "a_idx": 259,
            "a_order": 8,
            "b_price": 71350.1,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 71564.0,
            "c_idx": 282,
            "c_order": 8,
            "d_idx": 286
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.865,
            "ratio_score": 1.0,
            "prz_score": 0.773,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 70475.65,
            "prz_range": [
              70058.41,
              70892.89
            ],
            "prz_width_pct": 1.184,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.63,
            "price_to_prz_pct_raw": -0.635,
            "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": "crab",
              "d_price": 70475.65,
              "a_price": 71564.0,
              "tp1_ad_382": 70891.4,
              "tp2_ad_618": 71148.25,
              "tp3_a_or_structure_liquidity": 71564.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5394,
              "ABC": 0.5801
            },
            "x_price": 70650.9,
            "x_idx": 252,
            "x_order": 8,
            "a_price": 71564.0,
            "a_idx": 282,
            "a_order": 8,
            "b_price": 71071.5,
            "b_idx": 286,
            "b_order": 3,
            "c_price": 71357.2,
            "c_idx": 288,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.821,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": false,
            "d_price": 71742.36,
            "prz_range": [
              71539.8,
              71944.92
            ],
            "prz_width_pct": 0.565,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": 1.15,
            "price_to_prz_pct_raw": 1.151,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 71742.36,
              "a_price": 72551.0,
              "tp1_ad_382": 72051.26,
              "tp2_ad_618": 72242.1,
              "tp3_a_or_structure_liquidity": 72551.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5267,
              "ABC": 1.2885
            },
            "x_price": 73998.8,
            "x_idx": 200,
            "x_order": 8,
            "a_price": 72551.0,
            "a_idx": 230,
            "a_order": 3,
            "b_price": 71788.5,
            "b_idx": 259,
            "b_order": 8,
            "c_price": 70806.0,
            "c_idx": 276,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.816,
            "ratio_score": 0.877,
            "prz_score": 0.827,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 70038.0,
            "prz_range": [
              69992.95,
              70728.14
            ],
            "prz_width_pct": 1.045,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.8,
            "price_to_prz_pct_raw": -0.7972,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.603,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 7,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 70360.55,
              "a_price": 71670.0,
              "tp1_ad_382": 70860.76,
              "tp2_ad_618": 71169.79,
              "tp3_a_or_structure_liquidity": 71670.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8478,
              "ABC": 0.8773,
              "BCD": 2.0132,
              "XAD": 1.6014
            },
            "x_price": 70650.9,
            "x_idx": 252,
            "x_order": 8,
            "a_price": 71670.0,
            "a_idx": 269,
            "a_order": 8,
            "b_price": 70806.0,
            "b_idx": 276,
            "b_order": 8,
            "c_price": 71564.0,
            "c_idx": 282,
            "c_order": 8,
            "d_idx": 292
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.933,
            "prz_proximity": "active",
            "prz_range": [
              70611.87,
              71062.69
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.13,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 70837.28,
              "a_price": 71788.5,
              "tp1_ad_382": 71200.65,
              "tp2_ad_618": 71425.13,
              "tp3_a_or_structure_liquidity": 71788.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $70,611.87-$71,062.69: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.884,
            "prz_proximity": "active",
            "prz_range": [
              70752.18,
              71260.0
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.11,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.772,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 71006.09,
              "a_price": 71788.5,
              "tp1_ad_382": 71304.97,
              "tp2_ad_618": 71489.62,
              "tp3_a_or_structure_liquidity": 71788.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT COMPLETED MEDIUM PRZ $70,752.18-$71,260.00: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "gartley",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.933,
          "ratio_score": 0.927,
          "prz_score": 0.986,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 70837.28,
          "prz_range": [
            70611.87,
            71062.69
          ],
          "prz_width_pct": 0.636,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -0.13,
          "price_to_prz_pct_raw": -0.1251,
          "harmonic_vote_state": {
            "authority": "pre_confirmation_reversal_candidate",
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "confirmation_reasons": [],
            "reaction_score": 0.0,
            "reaction_detail": {
              "reaction_score": 0.0,
              "reasons": []
            },
            "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
            "standalone_path_override_allowed": false
          },
          "directional_vote_weight": 0.35,
          "confirmed_reaction": false,
          "standalone_path_override_allowed": false,
          "tp_ladder": {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 70837.28,
            "a_price": 71788.5,
            "tp1_ad_382": 71200.65,
            "tp2_ad_618": 71425.13,
            "tp3_a_or_structure_liquidity": 71788.5,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.6303,
            "ABC": 0.3985
          },
          "x_price": 70650.9,
          "x_idx": 252,
          "x_order": 8,
          "a_price": 71788.5,
          "a_idx": 259,
          "a_order": 8,
          "b_price": 71071.5,
          "b_idx": 286,
          "b_order": 3,
          "c_price": 71357.2,
          "c_idx": 288,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 70837.28,
          "a_price": 71788.5,
          "tp1_ad_382": 71200.65,
          "tp2_ad_618": 71425.13,
          "tp3_a_or_structure_liquidity": 71788.5,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 71006.09,
          "a_price": 71788.5,
          "tp1_ad_382": 71304.97,
          "tp2_ad_618": 71489.62,
          "tp3_a_or_structure_liquidity": 71788.5,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 70837.28,
            "a_price": 71788.5,
            "tp1_ad_382": 71200.65,
            "tp2_ad_618": 71425.13,
            "tp3_a_or_structure_liquidity": 71788.5,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 71006.09,
            "a_price": 71788.5,
            "tp1_ad_382": 71304.97,
            "tp2_ad_618": 71489.62,
            "tp3_a_or_structure_liquidity": 71788.5,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 71006.09,
            "a_price": 71788.5,
            "tp1_ad_382": 71304.97,
            "tp2_ad_618": 71489.62,
            "tp3_a_or_structure_liquidity": 71788.5,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "watch",
        "directional_scores": {
          "bullish": 0.564,
          "bearish": 0
        },
        "directional_score_total": 0.564,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.56,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"활성 고컨플루언스 bullish Gartley 형성 PRZ $70,611.87-$71,062.69, 현재가 $70,926로 PRZ 내부/근접, XAD+BC_EXT+ABCD 3중 Fib 컨플루언스\",\n    \"완료된 strict bullish Bat PRZ $70,752.18-$71,260.00에서 반응 확인, reaction_score 1.0 및 AD 0.382 반응 도달\",\n    \"확인된 Bat 기준 TP 사다리: TP1 $71,304.97, TP2 $71,489.62, TP3/A 구조 유동성 $71,788.50\",\n    \"현재가 $70,926는 EMA20 $70,984.47 바로 아래이나, active PRZ 클러스터 $70,611-$71,260 방어가 단기 반등 셋업을 유지\",\n    \"하단 보조 bullish Crab/Gartley PRZ 컨플루언스가 $70,526.44-$71,153.94 및 $70,611.87-$71,062.69에 겹쳐 있어 $70.6k-$71.1k가 주요 반응 구간\"\n  ],\n  \"reasoning\": \"하모닉 관점의 핵심은 현재가 $70,926이 active bullish PRZ 클러스터 안에 있다는 점이며, 특히 strict high Gartley 형성 PRZ $70,611.87-$71,062.69와 완료된 strict medium Bat PRZ $70,752.18-$71,260.00이 겹친다. 완료 Bat는 PRZ 터치/방어, 중심부 reclaim/rejection, AD 0.382 도달, post-D 진행 조건으로 reaction_score 1.0을 기록해 post-confirmation vote-eligible 상태지만, 거버넌스상 단독 추세 전환 근거는 아니다. 구조적으로는 가격이 EMA120 $72,000.83 및 EMA240 $72,621.02 아래에 있고 24h -3.80%라 상위 구조 확정 강세라고 보기는 어렵지만, 제공 데이터상 명확한 BOS/CHoCH 확인은 없어 structure_bias는 neutral로 둔다. 실행 셋업은 $70,611-$71,260 PRZ 방어가 유지되는 한 bullish 반등 우위이며, 확인된 Bat TP는 $71,304.97 → $71,489.62 → $71,788.50 순서가 가장 신뢰도 높은 목표다.\",\n  \"key_levels\": {\n    \"support\": [\n      70752.18,\n      70611.87,\n      70526.44,\n      70038.0\n    ],\n    \"resistance\": [\n      71062.69,\n      71260.0,\n      71304.97,\n      71489.62,\n      71788.5,\n      71919.2\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"70526.44\",\n  \"risk_scenario\": \"$70,526.44 아래로 15분봉 종가 수용이 나오면 active bullish Crab/Gartley/Bat PRZ 스택 방어 실패로 해석되며, $70,038 7일 저점 및 $69,886.08-$70,521.28 candidate Butterfly PRZ까지 하락 확장 위험이 커진다. 반대로 $71,260을 회복하고 유지하면 Bat PRZ 방어가 강화되어 $71,304.97-$71,489.62 TP 구간까지 반등 지속 가능성이 높아진다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.8,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.76,
      "active_setups": [
        "ICT: 현재가 $70,926이 단기 EQ $70,913.25 위의 프리미엄 영역에 있으며, 이전일 저점 $71,350 하향 이탈 후 그 아래에서 거래 중",
        "Fibonacci: $70,981.07의 0.618 되돌림 저항을 0.08% 거리에서 테스트 중이며, $70,938.03에 3중 피보나치 컨플루언스 존재",
        "Derivatives: 롱 계정 비율 0.674, 숏 계정 비율 0.326으로 롱 과밀이며, CVD 변화 -4079.9970으로 매수 추격의 취약성 존재",
        "Wyckoff: 현재 활성 구조에서 LPSY $71,022.40 이후 SOW $70,791.50이 확인되어 재분배성 약세 셋업 유지",
        "반대 조건: Harmonic은 $70,611.87-$71,062.69 bullish Gartley PRZ와 $70,752.18-$71,260.00 completed Bat PRZ를 제시하며 단기 반등 리스크를 형성",
        "반대 조건: Candlestick은 $70,038 부근에서 strict bullish engulfing, 품질 0.756, high-volume 반응을 확인"
      ],
      "setup_vs_structure": "실행 셋업은 구조적 약세와 대체로 정렬되어 있다. 다만 현재 가격이 하모닉 bullish PRZ 내부이자 $70,038 저점 반등 구간에 있어, 구조는 약세지만 즉시 추격에는 반등형 변동성 리스크가 동반된다."
    },
    "signal_breakdown": {
      "bullish_count": 2,
      "bearish_count": 4,
      "neutral_count": 0
    },
    "key_levels": {
      "support": [
        70801.0,
        70791.5,
        70650.9,
        70620.93,
        70038.0,
        70100.0,
        67500.0,
        64100.0
      ],
      "resistance": [
        70981.07,
        70984.47,
        71022.4,
        71062.69,
        71237.44,
        71350.0,
        71564.0,
        71788.5,
        72000.83,
        72144.0,
        72621.02,
        73171.0
      ]
    },
    "confluences": [
      "Fibonacci $70,981.07 0.618 저항과 EMA20 $70,984.47이 거의 동일 구간에 있어, $70,981-$70,984는 단기 핵심 저항 컨플루언스다.",
      "Fibonacci의 3중 컨플루언스 $70,938.03과 현재가 $70,926은 매우 근접해 있으며, ICT의 EQ $70,913.25와도 같은 미세 가격대에 위치한다.",
      "Wyckoff의 LPSY $71,022.40, Harmonic bullish Gartley PRZ 상단 $71,062.69, Fibonacci 0.618 $70,981.07, EMA20 $70,984.47이 모두 $70,980-$71,063 저항/반응 구간으로 겹친다.",
      "Wyckoff Phase E 저점 $70,038, ICT 런던 저점 $70,038, Fibonacci swing low/ext_1.0 $70,038, Candlestick 7일 저점 $70,038이 동일하게 핵심 구조 저점으로 일치한다.",
      "Derivatives의 근접 하방 청산 레벨 $70,100은 구조 저점 $70,038과 인접해 있어 $70,038-$70,100 구간은 유동성 및 구조 지지 컨플루언스다.",
      "EMA120 $72,000.83은 Fibonacci/Derivatives/Candlestick/ICT/Wyckoff가 모두 상위 저항으로 인식하며, 구조적 약세가 유지되는 기준선 역할을 한다.",
      "Wyckoff의 SOW $73,171과 ICT의 bearish BOS $73,171이 동일하게 보고되어, $73,171은 하락 구조가 형성된 핵심 구조 레벨이다."
    ],
    "conflicts": [
      "Wyckoff, ICT, Derivatives, Fibonacci는 구조 및 셋업 모두 약세를 지지하지만, Candlestick과 Harmonic은 $70,038 저점 반응 및 $70,611.87-$71,260.00 PRZ 방어를 근거로 단기 bullish setup을 제시한다.",
      "Harmonic의 completed bullish Bat는 reaction_score 1.0으로 반등 반응을 확인했지만, 하모닉 자체 거버넌스상 단독 구조 전환 권한은 없으며 Wyckoff/ICT의 bearish structure를 뒤집지는 못한다.",
      "Candlestick의 bullish engulfing은 strict 및 high-volume으로 품질이 높지만, 마지막 최근 패턴에는 저품질 bearish engulfing도 존재해 즉시 강세 구조 전환으로 해석하기 어렵다.",
      "현재가는 하모닉 bullish PRZ 내부에 있어 매도 추격에는 불리한 위치지만, 동시에 Fibonacci 0.618 및 EMA20 저항 바로 아래에 있어 구조적 매수 확정에도 불충분하다."
    ],
    "executive_summary": "현재 BTC 15분 구조는 명확한 bearish regime으로 평가된다. 이전 분배 사이클은 UTAD $74,179.90 이후 SOW $73,171.00과 Phase E 저점 $70,038.00으로 진행되었고, 현재는 별도의 활성 재분배 구조에서 LPSY $71,022.40 및 SOW $70,791.50이 확인된 상태다. 가격은 $70,926으로 ICT EQ $70,913.25 바로 위, Fibonacci 0.618 $70,981.07 및 EMA20 $70,984.47 바로 아래에 위치해 구조적 약세 속 단기 반응 구간에 머물러 있다. 핵심 구조 지지는 $70,038-$70,100, 핵심 구조 저항은 $70,981-$71,063 및 $71,350이며, $73,171 회복 전까지는 bearish structure가 우세하다. 단, $70,611.87-$71,260.00 하모닉 bullish PRZ와 high-volume bullish engulfing은 구조 전환 신호가 아니라 약세 구조 내 반등 리스크 조건으로 관리해야 한다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.8,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.76,\n    \"active_setups\": [\n      \"ICT: 현재가 $70,926이 단기 EQ $70,913.25 위의 프리미엄 영역에 있으며, 이전일 저점 $71,350 하향 이탈 후 그 아래에서 거래 중\",\n      \"Fibonacci: $70,981.07의 0.618 되돌림 저항을 0.08% 거리에서 테스트 중이며, $70,938.03에 3중 피보나치 컨플루언스 존재\",\n      \"Derivatives: 롱 계정 비율 0.674, 숏 계정 비율 0.326으로 롱 과밀이며, CVD 변화 -4079.9970으로 매수 추격의 취약성 존재\",\n      \"Wyckoff: 현재 활성 구조에서 LPSY $71,022.40 이후 SOW $70,791.50이 확인되어 재분배성 약세 셋업 유지\",\n      \"반대 조건: Harmonic은 $70,611.87-$71,062.69 bullish Gartley PRZ와 $70,752.18-$71,260.00 completed Bat PRZ를 제시하며 단기 반등 리스크를 형성\",\n      \"반대 조건: Candlestick은 $70,038 부근에서 strict bullish engulfing, 품질 0.756, high-volume 반응을 확인\"\n    ],\n    \"setup_vs_structure\": \"실행 셋업은 구조적 약세와 대체로 정렬되어 있다. 다만 현재 가격이 하모닉 bullish PRZ 내부이자 $70,038 저점 반등 구간에 있어, 구조는 약세지만 즉시 추격에는 반등형 변동성 리스크가 동반된다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 2,\n    \"bearish_count\": 4,\n    \"neutral_count\": 0\n  },\n  \"key_levels\": {\n    \"support\": [\n      70801.0,\n      70791.5,\n      70650.9,\n      70620.93,\n      70038.0,\n      70100.0,\n      67500.0,\n      64100.0\n    ],\n    \"resistance\": [\n      70981.07,\n      70984.47,\n      71022.4,\n      71062.69,\n      71237.44,\n      71350.0,\n      71564.0,\n      71788.5,\n      72000.83,\n      72144.0,\n      72621.02,\n      73171.0\n    ]\n  },\n  \"confluences\": [\n    \"Fibonacci $70,981.07 0.618 저항과 EMA20 $70,984.47이 거의 동일 구간에 있어, $70,981-$70,984는 단기 핵심 저항 컨플루언스다.\",\n    \"Fibonacci의 3중 컨플루언스 $70,938.03과 현재가 $70,926은 매우 근접해 있으며, ICT의 EQ $70,913.25와도 같은 미세 가격대에 위치한다.\",\n    \"Wyckoff의 LPSY $71,022.40, Harmonic bullish Gartley PRZ 상단 $71,062.69, Fibonacci 0.618 $70,981.07, EMA20 $70,984.47이 모두 $70,980-$71,063 저항/반응 구간으로 겹친다.\",\n    \"Wyckoff Phase E 저점 $70,038, ICT 런던 저점 $70,038, Fibonacci swing low/ext_1.0 $70,038, Candlestick 7일 저점 $70,038이 동일하게 핵심 구조 저점으로 일치한다.\",\n    \"Derivatives의 근접 하방 청산 레벨 $70,100은 구조 저점 $70,038과 인접해 있어 $70,038-$70,100 구간은 유동성 및 구조 지지 컨플루언스다.\",\n    \"EMA120 $72,000.83은 Fibonacci/Derivatives/Candlestick/ICT/Wyckoff가 모두 상위 저항으로 인식하며, 구조적 약세가 유지되는 기준선 역할을 한다.\",\n    \"Wyckoff의 SOW $73,171과 ICT의 bearish BOS $73,171이 동일하게 보고되어, $73,171은 하락 구조가 형성된 핵심 구조 레벨이다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff, ICT, Derivatives, Fibonacci는 구조 및 셋업 모두 약세를 지지하지만, Candlestick과 Harmonic은 $70,038 저점 반응 및 $70,611.87-$71,260.00 PRZ 방어를 근거로 단기 bullish setup을 제시한다.\",\n    \"Harmonic의 completed bullish Bat는 reaction_score 1.0으로 반등 반응을 확인했지만, 하모닉 자체 거버넌스상 단독 구조 전환 권한은 없으며 Wyckoff/ICT의 bearish structure를 뒤집지는 못한다.\",\n    \"Candlestick의 bullish engulfing은 strict 및 high-volume으로 품질이 높지만, 마지막 최근 패턴에는 저품질 bearish engulfing도 존재해 즉시 강세 구조 전환으로 해석하기 어렵다.\",\n    \"현재가는 하모닉 bullish PRZ 내부에 있어 매도 추격에는 불리한 위치지만, 동시에 Fibonacci 0.618 및 EMA20 저항 바로 아래에 있어 구조적 매수 확정에도 불충분하다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — regime_fitness 1.000의 confirmed distribution, dis_score 100.0, Phase E 및 현재 활성 재분배 구조까지 제시했으며, BC $74,078.60 → AR $73,803.10 → ST $74,250.00 → UTAD $74,179.90 → SOW $73,171.00 → Phase E $70,038.00의 구체적 가격 시퀀스가 가장 명확하다.\",\n  \"invalidation_level\": \"$73,171 이상 회복 및 수용 시 15분 bearish BOS/SOW 구조가 훼손되며, $74,250 상향 돌파 시 기존 분배 구조 해석은 실질적으로 무효화된다.\",\n  \"executive_summary\": \"현재 BTC 15분 구조는 명확한 bearish regime으로 평가된다. 이전 분배 사이클은 UTAD $74,179.90 이후 SOW $73,171.00과 Phase E 저점 $70,038.00으로 진행되었고, 현재는 별도의 활성 재분배 구조에서 LPSY $71,022.40 및 SOW $70,791.50이 확인된 상태다. 가격은 $70,926으로 ICT EQ $70,913.25 바로 위, Fibonacci 0.618 $70,981.07 및 EMA20 $70,984.47 바로 아래에 위치해 구조적 약세 속 단기 반응 구간에 머물러 있다. 핵심 구조 지지는 $70,038-$70,100, 핵심 구조 저항은 $70,981-$71,063 및 $71,350이며, $73,171 회복 전까지는 bearish structure가 우세하다. 단, $70,611.87-$71,260.00 하모닉 bullish PRZ와 high-volume bullish engulfing은 구조 전환 신호가 아니라 약세 구조 내 반등 리스크 조건으로 관리해야 한다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.8,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.64,
    "waypoints": [
      {
        "seq": 1,
        "price": 71062.69,
        "type": "resistance_test",
        "source": "Wyckoff LPSY $71,022.40, Fibonacci 0.618 $70,981.07 + 3중 컨플루언스 $70,938.03, Derivatives/ICT EMA20 $70,984.47, Harmonic Gartley PRZ 상단 $71,062.69",
        "description": "현재가 $70,926는 ICT EQ $70,913.25 위 프리미엄 영역에서 $70,981-$71,063 핵심 저항 컨플루언스 바로 아래에 위치한다. 하모닉 bullish PRZ와 high-volume bullish engulfing이 만든 단기 반등 리스크가 가격을 컨플루언스 상단(Gartley PRZ top $71,062.69, LPSY $71,022.40 위)까지 밀어올린 뒤, Wyckoff LPSY·Fib 0.618 $70,981.07·EMA20 $70,984.47가 겹치는 재분배 공급 구간에서 거부될 가능성이 높다. Wyckoff가 명시한 '클린 숏'(LPSY $71,022.40 거부) 조건이 충족되는 지점으로, 약세 추종 진입의 1차 트리거.",
        "est_hours": 2,
        "turning_zone": [
          71062.69,
          71150.0
        ],
        "likely_wick": 71100.0,
        "rejection_confirm": 70981.07,
        "invalid_overshoot": 71237.44,
        "calibration_reasoning": "$70,981-$71,063 저항 컨플루언스(Fib 0.618 $70,981.07, EMA20 $70,984.47, LPSY $71,022.40, Gartley PRZ top $71,062.69) 위로의 스톱 스윕을 반영해 0.34 ATR 폭으로 설정. 확정 bat TP 래더(TP1 $71,304.97)는 상승 방향이라 약세 경로와 불일치하므로 웨이포인트를 끌어올리지 않고 Fib 저항 $71,237.44를 무효 기준으로 둠. 컨플루언스 하단($70,981.07) 재이탈이 거부 확인."
      },
      {
        "seq": 2,
        "price": 70650.9,
        "type": "support_test",
        "source": "Wyckoff SOW $70,791.50 → support $70,650.90, Fibonacci support $70,620.93, Harmonic Gartley PRZ 하단 $70,611.87",
        "description": "LPSY 거부 후 Wyckoff SOW $70,791.50를 하향 이탈하며 $70,611-$70,650 지지 클러스터(Wyckoff support $70,650.90 + Fib $70,620.93 + Gartley PRZ low $70,611.87)를 테스트. 하모닉 PRZ 하단과 겹쳐 일시적 반응이 나올 수 있으나, 확정 재분배(confirmed_dis) 구조상 지지 약화 후 하락 지속 가능성이 우세.",
        "est_hours": 8,
        "turning_zone": [
          70560.0,
          70650.9
        ],
        "likely_wick": 70595.0,
        "rejection_confirm": 70791.5,
        "invalid_overshoot": 70398.14,
        "calibration_reasoning": "Wyckoff support $70,650.90 + Fib 0.382 $70,620.93 + Gartley PRZ low $70,611.87 3중 클러스터 하단을 0.35 ATR로 감싸 클러스터 아래 스윕 위크($70,595)를 반영. SOW $70,791.50 재탈환 시 반등 확인, 다음 지지 공백 시작점인 Fib $70,398.14 하향 이탈 시 지지 무효(하락 지속)."
      },
      {
        "seq": 3,
        "price": 70038.0,
        "type": "swing_low",
        "source": "Wyckoff Phase E 저점 $70,038, ICT 런던 저점 $70,038, Fibonacci swing low $70,038, Candlestick 7일 저점 $70,038(high-volume bullish engulfing), Derivatives 청산 $70,100",
        "description": "5중 컨플루언스 핵심 구조 저점 $70,038 재시험. Phase E 저점·런던 저점·7일 저점·Fib swing low가 일치하고 $70,100 하방 청산 레벨이 인접해 유동성이 집중된 구간. 다만 high-volume bullish engulfing이 위치해 스윕성 하락 후 매수 방어/반등 가능성이 있어, 무리한 추종보다 이익실현 1차 목표이자 스윙 저점으로 설정.",
        "est_hours": 16,
        "turning_zone": [
          69830.0,
          70038.0
        ],
        "likely_wick": 69980.0,
        "rejection_confirm": 70100.0,
        "invalid_overshoot": 69514.58,
        "calibration_reasoning": "5중 컨플루언스 구조 저점 $70,038과 인접한 $70,000 라운드 넘버·$70,100 하방 청산 유동성을 겨냥한 스윕성 하락을 반영해 터미널 0.8 ATR($208)로 확장. likely_wick은 라운드 넘버·스윙 저점 바로 아래($69,980)로 바이어스, $70,100 청산 레벨 재탈환 시 반등 확정, 다음 Fib 확장 클러스터 $69,514.58 이탈 시 저점 무효(연장 하락)."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 71062.69,
        "expected_low": 70801.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 71062.69,
        "expected_low": 70650.9,
        "high_first": true
      },
      "24h": {
        "expected_high": 71062.69,
        "expected_low": 70038.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 71260.0,
        "description": "$70,981-$71,063 저항 컨플루언스를 종가로 회복하고 하모닉 Bat PRZ 상단 $71,260.00 위로 돌파 시, 반등이 단순 리스크가 아닌 실질 반전으로 확장 — Bat TP 사다리 $71,304.97/$71,489.62/$71,788.50 활성화. 약세 셋업 약화."
      },
      "bearish": {
        "price": 70038.0,
        "description": "WP3 $70,038를 일시 테스트가 아닌 종가 기준 명확히 하향 이탈 시 약세 가속 — $69,622.93/$69,406.24 및 $67,500 유동성 구간까지 확장. (base case는 $70,038의 high-volume bullish engulfing 방어로 반등)"
      }
    },
    "scenario_invalidation": 71350.0,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.64,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 71062.69,\n      \"type\": \"resistance_test\",\n      \"source\": \"Wyckoff LPSY $71,022.40, Fibonacci 0.618 $70,981.07 + 3중 컨플루언스 $70,938.03, Derivatives/ICT EMA20 $70,984.47, Harmonic Gartley PRZ 상단 $71,062.69\",\n      \"description\": \"현재가 $70,926는 ICT EQ $70,913.25 위 프리미엄 영역에서 $70,981-$71,063 핵심 저항 컨플루언스 바로 아래에 위치한다. 하모닉 bullish PRZ와 high-volume bullish engulfing이 만든 단기 반등 리스크가 가격을 컨플루언스 상단(Gartley PRZ top $71,062.69, LPSY $71,022.40 위)까지 밀어올린 뒤, Wyckoff LPSY·Fib 0.618 $70,981.07·EMA20 $70,984.47가 겹치는 재분배 공급 구간에서 거부될 가능성이 높다. Wyckoff가 명시한 '클린 숏'(LPSY $71,022.40 거부) 조건이 충족되는 지점으로, 약세 추종 진입의 1차 트리거.\",\n      \"est_hours\": 2\n    },\n    {\n      \"seq\": 2,\n      \"price\": 70650.90,\n      \"type\": \"support_test\",\n      \"source\": \"Wyckoff SOW $70,791.50 → support $70,650.90, Fibonacci support $70,620.93, Harmonic Gartley PRZ 하단 $70,611.87\",\n      \"description\": \"LPSY 거부 후 Wyckoff SOW $70,791.50를 하향 이탈하며 $70,611-$70,650 지지 클러스터(Wyckoff support $70,650.90 + Fib $70,620.93 + Gartley PRZ low $70,611.87)를 테스트. 하모닉 PRZ 하단과 겹쳐 일시적 반응이 나올 수 있으나, 확정 재분배(confirmed_dis) 구조상 지지 약화 후 하락 지속 가능성이 우세.\",\n      \"est_hours\": 8\n    },\n    {\n      \"seq\": 3,\n      \"price\": 70038.00,\n      \"type\": \"swing_low\",\n      \"source\": \"Wyckoff Phase E 저점 $70,038, ICT 런던 저점 $70,038, Fibonacci swing low $70,038, Candlestick 7일 저점 $70,038(high-volume bullish engulfing), Derivatives 청산 $70,100\",\n      \"description\": \"5중 컨플루언스 핵심 구조 저점 $70,038 재시험. Phase E 저점·런던 저점·7일 저점·Fib swing low가 일치하고 $70,100 하방 청산 레벨이 인접해 유동성이 집중된 구간. 다만 high-volume bullish engulfing이 위치해 스윕성 하락 후 매수 방어/반등 가능성이 있어, 무리한 추종보다 이익실현 1차 목표이자 스윙 저점으로 설정.\",\n      \"est_hours\": 16\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 71062.69, \"expected_low\": 70801.00, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 71062.69, \"expected_low\": 70650.90, \"high_first\": true},\n    \"24h\": {\"expected_high\": 71062.69, \"expected_low\": 70038.00, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 71260.00, \"description\": \"$70,981-$71,063 저항 컨플루언스를 종가로 회복하고 하모닉 Bat PRZ 상단 $71,260.00 위로 돌파 시, 반등이 단순 리스크가 아닌 실질 반전으로 확장 — Bat TP 사다리 $71,304.97/$71,489.62/$71,788.50 활성화. 약세 셋업 약화.\"},\n    \"bearish\": {\"price\": 70038.00, \"description\": \"WP3 $70,038를 일시 테스트가 아닌 종가 기준 명확히 하향 이탈 시 약세 가속 — $69,622.93/$69,406.24 및 $67,500 유동성 구간까지 확장. (base case는 $70,038의 high-volume bullish engulfing 방어로 반등)\"}\n  },\n  \"scenario_invalidation\": 71350.00\n}\n```"
  },
  "tp_calibration": {
    "executive_summary": "세 웨이포인트 모두 컨플루언스 클러스터와 ATR을 기준으로 보정했다. WP1 저항 테스트는 $70,981-$71,063 공급 컨플루언스 위 스톱 스윕(폭 0.34 ATR)으로 설정했고, 상승 방향의 확정 bat TP 래더는 약세 경로와 불일치하므로 웨이포인트를 끌어올리지 않고 무효 구간($71,237)으로만 반영했다. WP2 지지 테스트는 $70,611-$70,651 3중 클러스터 하단(0.35 ATR)을 감쌌으며 SOW $70,791.50 회복이 반등 확인 레벨이다. 터미널 WP3 스윙 저점은 인접한 $70,000 라운드 넘버와 $70,100 청산 유동성을 겨냥한 스윕성 하락을 반영해 0.8 ATR로 확장하고 likely_wick을 라운드 넘버 바로 아래($69,980)로 바이어스했다.",
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 71062.69,
        "turning_zone": [
          71062.69,
          71150.0
        ],
        "likely_wick": 71100.0,
        "rejection_confirm": 70981.07,
        "invalid_overshoot": 71237.44,
        "calibration_reasoning": "$70,981-$71,063 저항 컨플루언스(Fib 0.618 $70,981.07, EMA20 $70,984.47, LPSY $71,022.40, Gartley PRZ top $71,062.69) 위로의 스톱 스윕을 반영해 0.34 ATR 폭으로 설정. 확정 bat TP 래더(TP1 $71,304.97)는 상승 방향이라 약세 경로와 불일치하므로 웨이포인트를 끌어올리지 않고 Fib 저항 $71,237.44를 무효 기준으로 둠. 컨플루언스 하단($70,981.07) 재이탈이 거부 확인."
      },
      {
        "seq": 2,
        "base_target": 70650.9,
        "turning_zone": [
          70560.0,
          70650.9
        ],
        "likely_wick": 70595.0,
        "rejection_confirm": 70791.5,
        "invalid_overshoot": 70398.14,
        "calibration_reasoning": "Wyckoff support $70,650.90 + Fib 0.382 $70,620.93 + Gartley PRZ low $70,611.87 3중 클러스터 하단을 0.35 ATR로 감싸 클러스터 아래 스윕 위크($70,595)를 반영. SOW $70,791.50 재탈환 시 반등 확인, 다음 지지 공백 시작점인 Fib $70,398.14 하향 이탈 시 지지 무효(하락 지속)."
      },
      {
        "seq": 3,
        "base_target": 70038.0,
        "turning_zone": [
          69830.0,
          70038.0
        ],
        "likely_wick": 69980.0,
        "rejection_confirm": 70100.0,
        "invalid_overshoot": 69514.58,
        "calibration_reasoning": "5중 컨플루언스 구조 저점 $70,038과 인접한 $70,000 라운드 넘버·$70,100 하방 청산 유동성을 겨냥한 스윕성 하락을 반영해 터미널 0.8 ATR($208)로 확장. likely_wick은 라운드 넘버·스윙 저점 바로 아래($69,980)로 바이어스, $70,100 청산 레벨 재탈환 시 반등 확정, 다음 Fib 확장 클러스터 $69,514.58 이탈 시 저점 무효(연장 하락)."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"executive_summary\": \"세 웨이포인트 모두 컨플루언스 클러스터와 ATR을 기준으로 보정했다. WP1 저항 테스트는 $70,981-$71,063 공급 컨플루언스 위 스톱 스윕(폭 0.34 ATR)으로 설정했고, 상승 방향의 확정 bat TP 래더는 약세 경로와 불일치하므로 웨이포인트를 끌어올리지 않고 무효 구간($71,237)으로만 반영했다. WP2 지지 테스트는 $70,611-$70,651 3중 클러스터 하단(0.35 ATR)을 감쌌으며 SOW $70,791.50 회복이 반등 확인 레벨이다. 터미널 WP3 스윙 저점은 인접한 $70,000 라운드 넘버와 $70,100 청산 유동성을 겨냥한 스윕성 하락을 반영해 0.8 ATR로 확장하고 likely_wick을 라운드 넘버 바로 아래($69,980)로 바이어스했다.\",\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 71062.69,\n      \"turning_zone\": [71062.69, 71150.00],\n      \"likely_wick\": 71100.00,\n      \"rejection_confirm\": 70981.07,\n      \"invalid_overshoot\": 71237.44,\n      \"calibration_reasoning\": \"$70,981-$71,063 저항 컨플루언스(Fib 0.618 $70,981.07, EMA20 $70,984.47, LPSY $71,022.40, Gartley PRZ top $71,062.69) 위로의 스톱 스윕을 반영해 0.34 ATR 폭으로 설정. 확정 bat TP 래더(TP1 $71,304.97)는 상승 방향이라 약세 경로와 불일치하므로 웨이포인트를 끌어올리지 않고 Fib 저항 $71,237.44를 무효 기준으로 둠. 컨플루언스 하단($70,981.07) 재이탈이 거부 확인.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 70650.90,\n      \"turning_zone\": [70560.00, 70650.90],\n      \"likely_wick\": 70595.00,\n      \"rejection_confirm\": 70791.50,\n      \"invalid_overshoot\": 70398.14,\n      \"calibration_reasoning\": \"Wyckoff support $70,650.90 + Fib 0.382 $70,620.93 + Gartley PRZ low $70,611.87 3중 클러스터 하단을 0.35 ATR로 감싸 클러스터 아래 스윕 위크($70,595)를 반영. SOW $70,791.50 재탈환 시 반등 확인, 다음 지지 공백 시작점인 Fib $70,398.14 하향 이탈 시 지지 무효(하락 지속).\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 70038.00,\n      \"turning_zone\": [69830.00, 70038.00],\n      \"likely_wick\": 69980.00,\n      \"rejection_confirm\": 70100.00,\n      \"invalid_overshoot\": 69514.58,\n      \"calibration_reasoning\": \"5중 컨플루언스 구조 저점 $70,038과 인접한 $70,000 라운드 넘버·$70,100 하방 청산 유동성을 겨냥한 스윕성 하락을 반영해 터미널 0.8 ATR($208)로 확장. likely_wick은 라운드 넘버·스윙 저점 바로 아래($69,980)로 바이어스, $70,100 청산 레벨 재탈환 시 반등 확정, 다음 Fib 확장 클러스터 $69,514.58 이탈 시 저점 무효(연장 하락).\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 27.0,
      "chairman": 39.2,
      "operating_path": 461.4,
      "tp_calibrator": 176.6
    },
    "agents": {},
    "total_s": 704.2
  }
}