{
  "symbol": "BTC/USDT",
  "timeframe": "4h",
  "timestamp": "2026-07-05 09:00 KST",
  "last_price": 63115.7,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $63,115.70은 7일 범위 EQ $60,604.30 위의 프리미엄 구간에 위치",
        "7일 고점 저항 $63,450.00 바로 아래에서 최근 bearish_harami@299 발생",
        "최근 후보 패턴 중 최고 품질은 bearish_engulfing 0.644이며, bear_score 1.95가 bull_score 1.50보다 우위",
        "현재가는 EMA20 $61,889.84와 EMA120 $62,235.10 위에 있으나, 상위 저항인 EMA240 $65,024.72 아래에 위치",
        "최근 패턴 6개 중 bearish_engulfing, bearish_harami가 반복되지만 고거래량 패턴은 없어 확정 신호 강도는 제한적"
      ],
      "reasoning": "현재 BTC는 $63,115.70으로 EMA20 $61,889.84와 EMA120 $62,235.10 위에 있어 단기 반등 구조는 유지되고 있지만, EMA240 $65,024.72 아래에 있어 상위 추세 회복은 아직 확인되지 않았습니다. 7일 고점 $63,450.00에 근접한 프리미엄 구간에서 bearish_harami@299와 bearish_engulfing@295가 나타났고, 최고 패턴 품질도 bearish_engulfing 0.644로 매도 후보가 우세합니다. 다만 bullish_engulfing@297도 존재하고 고거래량 패턴이 없기 때문에 구조적 하락 전환이 확정됐다고 보기는 어렵습니다. 따라서 structure_bias는 중립이지만, 단기 실행 관점의 setup_bias는 저항권 매도 우위로 판단합니다.",
      "key_levels": {
        "support": [
          62235.1,
          61889.84,
          60604.3,
          57758.6
        ],
        "resistance": [
          63450,
          65024.72
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$63,450.00 상향 돌파 및 4시간봉 종가 안착",
      "risk_scenario": "반대로 $63,450.00을 강하게 돌파하면 bearish_harami와 bearish_engulfing 기반의 단기 매도 셋업은 실패하며, 가격은 EMA240 $65,024.72까지 숏커버링성 상승을 시도할 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 140,
        "recent_patterns": 6,
        "pattern_list": [
          "bullish_engulfing@292",
          "bearish_engulfing@295",
          "bullish_engulfing@297",
          "doji@294",
          "bearish_harami@291",
          "bearish_harami@299"
        ],
        "atr_value": 719.39,
        "vol_avg_20": 26264.12,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.644,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_harami",
            "signal": "bearish",
            "pattern_quality": 0.62,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_harami",
            "signal": "bearish",
            "pattern_quality": 0.51,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.489,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.424,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.644,
        "bull_score": 1.5,
        "bear_score": 1.95
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $63,115.70은 7일 범위 EQ $60,604.30 위의 프리미엄 구간에 위치\",\n    \"7일 고점 저항 $63,450.00 바로 아래에서 최근 bearish_harami@299 발생\",\n    \"최근 후보 패턴 중 최고 품질은 bearish_engulfing 0.644이며, bear_score 1.95가 bull_score 1.50보다 우위\",\n    \"현재가는 EMA20 $61,889.84와 EMA120 $62,235.10 위에 있으나, 상위 저항인 EMA240 $65,024.72 아래에 위치\",\n    \"최근 패턴 6개 중 bearish_engulfing, bearish_harami가 반복되지만 고거래량 패턴은 없어 확정 신호 강도는 제한적\"\n  ],\n  \"reasoning\": \"현재 BTC는 $63,115.70으로 EMA20 $61,889.84와 EMA120 $62,235.10 위에 있어 단기 반등 구조는 유지되고 있지만, EMA240 $65,024.72 아래에 있어 상위 추세 회복은 아직 확인되지 않았습니다. 7일 고점 $63,450.00에 근접한 프리미엄 구간에서 bearish_harami@299와 bearish_engulfing@295가 나타났고, 최고 패턴 품질도 bearish_engulfing 0.644로 매도 후보가 우세합니다. 다만 bullish_engulfing@297도 존재하고 고거래량 패턴이 없기 때문에 구조적 하락 전환이 확정됐다고 보기는 어렵습니다. 따라서 structure_bias는 중립이지만, 단기 실행 관점의 setup_bias는 저항권 매도 우위로 판단합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      62235.1,\n      61889.84,\n      60604.3,\n      57758.6\n    ],\n    \"resistance\": [\n      63450,\n      65024.72\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$63,450.00 상향 돌파 및 4시간봉 종가 안착\",\n  \"risk_scenario\": \"반대로 $63,450.00을 강하게 돌파하면 bearish_harami와 bearish_engulfing 기반의 단기 매도 셋업은 실패하며, 가격은 EMA240 $65,024.72까지 숏커버링성 상승을 시도할 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "가격 $63,115.70이 7일 고점 $63,450.00 바로 아래에서 거래되며 상단 유동성 접근 후 추격 매수 효율이 약화됨",
        "OI 24시간 변화율 -1.8840%로 가격이 24시간 +0.88% 상승하는 동안 포지션은 순감소하여 상승 추세의 신규 레버리지 유입이 부족함",
        "CVD divergence 0.700 및 CVD change +$3,452.09로 체결 흐름과 가격 간 괴리가 커져 단기 분배 또는 흡수 가능성 존재",
        "롱 계정 비율 0.595, account_long_crowding 0.861로 롱 포지셔닝이 여전히 crowded 상태이며 반대매매 리스크가 하방에 집중됨",
        "하방 청산 유동성이 $62,500, $61,300, $60,700에 존재하며 특히 $60,700이 가장 강한 청산 레벨로 표시됨",
        "현물-선물 베이시스 -0.0448%로 선물이 소폭 할인 상태이며 공격적인 롱 프리미엄이 확인되지 않음"
      ],
      "reasoning": "현재 BTC는 $63,115.70으로 EMA20 $61,889.84와 EMA120 $62,235.10 위에 있지만 EMA240 $65,024.72 아래에 있어 구조적으로는 명확한 강세 전환이 확인되지 않은 중립 구간이다. 반면 셋업 관점에서는 가격이 7일 고점 $63,450.00 부근까지 올라온 상태에서 OI가 24시간 -1.8840% 감소해 상승이 신규 포지션 유입보다 숏 커버 또는 포지션 축소에 의존했을 가능성이 크다. 롱 계정 비율은 0.595이고 long crowding은 0.861로 여전히 롱 쏠림이 높은데, 동시에 long_account_change_24h는 -0.0228, short_account_change_24h는 +0.023으로 계정 흐름은 숏 증가/롱 감소를 보여준다. 하방에는 $62,500, $61,300, $60,700 청산 유동성이 연속적으로 놓여 있고, 특히 $60,700이 strongest_liq_level이므로 파생 포지셔닝 기준 4~8시간 내 하방 유동성 테스트 리스크가 우세하다.",
      "key_levels": {
        "support": [
          62500,
          61300,
          60700,
          57758.6
        ],
        "resistance": [
          63450,
          65024.72,
          65100
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$63,450.00 상방을 명확히 돌파하고 유지할 경우 단기 bearish setup은 무효화됨",
      "risk_scenario": "반대 시나리오는 $63,450.00 돌파 후 숏 계정 증가분이 강제 청산되며 $65,024.72 EMA240 및 $65,100 상방 청산 레벨까지 빠르게 숏 스퀴즈가 발생하는 것이다. 이 경우 OI가 재상승하고 베이시스가 플러스로 전환되면 bearish setup은 실패로 간주해야 한다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.7,
        "cvd_change": 3452.086,
        "oi_trend": 0.312,
        "oi_change_pct_24h": -1.884,
        "oi_latest": 106401.703,
        "funding_pressure": 0.402,
        "funding_avg": 9.827e-05,
        "funding_change_24h": -5.2e-06,
        "long_account_ratio": 0.603,
        "short_account_ratio": 0.397,
        "long_account_latest": 0.595,
        "short_account_latest": 0.405,
        "long_account_change_24h": -0.0228,
        "short_account_change_24h": 0.0228,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 0.861,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.489,
        "spot_futures_basis_pct": -0.0448,
        "basis_change_lookback": 0.0017,
        "aggregate_score": 0.38,
        "bull_signals": 1,
        "bear_signals": 3,
        "liq_below": [
          [
            62500,
            22752.090471199997
          ],
          [
            61300,
            22946.100991199997
          ],
          [
            60700,
            39907.69125660001
          ]
        ],
        "liq_above": [
          [
            65100,
            23083.71281575
          ]
        ],
        "strongest_liq_level": 60700,
        "fragility_score": 0.701,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"가격 $63,115.70이 7일 고점 $63,450.00 바로 아래에서 거래되며 상단 유동성 접근 후 추격 매수 효율이 약화됨\",\n    \"OI 24시간 변화율 -1.8840%로 가격이 24시간 +0.88% 상승하는 동안 포지션은 순감소하여 상승 추세의 신규 레버리지 유입이 부족함\",\n    \"CVD divergence 0.700 및 CVD change +$3,452.09로 체결 흐름과 가격 간 괴리가 커져 단기 분배 또는 흡수 가능성 존재\",\n    \"롱 계정 비율 0.595, account_long_crowding 0.861로 롱 포지셔닝이 여전히 crowded 상태이며 반대매매 리스크가 하방에 집중됨\",\n    \"하방 청산 유동성이 $62,500, $61,300, $60,700에 존재하며 특히 $60,700이 가장 강한 청산 레벨로 표시됨\",\n    \"현물-선물 베이시스 -0.0448%로 선물이 소폭 할인 상태이며 공격적인 롱 프리미엄이 확인되지 않음\"\n  ],\n  \"reasoning\": \"현재 BTC는 $63,115.70으로 EMA20 $61,889.84와 EMA120 $62,235.10 위에 있지만 EMA240 $65,024.72 아래에 있어 구조적으로는 명확한 강세 전환이 확인되지 않은 중립 구간이다. 반면 셋업 관점에서는 가격이 7일 고점 $63,450.00 부근까지 올라온 상태에서 OI가 24시간 -1.8840% 감소해 상승이 신규 포지션 유입보다 숏 커버 또는 포지션 축소에 의존했을 가능성이 크다. 롱 계정 비율은 0.595이고 long crowding은 0.861로 여전히 롱 쏠림이 높은데, 동시에 long_account_change_24h는 -0.0228, short_account_change_24h는 +0.023으로 계정 흐름은 숏 증가/롱 감소를 보여준다. 하방에는 $62,500, $61,300, $60,700 청산 유동성이 연속적으로 놓여 있고, 특히 $60,700이 strongest_liq_level이므로 파생 포지셔닝 기준 4~8시간 내 하방 유동성 테스트 리스크가 우세하다.\",\n  \"key_levels\": {\n    \"support\": [\n      62500,\n      61300,\n      60700,\n      57758.6\n    ],\n    \"resistance\": [\n      63450,\n      65024.72,\n      65100\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$63,450.00 상방을 명확히 돌파하고 유지할 경우 단기 bearish setup은 무효화됨\",\n  \"risk_scenario\": \"반대 시나리오는 $63,450.00 돌파 후 숏 계정 증가분이 강제 청산되며 $65,024.72 EMA240 및 $65,100 상방 청산 레벨까지 빠르게 숏 스퀴즈가 발생하는 것이다. 이 경우 OI가 재상승하고 베이시스가 플러스로 전환되면 bearish setup은 실패로 간주해야 한다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bullish",
      "confidence": 0.68,
      "structure_bias": "bullish",
      "setup_bias": "bearish",
      "setup_score": 0.42,
      "setup_signals": [
        "현재가 $63,115.70는 메인 레인지 EQ 약 $61,665.00 위에 있어 프리미엄 구간에 위치",
        "SOS 레벨 $62,957.20를 소폭 상회하고 있으나, AR/레인지 상단 $64,250.00 재돌파 전까지는 Phase D 내 테스트 가능성 존재",
        "상단 저항 $63,650.00~$64,250.00 구간이 가까워 즉시 추격보다는 LPS 성격의 되돌림 확인이 필요",
        "Spring 저점 $57,758.60 이후 SOS가 확인되었지만, 아직 BU 또는 레인지 상단 위 수용 확인은 없음"
      ],
      "reasoning": "현재 구조는 regime=ACC, regime_state=confirmed_acc, acc_score 88.8 및 regime_fitness 0.888로 확인된 축적 구조이며, 이벤트 체인은 SC $59,080.00 → AR $64,250.00 → ST $63,650.00 → Spring $57,758.60 → SOS $62,957.20로 Phase D에 해당한다. 구조적으로는 Spring 이후 SOS가 발생했기 때문에 bullish로 해석하되, 현재가 $63,115.70는 레인지 EQ 약 $61,665.00 위 프리미엄 구간이며 AR 상단 $64,250.00 아래에 있어 즉시 상승 확정보다는 LPS/테스트 가능성을 먼저 봐야 한다. 핵심은 $62,957.20 SOS 레벨을 지지로 유지하고, $64,250.00 레인지 상단을 재돌파 후 수용하는지 여부이다. 반대로 $62,957.20 이탈 후 $61,665.00 EQ까지 밀리면 단기 setup은 더 방어적으로 변하며, $57,758.60 Spring 저점 하회는 현재 Phase D 축적 해석의 핵심 무효화 신호다.",
      "key_levels": {
        "support": [
          62957.2,
          61665.0,
          59080.0,
          57758.6
        ],
        "resistance": [
          63650.0,
          64250.0,
          65024.72
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$57,758.60",
      "risk_scenario": "$62,957.20 SOS 레벨을 유지하지 못하고 EQ $61,665.00 아래로 재진입하면 Phase D의 강한 수요 확인이 약화되며, $59,080.00 SC 구간 재시험 가능성이 커진다. 특히 $57,758.60 Spring 저점을 하회하면 Spring 실패로 해석되어 현재의 확인된 축적 Phase D 시나리오는 무효화되고, 레인지 재구축 또는 하방 유동성 탐색으로 전환될 수 있다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 88.8,
        "dis_score": 77.5,
        "regime": "ACC",
        "regime_state": "confirmed_acc",
        "structure_bias": "bullish",
        "phase_context": "confirmed_acc / accumulation / Phase D",
        "phases_detected": [
          "SC",
          "AR",
          "ST",
          "Spring",
          "SOS"
        ],
        "last_phase": "SOS",
        "phase_candidates": [
          {
            "label": "SC",
            "side": "low",
            "idx": 124,
            "price": 59080.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 137,
            "price": 64250.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 178,
            "price": 63650.0,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 276,
            "price": 57758.6,
            "color": "#f9844a"
          },
          {
            "label": "SOS",
            "side": "high",
            "idx": 293,
            "price": 62957.2,
            "color": "#06d6a0"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "4h_cycle_1",
            "sequence": 1,
            "timeframe": "4h",
            "regime": "accumulation",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 124,
            "end_idx": 293,
            "phase_count": 5,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 124,
                "price": 59080.0,
                "color": "#ffd166",
                "dt": "2026-06-06 01:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 137,
                "price": 64250.0,
                "color": "#06d6a0",
                "dt": "2026-06-08 05:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 178,
                "price": 63650.0,
                "color": "#118ab2",
                "dt": "2026-06-15 01:00:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 276,
                "price": 57758.6,
                "color": "#f9844a",
                "dt": "2026-07-01 09:00:00+09:00"
              },
              {
                "label": "SOS",
                "side": "high",
                "idx": 293,
                "price": 62957.2,
                "color": "#06d6a0",
                "dt": "2026-07-04 05:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "4h_cycle_1",
        "primary_structure_id": "4h_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.8875000000000001,
        "current_event": "SOS",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 59080.0,
        "main_range_high": 64250.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.68,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.42,\n  \"setup_signals\": [\n    \"현재가 $63,115.70는 메인 레인지 EQ 약 $61,665.00 위에 있어 프리미엄 구간에 위치\",\n    \"SOS 레벨 $62,957.20를 소폭 상회하고 있으나, AR/레인지 상단 $64,250.00 재돌파 전까지는 Phase D 내 테스트 가능성 존재\",\n    \"상단 저항 $63,650.00~$64,250.00 구간이 가까워 즉시 추격보다는 LPS 성격의 되돌림 확인이 필요\",\n    \"Spring 저점 $57,758.60 이후 SOS가 확인되었지만, 아직 BU 또는 레인지 상단 위 수용 확인은 없음\"\n  ],\n  \"reasoning\": \"현재 구조는 regime=ACC, regime_state=confirmed_acc, acc_score 88.8 및 regime_fitness 0.888로 확인된 축적 구조이며, 이벤트 체인은 SC $59,080.00 → AR $64,250.00 → ST $63,650.00 → Spring $57,758.60 → SOS $62,957.20로 Phase D에 해당한다. 구조적으로는 Spring 이후 SOS가 발생했기 때문에 bullish로 해석하되, 현재가 $63,115.70는 레인지 EQ 약 $61,665.00 위 프리미엄 구간이며 AR 상단 $64,250.00 아래에 있어 즉시 상승 확정보다는 LPS/테스트 가능성을 먼저 봐야 한다. 핵심은 $62,957.20 SOS 레벨을 지지로 유지하고, $64,250.00 레인지 상단을 재돌파 후 수용하는지 여부이다. 반대로 $62,957.20 이탈 후 $61,665.00 EQ까지 밀리면 단기 setup은 더 방어적으로 변하며, $57,758.60 Spring 저점 하회는 현재 Phase D 축적 해석의 핵심 무효화 신호다.\",\n  \"key_levels\": {\n    \"support\": [\n      62957.2,\n      61665.0,\n      59080.0,\n      57758.6\n    ],\n    \"resistance\": [\n      63650.0,\n      64250.0,\n      65024.72\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$57,758.60\",\n  \"risk_scenario\": \"$62,957.20 SOS 레벨을 유지하지 못하고 EQ $61,665.00 아래로 재진입하면 Phase D의 강한 수요 확인이 약화되며, $59,080.00 SC 구간 재시험 가능성이 커진다. 특히 $57,758.60 Spring 저점을 하회하면 Spring 실패로 해석되어 현재의 확인된 축적 Phase D 시나리오는 무효화되고, 레인지 재구축 또는 하방 유동성 탐색으로 전환될 수 있다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.6,
      "structure_bias": "bullish",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "프리미엄 구간: 현재가 $63,115.70이 스윙 EQ/0.5 되돌림 $59,969.30 위에 있어 추격 매수보다는 되돌림 리스크가 큰 위치",
        "확장 저항 테스트: 현재가가 Fib 1.272 확장 $63,382.62까지 0.42% 거리로 근접해 단기 반응 구간에 진입",
        "최근 7일 고점 $63,450.00이 Fib 1.272 $63,382.62 바로 위에 있어 매수 유동성 흡수/상단 스윕 가능성 존재",
        "상위 저항: Fib 1.414 $64,010.46 및 Fib 1.618 $64,912.43, EMA240 $65,024.72가 위쪽에 밀집해 상승 연속성 확인 필요",
        "황금비 지지 $59,447.57은 현재가 대비 5.81% 아래에 있어 아직 고확률 0.618 되돌림 매수 구간은 미도달"
      ],
      "reasoning": "확정 구조는 $57,759 저점에서 $62,180 고점으로 형성된 상승 스윙 이후 가격이 $62,180 위에 머물고 있어 단기 구조상 bullish로 판단된다. 다만 현재가 $63,115.70은 Fib 1.272 확장 저항 $63,382.62에 0.42% 근접해 있으며, 7일 고점 $63,450.00과 겹쳐 즉시 돌파보다는 저항 반응 가능성이 높다. 핵심 되돌림 지지는 $61,136.55, $60,491.03, 그리고 황금비 0.618인 $59,447.57이며, 특히 $59,447.57은 다음 고확률 매수 반응 후보로 중요하다. 구조는 상승이지만 셋업은 프리미엄 구간 및 확장 저항 테스트로 인해 단기 bearish 되돌림 셋업이 우세하므로 전체 신호는 neutral로 유지한다.",
      "key_levels": {
        "support": [
          62180.0,
          61136.55,
          60491.03,
          59969.3,
          59447.57
        ],
        "resistance": [
          63382.62,
          64010.46,
          64912.43,
          66601.4
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$64,010.46",
      "risk_scenario": "반대 시나리오로 $63,382.62의 Fib 1.272 저항을 강하게 돌파하고 $64,010.46 위에서 수용되면 단기 bearish 셋업은 무효화되며, 다음 목표는 Fib 1.618 $64,912.43 및 2.0 확장 $66,601.40으로 열린다. 반대로 $62,180 아래로 재진입하면 상승 확장 실패로 해석되어 $61,136.55와 $60,491.03까지 되돌림이 깊어질 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "Low→High: $57,759 → $62,180",
        "direction": "up",
        "nearest_fib": "ext_1.272",
        "nearest_fib_price": 63382.62,
        "nearest_fib_distance": 0.42,
        "golden_ratio_level": 59447.57,
        "fib_ret_382": 60491.03,
        "fib_ret_618": 59447.57,
        "confluence_zones": [],
        "support_levels": [
          62180.0,
          61136.5496,
          60491.0252
        ],
        "resistance_levels": [
          63382.620800000004,
          64010.4596,
          64912.4252
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 61136.55,
            "distance_pct": 3.14,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.382",
            "price": 60491.03,
            "distance_pct": 4.16,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.5",
            "price": 59969.3,
            "distance_pct": 4.99,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.618",
            "price": 59447.57,
            "distance_pct": 5.81,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.786",
            "price": 58704.78,
            "distance_pct": 6.99,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 62180.0,
            "distance_pct": 1.48,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 63382.62,
            "distance_pct": 0.42,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.414",
            "price": 64010.46,
            "distance_pct": 1.42,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.618",
            "price": 64912.43,
            "distance_pct": 2.85,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 66601.4,
            "distance_pct": 5.52,
            "is_support": false,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.6,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"프리미엄 구간: 현재가 $63,115.70이 스윙 EQ/0.5 되돌림 $59,969.30 위에 있어 추격 매수보다는 되돌림 리스크가 큰 위치\",\n    \"확장 저항 테스트: 현재가가 Fib 1.272 확장 $63,382.62까지 0.42% 거리로 근접해 단기 반응 구간에 진입\",\n    \"최근 7일 고점 $63,450.00이 Fib 1.272 $63,382.62 바로 위에 있어 매수 유동성 흡수/상단 스윕 가능성 존재\",\n    \"상위 저항: Fib 1.414 $64,010.46 및 Fib 1.618 $64,912.43, EMA240 $65,024.72가 위쪽에 밀집해 상승 연속성 확인 필요\",\n    \"황금비 지지 $59,447.57은 현재가 대비 5.81% 아래에 있어 아직 고확률 0.618 되돌림 매수 구간은 미도달\"\n  ],\n  \"reasoning\": \"확정 구조는 $57,759 저점에서 $62,180 고점으로 형성된 상승 스윙 이후 가격이 $62,180 위에 머물고 있어 단기 구조상 bullish로 판단된다. 다만 현재가 $63,115.70은 Fib 1.272 확장 저항 $63,382.62에 0.42% 근접해 있으며, 7일 고점 $63,450.00과 겹쳐 즉시 돌파보다는 저항 반응 가능성이 높다. 핵심 되돌림 지지는 $61,136.55, $60,491.03, 그리고 황금비 0.618인 $59,447.57이며, 특히 $59,447.57은 다음 고확률 매수 반응 후보로 중요하다. 구조는 상승이지만 셋업은 프리미엄 구간 및 확장 저항 테스트로 인해 단기 bearish 되돌림 셋업이 우세하므로 전체 신호는 neutral로 유지한다.\",\n  \"key_levels\": {\n    \"support\": [\n      62180.0,\n      61136.55,\n      60491.03,\n      59969.3,\n      59447.57\n    ],\n    \"resistance\": [\n      63382.62,\n      64010.46,\n      64912.43,\n      66601.4\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$64,010.46\",\n  \"risk_scenario\": \"반대 시나리오로 $63,382.62의 Fib 1.272 저항을 강하게 돌파하고 $64,010.46 위에서 수용되면 단기 bearish 셋업은 무효화되며, 다음 목표는 Fib 1.618 $64,912.43 및 2.0 확장 $66,601.40으로 열린다. 반대로 $62,180 아래로 재진입하면 상승 확장 실패로 해석되어 $61,136.55와 $60,491.03까지 되돌림이 깊어질 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.42,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.46,
      "setup_signals": [
        "현재가 $63,115.70가 strict/high 형성 중 bullish Bat PRZ $62,527.12-$63,386.13 내부에 위치",
        "주요 bullish Bat D 예상가 $62,956.63 부근에서 가격이 거래 중이며 price_to_prz_pct -0.25%로 활성 구간",
        "해당 PRZ는 XAD, BC_EXT, ABCD 3개 Fib family가 겹친 high-confluence zone",
        "동일 PRZ에 completed candidate bullish Bat가 존재하며 D $63,220.00 이후 reaction_score 0.80, AD 0.382 반응 도달 이력",
        "EMA20 $61,889.84 및 EMA120 $62,235.10 위에서 거래되어 단기적으로 PRZ 하단 방어 여지가 있음"
      ],
      "reasoning": "4h 기준 가장 중요한 harmonic setup은 strict/high bullish Bat이며, PRZ는 $62,527.12-$63,386.13이고 현재가 $63,115.70는 이 구간 안에 있습니다. 이 PRZ는 XAD, BC extension, AB=CD가 모두 겹치는 3중 Fib confluence이며 pattern_score 0.959, ratio_score 1.0으로 품질은 높지만, 아직 confirmed_reaction=false이므로 구조 전환 신호로는 인정할 수 없습니다. 같은 구간의 completed candidate bullish Bat는 D $63,220.00 이후 reaction_score 0.80을 보였고 TP ladder는 $64,598.76, $65,613.27, $67,255.40이지만 candidate-tier라서 보조 근거로만 사용합니다. 따라서 구조_bias는 확인된 BOS/CHoCH 부재로 neutral, setup_bias는 활성 bullish PRZ 방어 가능성 때문에 bullish로 분리합니다.",
      "key_levels": {
        "support": [
          62956.63,
          62527.12,
          62315.0,
          62202.51,
          61889.84,
          60933.28
        ],
        "resistance": [
          63386.13,
          63450.0,
          64598.76,
          65024.72,
          65613.27,
          67255.4
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$62,315.00",
      "risk_scenario": "가격이 PRZ 하단 $62,527.12를 이탈하고 특히 X 가격 $62,315.00 아래로 4h 종가 수용되면 bullish Bat 방어 논리는 훼손됩니다. 이 경우 harmonic bullish setup은 실패로 간주하며, $62,202.51-$63,015.03 Gartley PRZ도 무력화될 가능성이 커지고 하방으로 $61,889.84 EMA20, $61,505.57-$62,667.55 bearish Bat 관련 구간, 이후 $60,933.28-$61,663.11 watch PRZ까지 재평가해야 합니다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 161,
        "completed_patterns_found": 71,
        "forming_d_prz_found": 90,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 54,
        "swing_highs_scanned": 29,
        "swing_lows_scanned": 25,
        "timeframe": "4h",
        "prz_active_threshold_pct": 0.75,
        "prz_nearby_threshold_pct": 1.5,
        "prz_watch_threshold_pct": 3.0,
        "prz_max_width_pct": 1.3,
        "quality_counts": {
          "high": 4,
          "medium": 44,
          "low": 113
        },
        "prz_status_counts": {
          "active": 50,
          "nearby": 16,
          "watch": 29,
          "far": 66,
          "forming": 36
        },
        "high_confluence_prz_count": 20,
        "strict_patterns_found": 55,
        "candidate_patterns_found": 106,
        "active_patterns_at_prz": 50,
        "nearby_patterns": 16,
        "all_patterns": [
          "bat",
          "bat",
          "gartley",
          "shark",
          "crab",
          "bat",
          "bat",
          "butterfly",
          "butterfly",
          "gartley",
          "gartley",
          "gartley",
          "crab",
          "butterfly",
          "shark",
          "bat",
          "bat",
          "bat",
          "shark",
          "crab",
          "bat",
          "shark",
          "gartley",
          "bat",
          "butterfly",
          "crab",
          "butterfly",
          "butterfly",
          "butterfly",
          "butterfly",
          "bat",
          "bat",
          "bat",
          "bat",
          "shark",
          "crab",
          "shark",
          "crab",
          "gartley",
          "butterfly",
          "gartley",
          "crab",
          "shark",
          "gartley",
          "crab",
          "shark",
          "butterfly",
          "shark",
          "bat",
          "crab",
          "butterfly",
          "shark",
          "crab",
          "butterfly",
          "shark",
          "crab",
          "gartley",
          "shark",
          "crab",
          "butterfly",
          "bat",
          "butterfly",
          "gartley",
          "shark",
          "crab",
          "gartley",
          "shark",
          "gartley",
          "gartley",
          "bat",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "shark",
          "gartley",
          "bat",
          "crab",
          "crab",
          "gartley",
          "butterfly",
          "crab",
          "crab",
          "butterfly",
          "gartley",
          "crab",
          "bat",
          "shark",
          "bat",
          "crab",
          "crab",
          "gartley",
          "shark",
          "shark",
          "bat",
          "shark",
          "bat",
          "shark",
          "shark",
          "crab",
          "crab",
          "bat",
          "crab",
          "crab",
          "shark",
          "crab",
          "gartley",
          "crab",
          "shark",
          "shark",
          "crab",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "shark",
          "crab",
          "shark",
          "shark",
          "shark",
          "crab",
          "crab",
          "crab",
          "shark",
          "crab",
          "butterfly",
          "butterfly",
          "crab",
          "butterfly",
          "gartley",
          "bat",
          "butterfly",
          "bat",
          "crab",
          "crab",
          "crab",
          "shark",
          "gartley",
          "butterfly",
          "butterfly",
          "shark",
          "shark",
          "bat",
          "butterfly",
          "crab",
          "butterfly",
          "shark",
          "crab",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "shark",
          "crab",
          "gartley",
          "crab",
          "gartley",
          "butterfly",
          "gartley",
          "butterfly",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.959,
        "best_completion_status": "forming",
        "nearest_pattern": "shark",
        "nearest_prz": 63111.29,
        "price_to_prz": -0.01,
        "prz_range": [
          62424.3,
          63798.27
        ],
        "council_relevant_prz_count": 1,
        "directional_influence_prz_count": 1,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.959,
            "ratio_score": 1.0,
            "prz_score": 0.988,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62956.63,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.25,
            "price_to_prz_pct_raw": -0.252,
            "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": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949
            },
            "x_price": 62315.0,
            "x_idx": 160,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 183,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 189,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 217,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.878,
            "ratio_score": 0.847,
            "prz_score": 0.988,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63220.0,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.25,
            "price_to_prz_pct_raw": -0.252,
            "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.589,
                "adverse_move_ratio_ad": 0.335,
                "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": "bat",
              "d_price": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949,
              "BCD": 1.7718,
              "XAD": 0.8168
            },
            "x_price": 62315.0,
            "x_idx": 160,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 183,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 189,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 217,
            "c_order": 3,
            "d_idx": 221
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.854,
            "ratio_score": 0.718,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62608.77,
            "prz_range": [
              62202.51,
              63015.03
            ],
            "prz_width_pct": 1.298,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.8,
            "price_to_prz_pct_raw": -0.8032,
            "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": 62608.77,
              "a_price": 64738.0,
              "tp1_ad_382": 63422.14,
              "tp2_ad_618": 63924.64,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6611,
              "ABC": 0.8939
            },
            "x_price": 62315.0,
            "x_idx": 160,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 173,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 213,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 217,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.819,
            "ratio_score": 0.826,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              60933.28,
              61663.11
            ],
            "prz_width_pct": 1.191,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.88,
            "price_to_prz_pct_raw": -2.8796,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61298.2,
              "a_price": 67255.4,
              "tp1_ad_382": 63573.85,
              "tp2_ad_618": 64979.75,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8338,
              "ABC": 0.5974,
              "BCD": 2.6563,
              "XAD": 1.6589
            },
            "x_price": 62315.0,
            "x_idx": 160,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 183,
            "a_order": 8,
            "b_price": 63136.2,
            "b_idx": 213,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 225,
            "c_order": 8,
            "d_idx": 238
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.889,
            "ratio_score": 1.0,
            "prz_score": 0.862,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 64177.92,
            "prz_range": [
              63514.47,
              64841.36
            ],
            "prz_width_pct": 2.068,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.68,
            "price_to_prz_pct_raw": 1.683,
            "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": 64177.92,
              "a_price": 66956.7,
              "tp1_ad_382": 65239.41,
              "tp2_ad_618": 65895.2,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4923,
              "ABC": 0.6698
            },
            "x_price": 63650.0,
            "x_idx": 178,
            "x_order": 8,
            "a_price": 66956.7,
            "a_idx": 188,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 189,
            "b_order": 3,
            "c_price": 66419.2,
            "c_idx": 196,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.871,
            "ratio_score": 0.911,
            "prz_score": 0.972,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61461.12,
            "prz_range": [
              61013.8,
              61908.44
            ],
            "prz_width_pct": 1.456,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.62,
            "price_to_prz_pct_raw": -2.6215,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61461.12,
              "a_price": 66956.7,
              "tp1_ad_382": 63560.43,
              "tp2_ad_618": 64857.39,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.805,
              "ABC": 0.6362
            },
            "x_price": 62315.0,
            "x_idx": 160,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 188,
            "a_order": 3,
            "b_price": 63220.0,
            "b_idx": 221,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 225,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.846,
            "ratio_score": 0.838,
            "prz_score": 0.897,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62086.56,
            "prz_range": [
              61505.57,
              62667.55
            ],
            "prz_width_pct": 1.872,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.63,
            "price_to_prz_pct_raw": -1.6306,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 62086.56,
              "a_price": 58030.0,
              "tp1_ad_382": 60536.96,
              "tp2_ad_618": 59579.61,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.522,
              "ABC": 0.6967
            },
            "x_price": 63209.6,
            "x_idx": 236,
            "x_order": 5,
            "a_price": 58030.0,
            "a_idx": 243,
            "a_order": 8,
            "b_price": 60734.0,
            "b_idx": 247,
            "b_order": 3,
            "c_price": 58850.0,
            "c_idx": 264,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.832,
            "ratio_score": 0.844,
            "prz_score": 0.963,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61176.59,
            "prz_range": [
              60715.71,
              61637.48
            ],
            "prz_width_pct": 1.507,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -3.07,
            "price_to_prz_pct_raw": -3.0723,
            "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": 61176.59,
              "a_price": 58030.0,
              "tp1_ad_382": 59974.6,
              "tp2_ad_618": 59232.0,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6443,
              "ABC": 0.6737
            },
            "x_price": 61931.1,
            "x_idx": 241,
            "x_order": 3,
            "a_price": 58030.0,
            "a_idx": 243,
            "a_order": 8,
            "b_price": 60543.3,
            "b_idx": 260,
            "b_order": 3,
            "c_price": 58850.0,
            "c_idx": 264,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.959,
            "ratio_score": 1.0,
            "prz_score": 0.988,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62956.63,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.25,
            "price_to_prz_pct_raw": -0.252,
            "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": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949
            },
            "x_price": 62315.0,
            "x_idx": 160,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 183,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 189,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 217,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.959,
            "ratio_score": 1.0,
            "prz_score": 0.988,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62956.63,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.25,
            "price_to_prz_pct_raw": -0.252,
            "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": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949
            },
            "x_price": 62315.0,
            "x_idx": 160,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 183,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 189,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 217,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.878,
            "ratio_score": 0.847,
            "prz_score": 0.988,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63220.0,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.25,
            "price_to_prz_pct_raw": -0.252,
            "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.589,
                "adverse_move_ratio_ad": 0.335,
                "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": "bat",
              "d_price": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949,
              "BCD": 1.7718,
              "XAD": 0.8168
            },
            "x_price": 62315.0,
            "x_idx": 160,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 183,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 189,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 217,
            "c_order": 3,
            "d_idx": 221
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.854,
            "ratio_score": 0.718,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62608.77,
            "prz_range": [
              62202.51,
              63015.03
            ],
            "prz_width_pct": 1.298,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.8,
            "price_to_prz_pct_raw": -0.8032,
            "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": 62608.77,
              "a_price": 64738.0,
              "tp1_ad_382": 63422.14,
              "tp2_ad_618": 63924.64,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6611,
              "ABC": 0.8939
            },
            "x_price": 62315.0,
            "x_idx": 160,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 173,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 213,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 217,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.819,
            "ratio_score": 0.826,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              60933.28,
              61663.11
            ],
            "prz_width_pct": 1.191,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.88,
            "price_to_prz_pct_raw": -2.8796,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61298.2,
              "a_price": 67255.4,
              "tp1_ad_382": 63573.85,
              "tp2_ad_618": 64979.75,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8338,
              "ABC": 0.5974,
              "BCD": 2.6563,
              "XAD": 1.6589
            },
            "x_price": 62315.0,
            "x_idx": 160,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 183,
            "a_order": 8,
            "b_price": 63136.2,
            "b_idx": 213,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 225,
            "c_order": 8,
            "d_idx": 238
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.889,
            "ratio_score": 1.0,
            "prz_score": 0.862,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 64177.92,
            "prz_range": [
              63514.47,
              64841.36
            ],
            "prz_width_pct": 2.068,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.68,
            "price_to_prz_pct_raw": 1.683,
            "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": 64177.92,
              "a_price": 66956.7,
              "tp1_ad_382": 65239.41,
              "tp2_ad_618": 65895.2,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4923,
              "ABC": 0.6698
            },
            "x_price": 63650.0,
            "x_idx": 178,
            "x_order": 8,
            "a_price": 66956.7,
            "a_idx": 188,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 189,
            "b_order": 3,
            "c_price": 66419.2,
            "c_idx": 196,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.871,
            "ratio_score": 0.911,
            "prz_score": 0.972,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61461.12,
            "prz_range": [
              61013.8,
              61908.44
            ],
            "prz_width_pct": 1.456,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.62,
            "price_to_prz_pct_raw": -2.6215,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61461.12,
              "a_price": 66956.7,
              "tp1_ad_382": 63560.43,
              "tp2_ad_618": 64857.39,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.805,
              "ABC": 0.6362
            },
            "x_price": 62315.0,
            "x_idx": 160,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 188,
            "a_order": 3,
            "b_price": 63220.0,
            "b_idx": 221,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 225,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.846,
            "ratio_score": 0.838,
            "prz_score": 0.897,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62086.56,
            "prz_range": [
              61505.57,
              62667.55
            ],
            "prz_width_pct": 1.872,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.63,
            "price_to_prz_pct_raw": -1.6306,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 62086.56,
              "a_price": 58030.0,
              "tp1_ad_382": 60536.96,
              "tp2_ad_618": 59579.61,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.522,
              "ABC": 0.6967
            },
            "x_price": 63209.6,
            "x_idx": 236,
            "x_order": 5,
            "a_price": 58030.0,
            "a_idx": 243,
            "a_order": 8,
            "b_price": 60734.0,
            "b_idx": 247,
            "b_order": 3,
            "c_price": 58850.0,
            "c_idx": 264,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.832,
            "ratio_score": 0.844,
            "prz_score": 0.963,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61176.59,
            "prz_range": [
              60715.71,
              61637.48
            ],
            "prz_width_pct": 1.507,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -3.07,
            "price_to_prz_pct_raw": -3.0723,
            "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": 61176.59,
              "a_price": 58030.0,
              "tp1_ad_382": 59974.6,
              "tp2_ad_618": 59232.0,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6443,
              "ABC": 0.6737
            },
            "x_price": 61931.1,
            "x_idx": 241,
            "x_order": 3,
            "a_price": 58030.0,
            "a_idx": 243,
            "a_order": 8,
            "b_price": 60543.3,
            "b_idx": 260,
            "b_order": 3,
            "c_price": 58850.0,
            "c_idx": 264,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.812,
            "ratio_score": 0.837,
            "prz_score": 0.918,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61139.25,
            "prz_range": [
              60602.82,
              61675.69
            ],
            "prz_width_pct": 1.755,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -3.13,
            "price_to_prz_pct_raw": -3.1315,
            "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": "bat",
              "d_price": 61139.25,
              "a_price": 63915.3,
              "tp1_ad_382": 62199.7,
              "tp2_ad_618": 62854.85,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5222,
              "ABC": 0.5807
            },
            "x_price": 60691.9,
            "x_idx": 152,
            "x_order": 8,
            "a_price": 63915.3,
            "a_idx": 160,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 201,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 236,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.799,
            "ratio_score": 0.812,
            "prz_score": 0.911,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 62180.0,
            "prz_range": [
              61146.28,
              62254.99
            ],
            "prz_width_pct": 1.797,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.24,
            "price_to_prz_pct_raw": -2.242,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.65,
              "reaction_detail": {
                "reaction_score": 0.65,
                "reaction_move_ratio_ad": 0.257,
                "adverse_move_ratio_ad": 0.214,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 61700.64,
              "a_price": 58030.0,
              "tp1_ad_382": 60298.45,
              "tp2_ad_618": 59432.18,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5589,
              "ABC": 0.7167,
              "BCD": 1.6051,
              "XAD": 0.8012
            },
            "x_price": 63209.6,
            "x_idx": 236,
            "x_order": 5,
            "a_price": 58030.0,
            "a_idx": 243,
            "a_order": 8,
            "b_price": 60924.7,
            "b_idx": 255,
            "b_order": 8,
            "c_price": 58850.0,
            "c_idx": 264,
            "c_order": 8,
            "d_idx": 285
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.782,
            "ratio_score": 0.649,
            "prz_score": 0.911,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61700.64,
            "prz_range": [
              61146.28,
              62254.99
            ],
            "prz_width_pct": 1.797,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.24,
            "price_to_prz_pct_raw": -2.242,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 61700.64,
              "a_price": 58030.0,
              "tp1_ad_382": 60298.45,
              "tp2_ad_618": 59432.18,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5589,
              "ABC": 0.7167
            },
            "x_price": 63209.6,
            "x_idx": 236,
            "x_order": 5,
            "a_price": 58030.0,
            "a_idx": 243,
            "a_order": 8,
            "b_price": 60924.7,
            "b_idx": 255,
            "b_order": 8,
            "c_price": 58850.0,
            "c_idx": 264,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.778,
            "ratio_score": 0.743,
            "prz_score": 0.897,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62180.0,
            "prz_range": [
              61505.57,
              62667.55
            ],
            "prz_width_pct": 1.872,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.63,
            "price_to_prz_pct_raw": -1.6306,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.65,
              "reaction_detail": {
                "reaction_score": 0.65,
                "reaction_move_ratio_ad": 0.257,
                "adverse_move_ratio_ad": 0.214,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 62086.56,
              "a_price": 58030.0,
              "tp1_ad_382": 60536.96,
              "tp2_ad_618": 59579.61,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.522,
              "ABC": 0.6967,
              "BCD": 1.7675,
              "XAD": 0.8012
            },
            "x_price": 63209.6,
            "x_idx": 236,
            "x_order": 5,
            "a_price": 58030.0,
            "a_idx": 243,
            "a_order": 8,
            "b_price": 60734.0,
            "b_idx": 247,
            "b_order": 3,
            "c_price": 58850.0,
            "c_idx": 264,
            "c_order": 8,
            "d_idx": 285
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.959,
            "prz_proximity": "active",
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.25,
            "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": "bat",
              "d_price": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $62,527.12-$63,386.13: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "bat",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.959,
          "ratio_score": 1.0,
          "prz_score": 0.988,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 62956.63,
          "prz_range": [
            62527.12,
            63386.13
          ],
          "prz_width_pct": 1.364,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -0.25,
          "price_to_prz_pct_raw": -0.252,
          "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": 62956.63,
            "a_price": 67255.4,
            "tp1_ad_382": 64598.76,
            "tp2_ad_618": 65613.27,
            "tp3_a_or_structure_liquidity": 67255.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.39,
            "ABC": 0.3949
          },
          "x_price": 62315.0,
          "x_idx": 160,
          "x_order": 3,
          "a_price": 67255.4,
          "a_idx": 183,
          "a_order": 8,
          "b_price": 65328.8,
          "b_idx": 189,
          "b_order": 3,
          "c_price": 64568.0,
          "c_idx": 217,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 62956.63,
          "a_price": 67255.4,
          "tp1_ad_382": 64598.76,
          "tp2_ad_618": 65613.27,
          "tp3_a_or_structure_liquidity": 67255.4,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 62956.63,
            "a_price": 67255.4,
            "tp1_ad_382": 64598.76,
            "tp2_ad_618": 65613.27,
            "tp3_a_or_structure_liquidity": 67255.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "ready",
        "directional_scores": {
          "bullish": 0.203,
          "bearish": 0
        },
        "directional_score_total": 0.203,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.42,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.46,\n  \"setup_signals\": [\n    \"현재가 $63,115.70가 strict/high 형성 중 bullish Bat PRZ $62,527.12-$63,386.13 내부에 위치\",\n    \"주요 bullish Bat D 예상가 $62,956.63 부근에서 가격이 거래 중이며 price_to_prz_pct -0.25%로 활성 구간\",\n    \"해당 PRZ는 XAD, BC_EXT, ABCD 3개 Fib family가 겹친 high-confluence zone\",\n    \"동일 PRZ에 completed candidate bullish Bat가 존재하며 D $63,220.00 이후 reaction_score 0.80, AD 0.382 반응 도달 이력\",\n    \"EMA20 $61,889.84 및 EMA120 $62,235.10 위에서 거래되어 단기적으로 PRZ 하단 방어 여지가 있음\"\n  ],\n  \"reasoning\": \"4h 기준 가장 중요한 harmonic setup은 strict/high bullish Bat이며, PRZ는 $62,527.12-$63,386.13이고 현재가 $63,115.70는 이 구간 안에 있습니다. 이 PRZ는 XAD, BC extension, AB=CD가 모두 겹치는 3중 Fib confluence이며 pattern_score 0.959, ratio_score 1.0으로 품질은 높지만, 아직 confirmed_reaction=false이므로 구조 전환 신호로는 인정할 수 없습니다. 같은 구간의 completed candidate bullish Bat는 D $63,220.00 이후 reaction_score 0.80을 보였고 TP ladder는 $64,598.76, $65,613.27, $67,255.40이지만 candidate-tier라서 보조 근거로만 사용합니다. 따라서 구조_bias는 확인된 BOS/CHoCH 부재로 neutral, setup_bias는 활성 bullish PRZ 방어 가능성 때문에 bullish로 분리합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      62956.63,\n      62527.12,\n      62315.0,\n      62202.51,\n      61889.84,\n      60933.28\n    ],\n    \"resistance\": [\n      63386.13,\n      63450.0,\n      64598.76,\n      65024.72,\n      65613.27,\n      67255.4\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$62,315.00\",\n  \"risk_scenario\": \"가격이 PRZ 하단 $62,527.12를 이탈하고 특히 X 가격 $62,315.00 아래로 4h 종가 수용되면 bullish Bat 방어 논리는 훼손됩니다. 이 경우 harmonic bullish setup은 실패로 간주하며, $62,202.51-$63,015.03 Gartley PRZ도 무력화될 가능성이 커지고 하방으로 $61,889.84 EMA20, $61,505.57-$62,667.55 bearish Bat 관련 구간, 이후 $60,933.28-$61,663.11 watch PRZ까지 재평가해야 합니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.71,
      "structure_bias": "bullish",
      "setup_bias": "bearish",
      "setup_score": 0.831,
      "setup_signals": [
        "가격 $63,115.70은 EQ $60,604.30 위의 premium zone에 위치",
        "현재가가 7일 range high $63,450.00 바로 아래에서 거래되며 프리미엄 저항대에 접근",
        "이전일 고가 $63,069.60을 상향 돌파했으나 현재 $63,115.70 부근에서 강한 확장 실패 가능성 존재",
        "deep retracement 179.8%로 과열된 프리미엄 되돌림 구간",
        "직전 주요 bearish BOS 레벨 $62,232.10 부근을 재상회했지만, 상위 bullish continuation 확인 레벨 $64,250.00은 아직 회복하지 못함"
      ],
      "reasoning": "확정 구조 관점에서는 최근 이벤트가 CHoCH_bullish $60,924.70으로 기록되어 단기 구조는 bearish에서 bullish 전환을 시도한 상태다. 그러나 현재 가격 $63,115.70은 EQ $60,604.30 위의 premium zone에 있으며, 7일 고점 $63,450.00과 이전일 고가 $63,069.60을 건드린 직후라 buy-side liquidity를 유도한 뒤 되밀릴 수 있는 위치다. 특히 setup_score 0.831, bear_score 9.0 대 bull_score 6.0으로 사전 실행 셋업은 bearish가 우세하며, $64,250.00 bullish BOS 레벨을 명확히 회복하기 전까지는 프리미엄 숏 셋업이 더 유리하다. 활성 OB나 미체결 FVG는 없지만, 가격이 EMA20 $61,889.84와 EMA120 $62,235.10 위에서 과도하게 확장된 반면 EMA240 $65,024.72 아래에 있어 상위 저항 압력이 남아 있다.",
      "key_levels": {
        "support": [
          62232.1,
          61877.6,
          60924.7,
          60604.3,
          59298.4,
          57758.6
        ],
        "resistance": [
          63069.6,
          63450.0,
          64250.0,
          65024.72,
          76234.7,
          78077.1,
          78128.55
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$64,250.00",
      "risk_scenario": "$64,250.00을 강하게 돌파하고 4시간봉 기준으로 안착하면 bearish setup은 무효화되며, CHoCH_bullish $60,924.70 이후의 구조 전환이 bullish BOS로 확정될 가능성이 높다. 이 경우 다음 상방 목표는 EMA240 $65,024.72, 이후 원거리 bearish OB 후보 구간 $76,234.70-$78,077.10 및 resting BSL $78,128.55가 된다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 2,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 1,
        "candidate_bearish_ob": 1,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": {
          "bottom": 57758.6,
          "top": 59298.4,
          "quality": "candidate",
          "score": 0.546
        },
        "nearest_bear_ob_range": {
          "bottom": 76234.7,
          "top": 78077.1,
          "quality": "candidate",
          "score": 0.56
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 0,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 56,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "BOS_bearish",
          "CHoCH_bullish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bearish",
            "level": 74203.6
          },
          {
            "type": "BOS_bearish",
            "level": 72436.0
          },
          {
            "type": "BOS_bullish",
            "level": 64250.0
          },
          {
            "type": "BOS_bearish",
            "level": 62232.1
          },
          {
            "type": "CHoCH_bullish",
            "level": 60924.7
          }
        ],
        "bos_sequence": [
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "BOS_bearish",
          "CHoCH_bullish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [
          {
            "type": "BSL",
            "level": 78128.55
          }
        ],
        "current_zone": "premium",
        "eq_level": 60604.3,
        "range_high": 63450.0,
        "range_low": 57758.6,
        "bull_score": 6.0,
        "bear_score": 9.0,
        "setup_bias": "bearish",
        "setup_score": 0.831,
        "setup_signals": [
          "bearish BOS below $74,203.60",
          "bearish BOS below $72,436.00",
          "bearish BOS below $62,232.10",
          "deep retracement 179.8% in premium zone"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 179.8,
        "deepest_retracement_pct": 179.8,
        "previous_day_high": 63069.6,
        "previous_day_low": 61877.6,
        "broken_prev_high": true,
        "broken_prev_low": false,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.71,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.831,\n  \"setup_signals\": [\n    \"가격 $63,115.70은 EQ $60,604.30 위의 premium zone에 위치\",\n    \"현재가가 7일 range high $63,450.00 바로 아래에서 거래되며 프리미엄 저항대에 접근\",\n    \"이전일 고가 $63,069.60을 상향 돌파했으나 현재 $63,115.70 부근에서 강한 확장 실패 가능성 존재\",\n    \"deep retracement 179.8%로 과열된 프리미엄 되돌림 구간\",\n    \"직전 주요 bearish BOS 레벨 $62,232.10 부근을 재상회했지만, 상위 bullish continuation 확인 레벨 $64,250.00은 아직 회복하지 못함\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 최근 이벤트가 CHoCH_bullish $60,924.70으로 기록되어 단기 구조는 bearish에서 bullish 전환을 시도한 상태다. 그러나 현재 가격 $63,115.70은 EQ $60,604.30 위의 premium zone에 있으며, 7일 고점 $63,450.00과 이전일 고가 $63,069.60을 건드린 직후라 buy-side liquidity를 유도한 뒤 되밀릴 수 있는 위치다. 특히 setup_score 0.831, bear_score 9.0 대 bull_score 6.0으로 사전 실행 셋업은 bearish가 우세하며, $64,250.00 bullish BOS 레벨을 명확히 회복하기 전까지는 프리미엄 숏 셋업이 더 유리하다. 활성 OB나 미체결 FVG는 없지만, 가격이 EMA20 $61,889.84와 EMA120 $62,235.10 위에서 과도하게 확장된 반면 EMA240 $65,024.72 아래에 있어 상위 저항 압력이 남아 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      62232.1,\n      61877.6,\n      60924.7,\n      60604.3,\n      59298.4,\n      57758.6\n    ],\n    \"resistance\": [\n      63069.6,\n      63450.0,\n      64250.0,\n      65024.72,\n      76234.7,\n      78077.1,\n      78128.55\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$64,250.00\",\n  \"risk_scenario\": \"$64,250.00을 강하게 돌파하고 4시간봉 기준으로 안착하면 bearish setup은 무효화되며, CHoCH_bullish $60,924.70 이후의 구조 전환이 bullish BOS로 확정될 가능성이 높다. 이 경우 다음 상방 목표는 EMA240 $65,024.72, 이후 원거리 bearish OB 후보 구간 $76,234.70-$78,077.10 및 resting BSL $78,128.55가 된다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bullish",
    "overall_confidence": 0.64,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.76,
      "active_setups": [
        "프리미엄 구간: 현재가 $63,115.70은 7일 범위 EQ $60,604.30 및 Wyckoff 메인 레인지 EQ 약 $61,665.00 위에 위치",
        "상단 저항 근접: 현재가가 7일 고점 $63,450.00, Fib 1.272 확장 $63,382.62, Harmonic PRZ 상단 $63,386.13 바로 아래에서 거래",
        "ICT 유동성 조건: 이전일 고가 $63,069.60 상향 돌파 후 $63,115.70 부근에서 확장 실패 위험이 존재",
        "파생 포지셔닝 취약성: 가격은 24시간 +0.88% 상승했으나 OI는 -1.8840% 감소하여 신규 레버리지 추세 추종 유입이 부족",
        "롱 쏠림 부담: 롱 계정 비율 0.595, 롱 crowding 0.861이며 동시에 롱 계정 감소와 숏 계정 증가가 관찰",
        "하방 청산 유동성: $62,500, $61,300, $60,700에 연속 유동성이 있으며 $60,700이 가장 강한 청산 레벨",
        "캔들 반전 후보: $63,450.00 저항 직하에서 bearish harami 및 bearish engulfing 후보가 출현, 최고 bearish engulfing 품질 0.644"
      ],
      "setup_vs_structure": "구조는 Wyckoff 축적 Phase D 및 Spring 이후 SOS로 인해 bullish이나, 실행 셋업은 프리미엄 저항·상단 유동성 접촉·파생 취약성 때문에 bearish로 분리된다. 즉, 레짐은 회복/축적 쪽이지만 즉시 실행 환경은 되돌림 또는 상단 실패 조건을 먼저 관리해야 하는 구조다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 3,
      "neutral_count": 2
    },
    "key_levels": {
      "support": [
        62957.2,
        62527.12,
        62500,
        62235.1,
        62232.1,
        62180,
        61889.84,
        61877.6,
        61665,
        61300,
        61136.55,
        60700,
        60604.3,
        60491.03,
        59447.57,
        59080,
        57758.6
      ],
      "resistance": [
        63069.6,
        63382.62,
        63386.13,
        63450,
        63650,
        64010.46,
        64250,
        64598.76,
        64912.43,
        65024.72,
        65100,
        65613.27,
        67255.4
      ]
    },
    "confluences": [
      "Wyckoff의 SOS 레벨 $62,957.20와 Harmonic bullish Bat D 예상가 $62,956.63이 거의 동일하여 $62,956-$62,957 구간이 핵심 구조 지지로 중첩된다.",
      "Candlestick, Derivatives, ICT가 모두 7일 고점 $63,450.00을 상단 저항 또는 유동성 기준으로 제시한다.",
      "Fibonacci 1.272 확장 $63,382.62와 Harmonic bullish Bat PRZ 상단 $63,386.13이 거의 동일하며, 현재가 $63,115.70은 이 반응 구간 내부에 있다.",
      "ICT 이전일 고가 $63,069.60, 현재가 $63,115.70, Wyckoff SOS $62,957.20가 근접하여 $62,957-$63,116 구간은 구조 지지 확인과 유동성 회수 여부가 겹치는 단기 핵심대다.",
      "EMA120 $62,235.10, ICT 구조 레벨 $62,232.10, Fibonacci 확장 기준 $62,180.00, Harmonic X 가격 $62,315.00이 $62,180-$62,315 지지 클러스터를 형성한다.",
      "EMA20 $61,889.84와 ICT 전일 저가 $61,877.60이 거의 동일하여 $61,878-$61,890 구간은 단기 평균 회귀 지지로 중첩된다.",
      "ICT EQ $60,604.30, Candlestick 7일 범위 EQ $60,604.30, Fibonacci 0.382 되돌림 $60,491.03, Derivatives 하방 유동성 $60,700이 $60,491-$60,700 구간에 집중된다.",
      "Wyckoff Spring 저점 $57,758.60, Candlestick 7일 저점 $57,758.60, ICT range low $57,758.60이 동일하여 전체 bullish 축적 구조의 핵심 무효화 기준이다.",
      "Wyckoff AR/range high $64,250.00, ICT bullish BOS 레벨 $64,250.00, Fibonacci 1.414 확장 $64,010.46이 $64,010-$64,250 상단 구조 관문으로 중첩된다.",
      "EMA240 $65,024.72, Derivatives 상방 유동성 $65,100, Fibonacci 1.618 확장 $64,912.43이 $64,912-$65,100 상위 저항 클러스터를 형성한다."
    ],
    "conflicts": [
      "Wyckoff는 confirmed accumulation, Spring 이후 SOS, Phase D로 구조를 bullish로 판정하지만 Candlestick·Derivatives·ICT는 현재 위치의 실행 셋업을 bearish로 평가한다.",
      "Fibonacci는 상승 스윙 구조가 유지된다고 보면서도 현재가가 Fib 1.272 확장 $63,382.62에 근접해 있어 실행 관점에서는 bearish 되돌림 리스크를 제시한다.",
      "Harmonic은 $62,527.12-$63,386.13의 high-confluence bullish Bat PRZ를 제시하지만, 핵심 후보는 아직 사전 확인 단계이므로 Wyckoff/ICT/파생 구조 판단을 단독으로 뒤집을 권한은 낮다.",
      "ICT는 최근 CHoCH bullish로 단기 구조 전환을 인정하면서도, 현재 가격이 premium zone 및 이전일 고가 $63,069.60 돌파 직후에 있어 buy-side liquidity 흡수 후 실패 조건을 더 강하게 본다.",
      "파생 데이터는 상승 중 OI 감소와 롱 쏠림을 근거로 취약성을 경고하지만, Wyckoff 구조는 여전히 Spring 저점 $57,758.60을 지킨 축적 Phase D로 해석된다."
    ],
    "executive_summary": "BTC/USDT 4시간 구조는 Wyckoff 기준 confirmed accumulation이며, Spring $57,758.60 이후 SOS $62,957.20가 발생한 Phase D 구간으로 진단된다. 현재가 $63,115.70은 SOS를 소폭 상회하지만 AR/range high $64,250.00 및 7일 고점 $63,450.00 아래에 있어, 구조적으로는 bullish이나 아직 Phase E 돌입이나 완전한 상단 수용은 확인되지 않았다. 주요 구조 지지는 $62,957.20, $62,180-$62,315, $61,665.00이며, 상단 구조 관문은 $63,382-$63,450 및 $64,010-$64,250이다. 즉시 실행 조건은 프리미엄 구간, 상단 유동성 접촉, OI 감소, CVD 괴리, 롱 쏠림으로 인해 bearish 되돌림 리스크가 우세하지만 이는 구조 무효화가 아니라 Phase D 내 테스트 조건으로 분류된다. 전체 bullish 축적 구조의 핵심 무효화는 Spring 저점 $57,758.60 하회다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bullish\",\n  \"overall_confidence\": 0.64,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.76,\n    \"active_setups\": [\n      \"프리미엄 구간: 현재가 $63,115.70은 7일 범위 EQ $60,604.30 및 Wyckoff 메인 레인지 EQ 약 $61,665.00 위에 위치\",\n      \"상단 저항 근접: 현재가가 7일 고점 $63,450.00, Fib 1.272 확장 $63,382.62, Harmonic PRZ 상단 $63,386.13 바로 아래에서 거래\",\n      \"ICT 유동성 조건: 이전일 고가 $63,069.60 상향 돌파 후 $63,115.70 부근에서 확장 실패 위험이 존재\",\n      \"파생 포지셔닝 취약성: 가격은 24시간 +0.88% 상승했으나 OI는 -1.8840% 감소하여 신규 레버리지 추세 추종 유입이 부족\",\n      \"롱 쏠림 부담: 롱 계정 비율 0.595, 롱 crowding 0.861이며 동시에 롱 계정 감소와 숏 계정 증가가 관찰\",\n      \"하방 청산 유동성: $62,500, $61,300, $60,700에 연속 유동성이 있으며 $60,700이 가장 강한 청산 레벨\",\n      \"캔들 반전 후보: $63,450.00 저항 직하에서 bearish harami 및 bearish engulfing 후보가 출현, 최고 bearish engulfing 품질 0.644\"\n    ],\n    \"setup_vs_structure\": \"구조는 Wyckoff 축적 Phase D 및 Spring 이후 SOS로 인해 bullish이나, 실행 셋업은 프리미엄 저항·상단 유동성 접촉·파생 취약성 때문에 bearish로 분리된다. 즉, 레짐은 회복/축적 쪽이지만 즉시 실행 환경은 되돌림 또는 상단 실패 조건을 먼저 관리해야 하는 구조다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 3,\n    \"neutral_count\": 2\n  },\n  \"key_levels\": {\n    \"support\": [\n      62957.2,\n      62527.12,\n      62500,\n      62235.1,\n      62232.1,\n      62180,\n      61889.84,\n      61877.6,\n      61665,\n      61300,\n      61136.55,\n      60700,\n      60604.3,\n      60491.03,\n      59447.57,\n      59080,\n      57758.6\n    ],\n    \"resistance\": [\n      63069.6,\n      63382.62,\n      63386.13,\n      63450,\n      63650,\n      64010.46,\n      64250,\n      64598.76,\n      64912.43,\n      65024.72,\n      65100,\n      65613.27,\n      67255.4\n    ]\n  },\n  \"confluences\": [\n    \"Wyckoff의 SOS 레벨 $62,957.20와 Harmonic bullish Bat D 예상가 $62,956.63이 거의 동일하여 $62,956-$62,957 구간이 핵심 구조 지지로 중첩된다.\",\n    \"Candlestick, Derivatives, ICT가 모두 7일 고점 $63,450.00을 상단 저항 또는 유동성 기준으로 제시한다.\",\n    \"Fibonacci 1.272 확장 $63,382.62와 Harmonic bullish Bat PRZ 상단 $63,386.13이 거의 동일하며, 현재가 $63,115.70은 이 반응 구간 내부에 있다.\",\n    \"ICT 이전일 고가 $63,069.60, 현재가 $63,115.70, Wyckoff SOS $62,957.20가 근접하여 $62,957-$63,116 구간은 구조 지지 확인과 유동성 회수 여부가 겹치는 단기 핵심대다.\",\n    \"EMA120 $62,235.10, ICT 구조 레벨 $62,232.10, Fibonacci 확장 기준 $62,180.00, Harmonic X 가격 $62,315.00이 $62,180-$62,315 지지 클러스터를 형성한다.\",\n    \"EMA20 $61,889.84와 ICT 전일 저가 $61,877.60이 거의 동일하여 $61,878-$61,890 구간은 단기 평균 회귀 지지로 중첩된다.\",\n    \"ICT EQ $60,604.30, Candlestick 7일 범위 EQ $60,604.30, Fibonacci 0.382 되돌림 $60,491.03, Derivatives 하방 유동성 $60,700이 $60,491-$60,700 구간에 집중된다.\",\n    \"Wyckoff Spring 저점 $57,758.60, Candlestick 7일 저점 $57,758.60, ICT range low $57,758.60이 동일하여 전체 bullish 축적 구조의 핵심 무효화 기준이다.\",\n    \"Wyckoff AR/range high $64,250.00, ICT bullish BOS 레벨 $64,250.00, Fibonacci 1.414 확장 $64,010.46이 $64,010-$64,250 상단 구조 관문으로 중첩된다.\",\n    \"EMA240 $65,024.72, Derivatives 상방 유동성 $65,100, Fibonacci 1.618 확장 $64,912.43이 $64,912-$65,100 상위 저항 클러스터를 형성한다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 confirmed accumulation, Spring 이후 SOS, Phase D로 구조를 bullish로 판정하지만 Candlestick·Derivatives·ICT는 현재 위치의 실행 셋업을 bearish로 평가한다.\",\n    \"Fibonacci는 상승 스윙 구조가 유지된다고 보면서도 현재가가 Fib 1.272 확장 $63,382.62에 근접해 있어 실행 관점에서는 bearish 되돌림 리스크를 제시한다.\",\n    \"Harmonic은 $62,527.12-$63,386.13의 high-confluence bullish Bat PRZ를 제시하지만, 핵심 후보는 아직 사전 확인 단계이므로 Wyckoff/ICT/파생 구조 판단을 단독으로 뒤집을 권한은 낮다.\",\n    \"ICT는 최근 CHoCH bullish로 단기 구조 전환을 인정하면서도, 현재 가격이 premium zone 및 이전일 고가 $63,069.60 돌파 직후에 있어 buy-side liquidity 흡수 후 실패 조건을 더 강하게 본다.\",\n    \"파생 데이터는 상승 중 OI 감소와 롱 쏠림을 근거로 취약성을 경고하지만, Wyckoff 구조는 여전히 Spring 저점 $57,758.60을 지킨 축적 Phase D로 해석된다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — acc_score 88.8, regime fitness 0.888의 확인된 축적 구조이며, SC $59,080.00 → AR $64,250.00 → ST $63,650.00 → Spring $57,758.60 → SOS $62,957.20의 이벤트 체인이 완성되어 구조적 설명력이 가장 높다. 특히 현재 시장을 Phase D, SOS 직후의 LPS/테스트 가능 구간으로 분리해 구조와 실행 리스크를 명확히 구분한다.\",\n  \"invalidation_level\": \"$57,758.60 하회 시 Spring 저점이 무너져 현재의 bullish 축적 Phase D 해석은 핵심적으로 무효화된다. 그 전에는 $62,957.20 이탈과 $61,665.00 EQ 회귀가 구조 약화 조건이다.\",\n  \"executive_summary\": \"BTC/USDT 4시간 구조는 Wyckoff 기준 confirmed accumulation이며, Spring $57,758.60 이후 SOS $62,957.20가 발생한 Phase D 구간으로 진단된다. 현재가 $63,115.70은 SOS를 소폭 상회하지만 AR/range high $64,250.00 및 7일 고점 $63,450.00 아래에 있어, 구조적으로는 bullish이나 아직 Phase E 돌입이나 완전한 상단 수용은 확인되지 않았다. 주요 구조 지지는 $62,957.20, $62,180-$62,315, $61,665.00이며, 상단 구조 관문은 $63,382-$63,450 및 $64,010-$64,250이다. 즉시 실행 조건은 프리미엄 구간, 상단 유동성 접촉, OI 감소, CVD 괴리, 롱 쏠림으로 인해 bearish 되돌림 리스크가 우세하지만 이는 구조 무효화가 아니라 Phase D 내 테스트 조건으로 분류된다. 전체 bullish 축적 구조의 핵심 무효화는 Spring 저점 $57,758.60 하회다.\"\n}"
  },
  "overall_signal": "bullish",
  "overall_confidence": 0.64,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.6,
    "key_insight": "구조는 Wyckoff 축적 Phase D로 bullish(64%)이나 실행 셋업이 76% 베어리시(프리미엄 구간·상단 저항 근접·OI 감소·롱 쏠림·CVD 괴리)로 분리된다. 따라서 24시간 경로는 '① 먼저 하방 LPS 테스트($62,180-$62,315) → ② 구조적 bullish 재개(SOS $62,957 재탈환) → ③ 상단 관문 $63,382 재테스트'의 복합 경로다. 저점이 먼저 오고, 상단 회복이 나중에 온다. 셋업 강도가 0.7을 넘는 고확신 사전 셋업이므로 첫 웨이포인트는 구조 방향이 아닌 셋업 방향(하방)을 따른다.",
    "waypoints": [
      {
        "seq": 1,
        "price": 62180.0,
        "type": "swing_low",
        "source": "Fibonacci($62,180) + Candlestick(EMA120 $62,235.10) + ICT($62,232.10) + Harmonic(X $62,315) + Derivatives(청산 $62,500)",
        "description": "실행 셋업이 76% 베어리시로 우세하므로 즉시 primary move는 하방 테스트다. SOS $62,957.20와 $62,500 청산 유동성을 하향 이탈하며 $62,180-$62,315 5중 컨플루언스(EMA120 $62,235.10·ICT $62,232.10·Fib $62,180·Harmonic X $62,315)까지 되돌린다. 이는 Wyckoff Phase D의 LPS 성격 테스트로, 구조 무효화가 아닌 축적 내 되돌림이다.",
        "est_hours": 7.0,
        "turning_zone": [
          61877.6,
          62180.0
        ],
        "likely_wick": 62080.0,
        "rejection_confirm": 62527.12,
        "invalid_overshoot": 61665.0,
        "calibration_reasoning": "5중 컨플루언스 하단인 Fib $62,180과 EMA120 $62,235.10·ICT $62,232.10이 존 상단을 고정하고, 하단은 0.42×ATR 지점의 Chairman 지지·청산 유동성 클러스터($61,889.84/$61,877.60)까지 확장. likely_wick $62,080은 Fib 하방을 얕게 스윕하며 $62,000 라운드 매그넷을 향하는 지점이고, 반등 확인은 이탈했던 $62,500(=Chairman $62,527.12) 재탈환, 무효화는 축적 구조가 붕괴되는 $61,665 하향 이탈."
      },
      {
        "seq": 2,
        "price": 62957.2,
        "type": "support_test",
        "source": "Wyckoff(SOS $62,957.20) + Harmonic(Bat D $62,956.63) + ICT(SOS 근접)",
        "description": "$62,180-$62,315 컨플루언스가 LPS로 방어되면 구조적 bullish가 재개된다. Wyckoff SOS $62,957.20(Harmonic Bat D $62,956.63와 $62,956-$62,957로 중첩)를 재탈환하고 지지로 백테스트하는 구간으로, LPS→마크업 전환을 확인하는 롱 재진입 기준점이다.",
        "est_hours": 15.0,
        "turning_zone": [
          62670.0,
          62957.2
        ],
        "likely_wick": 62880.0,
        "rejection_confirm": 63069.6,
        "invalid_overshoot": 62527.12,
        "calibration_reasoning": "Wyckoff SOS $62,957.20가 재탈환 지지선을 정의하며 Harmonic Bat D $62,956.63가 중첩되나, 해당 하모닉은 PRE_CONFIRMATION이므로 존을 이동시키지 않고 컨플루언스 보강용으로만 사용. 백테스트 존은 0.4×ATR 하방으로 잡고 likely_wick $62,880은 지지 상단을 얕게 되돌리는 지점. 마크업 재개 확인은 $63,069.60(Chairman 저항) 상향 돌파, 재탈환 실패(무효화)는 레인지 중단 지지 $62,527.12 하향 이탈."
      },
      {
        "seq": 3,
        "price": 63382.0,
        "type": "resistance_test",
        "source": "Fibonacci(1.272 확장 $63,382.62) + Harmonic(PRZ 상단 $63,386.13) + Candlestick/ICT(7일 고점 $63,450.00)",
        "description": "SOS 재탈환 후 상단 구조 관문 재테스트. Fib 1.272 확장 $63,382.62와 Harmonic PRZ 상단 $63,386.13이 중첩되고 7일 고점 $63,450.00 바로 아래다. 캔들 bearish 후보(engulfing 0.644)가 출현했던 저항권이므로 명확한 돌파·수용 전까지는 저항으로 취급한다.",
        "est_hours": 23.0,
        "turning_zone": [
          63382.0,
          63760.0
        ],
        "likely_wick": 63500.0,
        "rejection_confirm": 63069.6,
        "invalid_overshoot": 64010.46,
        "calibration_reasoning": "Fib 1.272 $63,382.62와 Harmonic PRZ 상단 $63,386.13이 존 하단을 고정하고, 터미널 웨이포인트이므로 0.53×ATR로 확대하여 7일 고점 $63,450 유동성과 Chairman $63,650을 존 내부에 포함. likely_wick $63,500은 7일 고점 위 매수 스톱을 스윕하는 라운드 매그넷 지점. 거부 확인은 $63,069.60 하향 이탈, 무효화(저항→돌파 수용 전환)는 $64,000 라운드+Fib가 겹치는 $64,010.46 상향 수용이며, 하모닉 TP 래더는 PRE_CONFIRMATION이라 타깃 앵커로 사용하지 않음."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 63200.0,
        "expected_low": 62500.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 63200.0,
        "expected_low": 62180.0,
        "high_first": true
      },
      "24h": {
        "expected_high": 63382.0,
        "expected_low": 62180.0,
        "high_first": false
      }
    },
    "triggers": {
      "bullish": {
        "price": 63450.0,
        "description": "7일 고점 $63,450.00(Fib 1.272 $63,382.62 / Harmonic PRZ 상단 $63,386.13 위) 돌파 및 수용 시 베어리시 셋업 무효화 → Phase E 마크업 개시, $64,010-$64,250 상단 관문 목표."
      },
      "bearish": {
        "price": 61878.0,
        "description": "$61,878(EMA20 $61,889.84 / ICT 전일 저가 $61,877.60) 결정적 하회 시 LPS 실패 → $61,665 메인 레인지 EQ 및 $61,300 청산 유동성으로 하방 가속, 셋업이 방어적으로 전환."
      }
    },
    "scenario_invalidation": 61300.0,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.6,\n  \"key_insight\": \"구조는 Wyckoff 축적 Phase D로 bullish(64%)이나 실행 셋업이 76% 베어리시(프리미엄 구간·상단 저항 근접·OI 감소·롱 쏠림·CVD 괴리)로 분리된다. 따라서 24시간 경로는 '① 먼저 하방 LPS 테스트($62,180-$62,315) → ② 구조적 bullish 재개(SOS $62,957 재탈환) → ③ 상단 관문 $63,382 재테스트'의 복합 경로다. 저점이 먼저 오고, 상단 회복이 나중에 온다. 셋업 강도가 0.7을 넘는 고확신 사전 셋업이므로 첫 웨이포인트는 구조 방향이 아닌 셋업 방향(하방)을 따른다.\",\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 62180.0,\n      \"type\": \"swing_low\",\n      \"source\": \"Fibonacci($62,180) + Candlestick(EMA120 $62,235.10) + ICT($62,232.10) + Harmonic(X $62,315) + Derivatives(청산 $62,500)\",\n      \"description\": \"실행 셋업이 76% 베어리시로 우세하므로 즉시 primary move는 하방 테스트다. SOS $62,957.20와 $62,500 청산 유동성을 하향 이탈하며 $62,180-$62,315 5중 컨플루언스(EMA120 $62,235.10·ICT $62,232.10·Fib $62,180·Harmonic X $62,315)까지 되돌린다. 이는 Wyckoff Phase D의 LPS 성격 테스트로, 구조 무효화가 아닌 축적 내 되돌림이다.\",\n      \"est_hours\": 7.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 62957.2,\n      \"type\": \"support_test\",\n      \"source\": \"Wyckoff(SOS $62,957.20) + Harmonic(Bat D $62,956.63) + ICT(SOS 근접)\",\n      \"description\": \"$62,180-$62,315 컨플루언스가 LPS로 방어되면 구조적 bullish가 재개된다. Wyckoff SOS $62,957.20(Harmonic Bat D $62,956.63와 $62,956-$62,957로 중첩)를 재탈환하고 지지로 백테스트하는 구간으로, LPS→마크업 전환을 확인하는 롱 재진입 기준점이다.\",\n      \"est_hours\": 15.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 63382.0,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci(1.272 확장 $63,382.62) + Harmonic(PRZ 상단 $63,386.13) + Candlestick/ICT(7일 고점 $63,450.00)\",\n      \"description\": \"SOS 재탈환 후 상단 구조 관문 재테스트. Fib 1.272 확장 $63,382.62와 Harmonic PRZ 상단 $63,386.13이 중첩되고 7일 고점 $63,450.00 바로 아래다. 캔들 bearish 후보(engulfing 0.644)가 출현했던 저항권이므로 명확한 돌파·수용 전까지는 저항으로 취급한다.\",\n      \"est_hours\": 23.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 63200.0, \"expected_low\": 62500.0, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 63200.0, \"expected_low\": 62180.0, \"high_first\": true},\n    \"24h\": {\"expected_high\": 63382.0, \"expected_low\": 62180.0, \"high_first\": false}\n  },\n  \"triggers\": {\n    \"bullish\": {\n      \"price\": 63450.0,\n      \"description\": \"7일 고점 $63,450.00(Fib 1.272 $63,382.62 / Harmonic PRZ 상단 $63,386.13 위) 돌파 및 수용 시 베어리시 셋업 무효화 → Phase E 마크업 개시, $64,010-$64,250 상단 관문 목표.\"\n    },\n    \"bearish\": {\n      \"price\": 61878.0,\n      \"description\": \"$61,878(EMA20 $61,889.84 / ICT 전일 저가 $61,877.60) 결정적 하회 시 LPS 실패 → $61,665 메인 레인지 EQ 및 $61,300 청산 유동성으로 하방 가속, 셋업이 방어적으로 전환.\"\n    }\n  },\n  \"scenario_invalidation\": 61300.0\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 62180.0,
        "turning_zone": [
          61877.6,
          62180.0
        ],
        "likely_wick": 62080.0,
        "rejection_confirm": 62527.12,
        "invalid_overshoot": 61665.0,
        "calibration_reasoning": "5중 컨플루언스 하단인 Fib $62,180과 EMA120 $62,235.10·ICT $62,232.10이 존 상단을 고정하고, 하단은 0.42×ATR 지점의 Chairman 지지·청산 유동성 클러스터($61,889.84/$61,877.60)까지 확장. likely_wick $62,080은 Fib 하방을 얕게 스윕하며 $62,000 라운드 매그넷을 향하는 지점이고, 반등 확인은 이탈했던 $62,500(=Chairman $62,527.12) 재탈환, 무효화는 축적 구조가 붕괴되는 $61,665 하향 이탈."
      },
      {
        "seq": 2,
        "base_target": 62957.2,
        "turning_zone": [
          62670.0,
          62957.2
        ],
        "likely_wick": 62880.0,
        "rejection_confirm": 63069.6,
        "invalid_overshoot": 62527.12,
        "calibration_reasoning": "Wyckoff SOS $62,957.20가 재탈환 지지선을 정의하며 Harmonic Bat D $62,956.63가 중첩되나, 해당 하모닉은 PRE_CONFIRMATION이므로 존을 이동시키지 않고 컨플루언스 보강용으로만 사용. 백테스트 존은 0.4×ATR 하방으로 잡고 likely_wick $62,880은 지지 상단을 얕게 되돌리는 지점. 마크업 재개 확인은 $63,069.60(Chairman 저항) 상향 돌파, 재탈환 실패(무효화)는 레인지 중단 지지 $62,527.12 하향 이탈."
      },
      {
        "seq": 3,
        "base_target": 63382.0,
        "turning_zone": [
          63382.0,
          63760.0
        ],
        "likely_wick": 63500.0,
        "rejection_confirm": 63069.6,
        "invalid_overshoot": 64010.46,
        "calibration_reasoning": "Fib 1.272 $63,382.62와 Harmonic PRZ 상단 $63,386.13이 존 하단을 고정하고, 터미널 웨이포인트이므로 0.53×ATR로 확대하여 7일 고점 $63,450 유동성과 Chairman $63,650을 존 내부에 포함. likely_wick $63,500은 7일 고점 위 매수 스톱을 스윕하는 라운드 매그넷 지점. 거부 확인은 $63,069.60 하향 이탈, 무효화(저항→돌파 수용 전환)는 $64,000 라운드+Fib가 겹치는 $64,010.46 상향 수용이며, 하모닉 TP 래더는 PRE_CONFIRMATION이라 타깃 앵커로 사용하지 않음."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 62180.00,\n      \"turning_zone\": [61877.60, 62180.00],\n      \"likely_wick\": 62080.00,\n      \"rejection_confirm\": 62527.12,\n      \"invalid_overshoot\": 61665.00,\n      \"calibration_reasoning\": \"5중 컨플루언스 하단인 Fib $62,180과 EMA120 $62,235.10·ICT $62,232.10이 존 상단을 고정하고, 하단은 0.42×ATR 지점의 Chairman 지지·청산 유동성 클러스터($61,889.84/$61,877.60)까지 확장. likely_wick $62,080은 Fib 하방을 얕게 스윕하며 $62,000 라운드 매그넷을 향하는 지점이고, 반등 확인은 이탈했던 $62,500(=Chairman $62,527.12) 재탈환, 무효화는 축적 구조가 붕괴되는 $61,665 하향 이탈.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 62957.20,\n      \"turning_zone\": [62670.00, 62957.20],\n      \"likely_wick\": 62880.00,\n      \"rejection_confirm\": 63069.60,\n      \"invalid_overshoot\": 62527.12,\n      \"calibration_reasoning\": \"Wyckoff SOS $62,957.20가 재탈환 지지선을 정의하며 Harmonic Bat D $62,956.63가 중첩되나, 해당 하모닉은 PRE_CONFIRMATION이므로 존을 이동시키지 않고 컨플루언스 보강용으로만 사용. 백테스트 존은 0.4×ATR 하방으로 잡고 likely_wick $62,880은 지지 상단을 얕게 되돌리는 지점. 마크업 재개 확인은 $63,069.60(Chairman 저항) 상향 돌파, 재탈환 실패(무효화)는 레인지 중단 지지 $62,527.12 하향 이탈.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 63382.00,\n      \"turning_zone\": [63382.00, 63760.00],\n      \"likely_wick\": 63500.00,\n      \"rejection_confirm\": 63069.60,\n      \"invalid_overshoot\": 64010.46,\n      \"calibration_reasoning\": \"Fib 1.272 $63,382.62와 Harmonic PRZ 상단 $63,386.13이 존 하단을 고정하고, 터미널 웨이포인트이므로 0.53×ATR로 확대하여 7일 고점 $63,450 유동성과 Chairman $63,650을 존 내부에 포함. likely_wick $63,500은 7일 고점 위 매수 스톱을 스윕하는 라운드 매그넷 지점. 거부 확인은 $63,069.60 하향 이탈, 무효화(저항→돌파 수용 전환)는 $64,000 라운드+Fib가 겹치는 $64,010.46 상향 수용이며, 하모닉 TP 래더는 PRE_CONFIRMATION이라 타깃 앵커로 사용하지 않음.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 50.0,
      "chairman": 91.3,
      "operating_path": 438.6,
      "tp_calibrator": 209.6
    },
    "agents": {},
    "total_s": 789.6
  }
}