{
  "timestamp": "2026-09-30 11:47:11",
  "timestamp_iso": "2026-09-30T11:47:11+07:00",
  "source": "TradingView",
  "feature_schema_version": "2.0",
  "scan_mode": "market-wide-auto-capable",
  "market_open": true,
  "snapshot_phase": "LIVE",
  "market_context": {
    "symbol": "COMPOSITE",
    "price": 6135.056,
    "change_pct": 0.218,
    "rsi": 33.051,
    "adx": 30.332,
    "perf_week_pct": -2.587,
    "perf_month_pct": -5.776,
    "above_sma20": false,
    "above_sma50": false,
    "regime": "NEUTRAL",
    "usage": "research_feature_only"
  },
  "universe_count": 822,
  "candidate_count": 2,
  "display_count": 2,
  "rejected_count": 13,
  "entered_tickers": [
    "AMRT",
    "BINA"
  ],
  "exited_tickers": [],
  "confirm_lock": {
    "scope": "CURRENT_SESSION",
    "tickers": [],
    "new_tickers": [],
    "count": 0,
    "note": "Ticker tetap tampil setelah pertama kali berstatus CONFIRM selama sesi berjalan; quote dan metrik terbaru tetap dapat berubah."
  },
  "signals": [
    {
      "ticker": "BINA",
      "price": 4190.0,
      "change_pct": 2.44,
      "status": "NEAR",
      "score": 45.2,
      "vol_ratio": 4.3,
      "vol_ratio_daily": 1.2,
      "vol_ratio_intraday": 4.3,
      "break_margin_pct": -2.331,
      "swing_high": 4290.0,
      "dist_sma50_pct": 1.507,
      "downtrend_below_pct": 100.0,
      "prior_downtrend": true,
      "downtrend_proxy": "SMA20_BELOW_SMA50",
      "sma20": 4098.0,
      "sma50": 4127.8,
      "avg_value": 2622018200.0,
      "technical_features": {
        "sector": "Finance",
        "industry": "Major Banks",
        "rsi_1d": 57.262,
        "adx_1d": 22.241,
        "plus_di_1d": 20.152,
        "minus_di_1d": 9.134,
        "di_spread_1d": 11.018,
        "atr_pct_1d": 2.731,
        "vwap_distance_pct": 0.964,
        "macd_gap_pct": 0.098,
        "sma20_distance_pct": 2.245,
        "sma50_distance_pct": 1.507,
        "trend_stack_1d": false,
        "perf_week_pct": 3.457,
        "perf_month_pct": 1.453,
        "distance_to_1m_high_pct": -2.331,
        "distance_to_52w_high_pct": -4.773,
        "gap_from_previous_close_pct": 0.0,
        "close_position_pct": 83.33,
        "body_to_range_pct": 55.56,
        "upper_wick_pct": 16.67,
        "volume_ratio_daily": 1.2,
        "volume_ratio_intraday": 4.301,
        "value_traded": 3145433000.0,
        "ihsg_change_pct": 0.218,
        "ihsg_rsi_1d": 33.051,
        "ihsg_adx_1d": 30.332,
        "ihsg_perf_week_pct": -2.587,
        "ihsg_perf_month_pct": -5.776,
        "ihsg_regime": "NEUTRAL",
        "feature_available_count": 15,
        "feature_required_count": 15,
        "feature_completeness_pct": 100.0,
        "signal_class": "NEAR",
        "prior_downtrend": true,
        "downtrend_proxy": "SMA20_BELOW_SMA50",
        "perf_3m_pct": 0.964,
        "break_margin_pct": -2.331,
        "dist_sma50_pct": 1.507,
        "swing_high": 4290.0
      },
      "quality_protocol": {
        "id": "quality_85_protocol",
        "label": "Sukses",
        "score": 92,
        "target_score": 85,
        "passed": true,
        "passed_factors": 11,
        "factor_count": 12,
        "failed_factors": [
          "Harga > SMA20 > SMA50"
        ],
        "factors": [
          {
            "id": "healthy_move",
            "label": "Kenaikan sehat +1% s/d <12%",
            "passed": true,
            "value": 2.444987775061125
          },
          {
            "id": "active_volume",
            "label": "RVOL intraday \u22651,5x",
            "passed": true,
            "value": 4.300649239575503
          },
          {
            "id": "liquidity",
            "label": "Nilai transaksi \u2265Rp2 miliar",
            "passed": true,
            "value": 3145433000.0
          },
          {
            "id": "healthy_rsi",
            "label": "RSI 1D 50\u201368",
            "passed": true,
            "value": 57.262
          },
          {
            "id": "trend_strength",
            "label": "ADX 1D \u226520",
            "passed": true,
            "value": 22.241
          },
          {
            "id": "buyer_direction",
            "label": "+DI lebih kuat dari -DI",
            "passed": true,
            "value": 11.018
          },
          {
            "id": "trend_stack",
            "label": "Harga > SMA20 > SMA50",
            "passed": false,
            "value": false
          },
          {
            "id": "vwap_control",
            "label": "Di atas VWAP, tidak lebih dari +5%",
            "passed": true,
            "value": 0.964
          },
          {
            "id": "controlled_atr",
            "label": "ATR 1D 1,5\u20136%",
            "passed": true,
            "value": 2.731
          },
          {
            "id": "strong_close",
            "label": "Close kuat dan upper wick \u226435%",
            "passed": true,
            "value": {
              "close_position_pct": 83.33,
              "upper_wick_pct": 16.67
            }
          },
          {
            "id": "market_alignment",
            "label": "IHSG tidak bearish",
            "passed": true,
            "value": "NEUTRAL"
          },
          {
            "id": "not_extended",
            "label": "Jarak SMA20 -2% s/d +8%",
            "passed": true,
            "value": 2.245
          }
        ],
        "interpretation": "Skor kualitas screening, bukan winrate dan bukan SIAP ENTRY."
      },
      "screening_status": "KANDIDAT FULL PA",
      "screening_reasons": [
        "Belum close breakout; hanya kandidat pemantauan"
      ],
      "selection_score": 45.2,
      "selection_rank": 1,
      "detected_at": "2026-09-30T11:47:11+07:00",
      "detected_date": "2026-09-30",
      "detected_time": "11:47:11",
      "detected_price": 4190.0,
      "entered_at": "2026-09-30T11:47:11+07:00",
      "entry_price": 4190.0,
      "is_new": true,
      "retained_today": false,
      "currently_qualified": true,
      "detection_phase": "LIVE",
      "confirm_locked": false
    },
    {
      "ticker": "AMRT",
      "price": 1335.0,
      "change_pct": 1.14,
      "status": "NEAR",
      "score": 11.6,
      "vol_ratio": 1.93,
      "vol_ratio_daily": 0.56,
      "vol_ratio_intraday": 1.93,
      "break_margin_pct": -1.838,
      "swing_high": 1360.0,
      "dist_sma50_pct": -0.625,
      "downtrend_below_pct": 100.0,
      "prior_downtrend": true,
      "downtrend_proxy": "SMA20_BELOW_SMA50",
      "sma20": 1306.5,
      "sma50": 1343.4,
      "avg_value": 46767306150.0,
      "technical_features": {
        "sector": "Retail Trade",
        "industry": "Food Retail",
        "rsi_1d": 52.598,
        "adx_1d": 12.324,
        "plus_di_1d": 20.334,
        "minus_di_1d": 19.987,
        "di_spread_1d": 0.347,
        "atr_pct_1d": 2.755,
        "vwap_distance_pct": -0.249,
        "macd_gap_pct": 0.4373,
        "sma20_distance_pct": 2.181,
        "sma50_distance_pct": -0.625,
        "trend_stack_1d": false,
        "perf_week_pct": 1.521,
        "perf_month_pct": -0.743,
        "distance_to_1m_high_pct": -1.838,
        "distance_to_52w_high_pct": -8.247,
        "gap_from_previous_close_pct": 0.379,
        "close_position_pct": 33.33,
        "body_to_range_pct": 33.33,
        "upper_wick_pct": 66.67,
        "volume_ratio_daily": 0.56,
        "volume_ratio_intraday": 1.93,
        "value_traded": 26199909000.0,
        "ihsg_change_pct": 0.218,
        "ihsg_rsi_1d": 33.051,
        "ihsg_adx_1d": 30.332,
        "ihsg_perf_week_pct": -2.587,
        "ihsg_perf_month_pct": -5.776,
        "ihsg_regime": "NEUTRAL",
        "feature_available_count": 15,
        "feature_required_count": 15,
        "feature_completeness_pct": 100.0,
        "signal_class": "NEAR",
        "prior_downtrend": true,
        "downtrend_proxy": "SMA20_BELOW_SMA50",
        "perf_3m_pct": -3.261,
        "break_margin_pct": -1.838,
        "dist_sma50_pct": -0.625,
        "swing_high": 1360.0
      },
      "quality_protocol": {
        "id": "quality_85_protocol",
        "label": "Sukses",
        "score": 67,
        "target_score": 85,
        "passed": false,
        "passed_factors": 8,
        "factor_count": 12,
        "failed_factors": [
          "ADX 1D \u226520",
          "Harga > SMA20 > SMA50",
          "Di atas VWAP, tidak lebih dari +5%",
          "Close kuat dan upper wick \u226435%"
        ],
        "factors": [
          {
            "id": "healthy_move",
            "label": "Kenaikan sehat +1% s/d <12%",
            "passed": true,
            "value": 1.1363636363636365
          },
          {
            "id": "active_volume",
            "label": "RVOL intraday \u22651,5x",
            "passed": true,
            "value": 1.9304030146173672
          },
          {
            "id": "liquidity",
            "label": "Nilai transaksi \u2265Rp2 miliar",
            "passed": true,
            "value": 26199909000.0
          },
          {
            "id": "healthy_rsi",
            "label": "RSI 1D 50\u201368",
            "passed": true,
            "value": 52.598
          },
          {
            "id": "trend_strength",
            "label": "ADX 1D \u226520",
            "passed": false,
            "value": 12.324
          },
          {
            "id": "buyer_direction",
            "label": "+DI lebih kuat dari -DI",
            "passed": true,
            "value": 0.347
          },
          {
            "id": "trend_stack",
            "label": "Harga > SMA20 > SMA50",
            "passed": false,
            "value": false
          },
          {
            "id": "vwap_control",
            "label": "Di atas VWAP, tidak lebih dari +5%",
            "passed": false,
            "value": -0.249
          },
          {
            "id": "controlled_atr",
            "label": "ATR 1D 1,5\u20136%",
            "passed": true,
            "value": 2.755
          },
          {
            "id": "strong_close",
            "label": "Close kuat dan upper wick \u226435%",
            "passed": false,
            "value": {
              "close_position_pct": 33.33,
              "upper_wick_pct": 66.67
            }
          },
          {
            "id": "market_alignment",
            "label": "IHSG tidak bearish",
            "passed": true,
            "value": "NEUTRAL"
          },
          {
            "id": "not_extended",
            "label": "Jarak SMA20 -2% s/d +8%",
            "passed": true,
            "value": 2.181
          }
        ],
        "interpretation": "Skor kualitas screening, bukan winrate dan bukan SIAP ENTRY."
      },
      "screening_status": "KANDIDAT FULL PA",
      "screening_reasons": [
        "Belum close breakout; hanya kandidat pemantauan"
      ],
      "selection_score": 11.6,
      "selection_rank": 2,
      "detected_at": "2026-09-30T11:47:11+07:00",
      "detected_date": "2026-09-30",
      "detected_time": "11:47:11",
      "detected_price": 1335.0,
      "entered_at": "2026-09-30T11:47:11+07:00",
      "entry_price": 1335.0,
      "is_new": true,
      "retained_today": false,
      "currently_qualified": true,
      "detection_phase": "LIVE",
      "confirm_locked": false
    }
  ],
  "all_qualified_signals": [
    {
      "ticker": "BINA",
      "price": 4190.0,
      "change_pct": 2.44,
      "status": "NEAR",
      "score": 45.2,
      "vol_ratio": 4.3,
      "vol_ratio_daily": 1.2,
      "vol_ratio_intraday": 4.3,
      "break_margin_pct": -2.331,
      "swing_high": 4290.0,
      "dist_sma50_pct": 1.507,
      "downtrend_below_pct": 100.0,
      "prior_downtrend": true,
      "downtrend_proxy": "SMA20_BELOW_SMA50",
      "sma20": 4098.0,
      "sma50": 4127.8,
      "avg_value": 2622018200.0,
      "technical_features": {
        "sector": "Finance",
        "industry": "Major Banks",
        "rsi_1d": 57.262,
        "adx_1d": 22.241,
        "plus_di_1d": 20.152,
        "minus_di_1d": 9.134,
        "di_spread_1d": 11.018,
        "atr_pct_1d": 2.731,
        "vwap_distance_pct": 0.964,
        "macd_gap_pct": 0.098,
        "sma20_distance_pct": 2.245,
        "sma50_distance_pct": 1.507,
        "trend_stack_1d": false,
        "perf_week_pct": 3.457,
        "perf_month_pct": 1.453,
        "distance_to_1m_high_pct": -2.331,
        "distance_to_52w_high_pct": -4.773,
        "gap_from_previous_close_pct": 0.0,
        "close_position_pct": 83.33,
        "body_to_range_pct": 55.56,
        "upper_wick_pct": 16.67,
        "volume_ratio_daily": 1.2,
        "volume_ratio_intraday": 4.301,
        "value_traded": 3145433000.0,
        "ihsg_change_pct": 0.218,
        "ihsg_rsi_1d": 33.051,
        "ihsg_adx_1d": 30.332,
        "ihsg_perf_week_pct": -2.587,
        "ihsg_perf_month_pct": -5.776,
        "ihsg_regime": "NEUTRAL",
        "feature_available_count": 15,
        "feature_required_count": 15,
        "feature_completeness_pct": 100.0,
        "signal_class": "NEAR",
        "prior_downtrend": true,
        "downtrend_proxy": "SMA20_BELOW_SMA50",
        "perf_3m_pct": 0.964,
        "break_margin_pct": -2.331,
        "dist_sma50_pct": 1.507,
        "swing_high": 4290.0
      },
      "quality_protocol": {
        "id": "quality_85_protocol",
        "label": "Sukses",
        "score": 92,
        "target_score": 85,
        "passed": true,
        "passed_factors": 11,
        "factor_count": 12,
        "failed_factors": [
          "Harga > SMA20 > SMA50"
        ],
        "factors": [
          {
            "id": "healthy_move",
            "label": "Kenaikan sehat +1% s/d <12%",
            "passed": true,
            "value": 2.444987775061125
          },
          {
            "id": "active_volume",
            "label": "RVOL intraday \u22651,5x",
            "passed": true,
            "value": 4.300649239575503
          },
          {
            "id": "liquidity",
            "label": "Nilai transaksi \u2265Rp2 miliar",
            "passed": true,
            "value": 3145433000.0
          },
          {
            "id": "healthy_rsi",
            "label": "RSI 1D 50\u201368",
            "passed": true,
            "value": 57.262
          },
          {
            "id": "trend_strength",
            "label": "ADX 1D \u226520",
            "passed": true,
            "value": 22.241
          },
          {
            "id": "buyer_direction",
            "label": "+DI lebih kuat dari -DI",
            "passed": true,
            "value": 11.018
          },
          {
            "id": "trend_stack",
            "label": "Harga > SMA20 > SMA50",
            "passed": false,
            "value": false
          },
          {
            "id": "vwap_control",
            "label": "Di atas VWAP, tidak lebih dari +5%",
            "passed": true,
            "value": 0.964
          },
          {
            "id": "controlled_atr",
            "label": "ATR 1D 1,5\u20136%",
            "passed": true,
            "value": 2.731
          },
          {
            "id": "strong_close",
            "label": "Close kuat dan upper wick \u226435%",
            "passed": true,
            "value": {
              "close_position_pct": 83.33,
              "upper_wick_pct": 16.67
            }
          },
          {
            "id": "market_alignment",
            "label": "IHSG tidak bearish",
            "passed": true,
            "value": "NEUTRAL"
          },
          {
            "id": "not_extended",
            "label": "Jarak SMA20 -2% s/d +8%",
            "passed": true,
            "value": 2.245
          }
        ],
        "interpretation": "Skor kualitas screening, bukan winrate dan bukan SIAP ENTRY."
      },
      "screening_status": "KANDIDAT FULL PA",
      "screening_reasons": [
        "Belum close breakout; hanya kandidat pemantauan"
      ],
      "selection_score": 45.2,
      "selection_rank": 1,
      "detected_at": "2026-09-30T11:47:11+07:00",
      "detected_date": "2026-09-30",
      "detected_time": "11:47:11",
      "detected_price": 4190.0,
      "entered_at": "2026-09-30T11:47:11+07:00",
      "entry_price": 4190.0,
      "is_new": true,
      "retained_today": false,
      "currently_qualified": true,
      "detection_phase": "LIVE",
      "confirm_locked": false
    },
    {
      "ticker": "AMRT",
      "price": 1335.0,
      "change_pct": 1.14,
      "status": "NEAR",
      "score": 11.6,
      "vol_ratio": 1.93,
      "vol_ratio_daily": 0.56,
      "vol_ratio_intraday": 1.93,
      "break_margin_pct": -1.838,
      "swing_high": 1360.0,
      "dist_sma50_pct": -0.625,
      "downtrend_below_pct": 100.0,
      "prior_downtrend": true,
      "downtrend_proxy": "SMA20_BELOW_SMA50",
      "sma20": 1306.5,
      "sma50": 1343.4,
      "avg_value": 46767306150.0,
      "technical_features": {
        "sector": "Retail Trade",
        "industry": "Food Retail",
        "rsi_1d": 52.598,
        "adx_1d": 12.324,
        "plus_di_1d": 20.334,
        "minus_di_1d": 19.987,
        "di_spread_1d": 0.347,
        "atr_pct_1d": 2.755,
        "vwap_distance_pct": -0.249,
        "macd_gap_pct": 0.4373,
        "sma20_distance_pct": 2.181,
        "sma50_distance_pct": -0.625,
        "trend_stack_1d": false,
        "perf_week_pct": 1.521,
        "perf_month_pct": -0.743,
        "distance_to_1m_high_pct": -1.838,
        "distance_to_52w_high_pct": -8.247,
        "gap_from_previous_close_pct": 0.379,
        "close_position_pct": 33.33,
        "body_to_range_pct": 33.33,
        "upper_wick_pct": 66.67,
        "volume_ratio_daily": 0.56,
        "volume_ratio_intraday": 1.93,
        "value_traded": 26199909000.0,
        "ihsg_change_pct": 0.218,
        "ihsg_rsi_1d": 33.051,
        "ihsg_adx_1d": 30.332,
        "ihsg_perf_week_pct": -2.587,
        "ihsg_perf_month_pct": -5.776,
        "ihsg_regime": "NEUTRAL",
        "feature_available_count": 15,
        "feature_required_count": 15,
        "feature_completeness_pct": 100.0,
        "signal_class": "NEAR",
        "prior_downtrend": true,
        "downtrend_proxy": "SMA20_BELOW_SMA50",
        "perf_3m_pct": -3.261,
        "break_margin_pct": -1.838,
        "dist_sma50_pct": -0.625,
        "swing_high": 1360.0
      },
      "quality_protocol": {
        "id": "quality_85_protocol",
        "label": "Sukses",
        "score": 67,
        "target_score": 85,
        "passed": false,
        "passed_factors": 8,
        "factor_count": 12,
        "failed_factors": [
          "ADX 1D \u226520",
          "Harga > SMA20 > SMA50",
          "Di atas VWAP, tidak lebih dari +5%",
          "Close kuat dan upper wick \u226435%"
        ],
        "factors": [
          {
            "id": "healthy_move",
            "label": "Kenaikan sehat +1% s/d <12%",
            "passed": true,
            "value": 1.1363636363636365
          },
          {
            "id": "active_volume",
            "label": "RVOL intraday \u22651,5x",
            "passed": true,
            "value": 1.9304030146173672
          },
          {
            "id": "liquidity",
            "label": "Nilai transaksi \u2265Rp2 miliar",
            "passed": true,
            "value": 26199909000.0
          },
          {
            "id": "healthy_rsi",
            "label": "RSI 1D 50\u201368",
            "passed": true,
            "value": 52.598
          },
          {
            "id": "trend_strength",
            "label": "ADX 1D \u226520",
            "passed": false,
            "value": 12.324
          },
          {
            "id": "buyer_direction",
            "label": "+DI lebih kuat dari -DI",
            "passed": true,
            "value": 0.347
          },
          {
            "id": "trend_stack",
            "label": "Harga > SMA20 > SMA50",
            "passed": false,
            "value": false
          },
          {
            "id": "vwap_control",
            "label": "Di atas VWAP, tidak lebih dari +5%",
            "passed": false,
            "value": -0.249
          },
          {
            "id": "controlled_atr",
            "label": "ATR 1D 1,5\u20136%",
            "passed": true,
            "value": 2.755
          },
          {
            "id": "strong_close",
            "label": "Close kuat dan upper wick \u226435%",
            "passed": false,
            "value": {
              "close_position_pct": 33.33,
              "upper_wick_pct": 66.67
            }
          },
          {
            "id": "market_alignment",
            "label": "IHSG tidak bearish",
            "passed": true,
            "value": "NEUTRAL"
          },
          {
            "id": "not_extended",
            "label": "Jarak SMA20 -2% s/d +8%",
            "passed": true,
            "value": 2.181
          }
        ],
        "interpretation": "Skor kualitas screening, bukan winrate dan bukan SIAP ENTRY."
      },
      "screening_status": "KANDIDAT FULL PA",
      "screening_reasons": [
        "Belum close breakout; hanya kandidat pemantauan"
      ],
      "selection_score": 11.6,
      "selection_rank": 2,
      "detected_at": "2026-09-30T11:47:11+07:00",
      "detected_date": "2026-09-30",
      "detected_time": "11:47:11",
      "detected_price": 1335.0,
      "entered_at": "2026-09-30T11:47:11+07:00",
      "entry_price": 1335.0,
      "is_new": true,
      "retained_today": false,
      "currently_qualified": true,
      "detection_phase": "LIVE",
      "confirm_locked": false
    }
  ],
  "rejected_signals": [
    {
      "ticker": "KDSI",
      "price": 464.0,
      "change_pct": 1.754,
      "status": "NEAR",
      "score": 46.6,
      "vol_ratio": 7.407,
      "vol_ratio_daily": 2.208,
      "vol_ratio_intraday": 7.407,
      "break_margin_pct": -0.855,
      "swing_high": 468.0,
      "dist_sma50_pct": 1.072,
      "downtrend_below_pct": 0.0,
      "prior_downtrend": false,
      "downtrend_proxy": "MISSING",
      "sma20": 463.5,
      "sma50": 459.08,
      "avg_value": 7080640.0,
      "technical_features": {
        "sector": "Process Industries",
        "industry": "Containers/Packaging",
        "rsi_1d": 52.648,
        "adx_1d": 43.957,
        "plus_di_1d": 8.027,
        "minus_di_1d": 36.741,
        "di_spread_1d": -28.714,
        "atr_pct_1d": 2.183,
        "vwap_distance_pct": 0.87,
        "macd_gap_pct": -0.105,
        "sma20_distance_pct": 0.108,
        "sma50_distance_pct": 1.072,
        "trend_stack_1d": true,
        "perf_week_pct": 0.0,
        "perf_month_pct": 0.87,
        "distance_to_1m_high_pct": -0.855,
        "distance_to_52w_high_pct": -1.277,
        "gap_from_previous_close_pct": 0.0,
        "close_position_pct": 80.0,
        "body_to_range_pct": 40.0,
        "upper_wick_pct": 20.0,
        "volume_ratio_daily": 2.208,
        "volume_ratio_intraday": 7.407,
        "value_traded": 15636800.0,
        "ihsg_change_pct": 0.218,
        "ihsg_rsi_1d": 33.051,
        "ihsg_adx_1d": 30.332,
        "ihsg_perf_week_pct": -2.587,
        "ihsg_perf_month_pct": -5.776,
        "ihsg_regime": "NEUTRAL",
        "feature_available_count": 15,
        "feature_required_count": 15,
        "feature_completeness_pct": 100.0,
        "signal_class": "NEAR",
        "prior_downtrend": false,
        "downtrend_proxy": "MISSING",
        "perf_3m_pct": 8.411,
        "break_margin_pct": -0.855,
        "dist_sma50_pct": 1.072,
        "swing_high": 468.0
      },
      "quality_protocol": {
        "id": "quality_85_protocol",
        "label": "Sukses",
        "score": 83,
        "target_score": 85,
        "passed": false,
        "passed_factors": 10,
        "factor_count": 12,
        "failed_factors": [
          "Nilai transaksi \u2265Rp2 miliar",
          "+DI lebih kuat dari -DI"
        ],
        "factors": [
          {
            "id": "healthy_move",
            "label": "Kenaikan sehat +1% s/d <12%",
            "passed": true,
            "value": 1.7543859649122806
          },
          {
            "id": "active_volume",
            "label": "RVOL intraday \u22651,5x",
            "passed": true,
            "value": 7.406593406593407
          },
          {
            "id": "liquidity",
            "label": "Nilai transaksi \u2265Rp2 miliar",
            "passed": false,
            "value": 15636800.0
          },
          {
            "id": "healthy_rsi",
            "label": "RSI 1D 50\u201368",
            "passed": true,
            "value": 52.648
          },
          {
            "id": "trend_strength",
            "label": "ADX 1D \u226520",
            "passed": true,
            "value": 43.957
          },
          {
            "id": "buyer_direction",
            "label": "+DI lebih kuat dari -DI",
            "passed": false,
            "value": -28.714
          },
          {
            "id": "trend_stack",
            "label": "Harga > SMA20 > SMA50",
            "passed": true,
            "value": true
          },
          {
            "id": "vwap_control",
            "label": "Di atas VWAP, tidak lebih dari +5%",
            "passed": true,
            "value": 0.87
          },
          {
            "id": "controlled_atr",
            "label": "ATR 1D 1,5\u20136%",
            "passed": true,
            "value": 2.183
          },
          {
            "id": "strong_close",
            "label": "Close kuat dan upper wick \u226435%",
            "passed": true,
            "value": {
              "close_position_pct": 80.0,
              "upper_wick_pct": 20.0
            }
          },
          {
            "id": "market_alignment",
            "label": "IHSG tidak bearish",
            "passed": true,
            "value": "NEUTRAL"
          },
          {
            "id": "not_extended",
            "label": "Jarak SMA20 -2% s/d +8%",
            "passed": true,
            "value": 0.108
          }
        ],
        "interpretation": "Skor kualitas screening, bukan winrate dan bukan SIAP ENTRY."
      },
      "screening_status": "TIDAK LAYAK DITUNGGU",
      "screening_reasons": [
        "Tidak ada bukti downtrend sebelumnya",
        "Likuiditas rata-rata Rp 7 juta (minimum Rp 1 miliar)"
      ],
      "selection_score": 46.6
    },
    {
      "ticker": "GLVA",
      "price": 338.0,
      "change_pct": 2.424,
      "status": "NEAR",
      "score": 22.9,
      "vol_ratio": 3.658,
      "vol_ratio_daily": 1.344,
      "vol_ratio_intraday": 3.658,
      "break_margin_pct": -1.744,
      "swing_high": 344.0,
      "dist_sma50_pct": 6.41,
      "downtrend_below_pct": 0.0,
      "prior_downtrend": false,
      "downtrend_proxy": "MISSING",
      "sma20": 329.9,
      "sma50": 317.64,
      "avg_value": 28615080.0,
      "technical_features": {
        "sector": "Distribution Services",
        "industry": "Electronics Distributors",
        "rsi_1d": 59.779,
        "adx_1d": 20.574,
        "plus_di_1d": 15.071,
        "minus_di_1d": 17.901,
        "di_spread_1d": -2.83,
        "atr_pct_1d": 5.421,
        "vwap_distance_pct": 1.807,
        "macd_gap_pct": -0.1858,
        "sma20_distance_pct": 2.455,
        "sma50_distance_pct": 6.41,
        "trend_stack_1d": true,
        "perf_week_pct": -0.588,
        "perf_month_pct": 9.032,
        "distance_to_1m_high_pct": -1.744,
        "distance_to_52w_high_pct": -1.744,
        "gap_from_previous_close_pct": 0.0,
        "close_position_pct": 80.0,
        "body_to_range_pct": 26.67,
        "upper_wick_pct": 20.0,
        "volume_ratio_daily": 1.344,
        "volume_ratio_intraday": 3.658,
        "value_traded": 38464400.0,
        "ihsg_change_pct": 0.218,
        "ihsg_rsi_1d": 33.051,
        "ihsg_adx_1d": 30.332,
        "ihsg_perf_week_pct": -2.587,
        "ihsg_perf_month_pct": -5.776,
        "ihsg_regime": "NEUTRAL",
        "feature_available_count": 15,
        "feature_required_count": 15,
        "feature_completeness_pct": 100.0,
        "signal_class": "NEAR",
        "prior_downtrend": false,
        "downtrend_proxy": "MISSING",
        "perf_3m_pct": 14.189,
        "break_margin_pct": -1.744,
        "dist_sma50_pct": 6.41,
        "swing_high": 344.0
      },
      "quality_protocol": {
        "id": "quality_85_protocol",
        "label": "Sukses",
        "score": 83,
        "target_score": 85,
        "passed": false,
        "passed_factors": 10,
        "factor_count": 12,
        "failed_factors": [
          "Nilai transaksi \u2265Rp2 miliar",
          "+DI lebih kuat dari -DI"
        ],
        "factors": [
          {
            "id": "healthy_move",
            "label": "Kenaikan sehat +1% s/d <12%",
            "passed": true,
            "value": 2.4242424242424243
          },
          {
            "id": "active_volume",
            "label": "RVOL intraday \u22651,5x",
            "passed": true,
            "value": 3.6579877852780456
          },
          {
            "id": "liquidity",
            "label": "Nilai transaksi \u2265Rp2 miliar",
            "passed": false,
            "value": 38464400.0
          },
          {
            "id": "healthy_rsi",
            "label": "RSI 1D 50\u201368",
            "passed": true,
            "value": 59.779
          },
          {
            "id": "trend_strength",
            "label": "ADX 1D \u226520",
            "passed": true,
            "value": 20.574
          },
          {
            "id": "buyer_direction",
            "label": "+DI lebih kuat dari -DI",
            "passed": false,
            "value": -2.83
          },
          {
            "id": "trend_stack",
            "label": "Harga > SMA20 > SMA50",
            "passed": true,
            "value": true
          },
          {
            "id": "vwap_control",
            "label": "Di atas VWAP, tidak lebih dari +5%",
            "passed": true,
            "value": 1.807
          },
          {
            "id": "controlled_atr",
            "label": "ATR 1D 1,5\u20136%",
            "passed": true,
            "value": 5.421
          },
          {
            "id": "strong_close",
            "label": "Close kuat dan upper wick \u226435%",
            "passed": true,
            "value": {
              "close_position_pct": 80.0,
              "upper_wick_pct": 20.0
            }
          },
          {
            "id": "market_alignment",
            "label": "IHSG tidak bearish",
            "passed": true,
            "value": "NEUTRAL"
          },
          {
            "id": "not_extended",
            "label": "Jarak SMA20 -2% s/d +8%",
            "passed": true,
            "value": 2.455
          }
        ],
        "interpretation": "Skor kualitas screening, bukan winrate dan bukan SIAP ENTRY."
      },
      "screening_status": "TIDAK LAYAK DITUNGGU",
      "screening_reasons": [
        "Tidak ada bukti downtrend sebelumnya",
        "Likuiditas rata-rata Rp 29 juta (minimum Rp 1 miliar)"
      ],
      "selection_score": 19.3
    },
    {
      "ticker": "BSWD",
      "price": 2880.0,
      "change_pct": 24.675,
      "status": "CONFIRM",
      "score": 75.0,
      "vol_ratio": 42.547,
      "vol_ratio_daily": 6.59,
      "vol_ratio_intraday": 42.547,
      "break_margin_pct": 0.0,
      "swing_high": 2880.0,
      "dist_sma50_pct": 121.573,
      "downtrend_below_pct": 0.0,
      "prior_downtrend": false,
      "downtrend_proxy": "MISSING",
      "sma20": 1471.75,
      "sma50": 1299.8,
      "avg_value": 19929600.0,
      "technical_features": {
        "sector": "Finance",
        "industry": "Major Banks",
        "rsi_1d": 93.424,
        "adx_1d": 46.136,
        "plus_di_1d": 93.406,
        "minus_di_1d": 6.573,
        "di_spread_1d": 86.833,
        "atr_pct_1d": 4.146,
        "vwap_distance_pct": 5.238,
        "macd_gap_pct": 4.7776,
        "sma20_distance_pct": 95.685,
        "sma50_distance_pct": 121.573,
        "trend_stack_1d": true,
        "perf_week_pct": 92.0,
        "perf_month_pct": 92.0,
        "distance_to_1m_high_pct": 0.0,
        "distance_to_52w_high_pct": 0.0,
        "gap_from_previous_close_pct": 6.061,
        "close_position_pct": 100.0,
        "body_to_range_pct": 100.0,
        "upper_wick_pct": 0.0,
        "volume_ratio_daily": 6.59,
        "volume_ratio_intraday": 42.547,
        "value_traded": 131328000.0,
        "ihsg_change_pct": 0.218,
        "ihsg_rsi_1d": 33.051,
        "ihsg_adx_1d": 30.332,
        "ihsg_perf_week_pct": -2.587,
        "ihsg_perf_month_pct": -5.776,
        "ihsg_regime": "NEUTRAL",
        "feature_available_count": 15,
        "feature_required_count": 15,
        "feature_completeness_pct": 100.0,
        "signal_class": "CONFIRM",
        "prior_downtrend": false,
        "downtrend_proxy": "MISSING",
        "perf_3m_pct": 108.696,
        "break_margin_pct": 0.0,
        "dist_sma50_pct": 121.573,
        "swing_high": 2880.0
      },
      "quality_protocol": {
        "id": "quality_85_protocol",
        "label": "Sukses",
        "score": 58,
        "target_score": 85,
        "passed": false,
        "passed_factors": 7,
        "factor_count": 12,
        "failed_factors": [
          "Kenaikan sehat +1% s/d <12%",
          "Nilai transaksi \u2265Rp2 miliar",
          "RSI 1D 50\u201368",
          "Di atas VWAP, tidak lebih dari +5%",
          "Jarak SMA20 -2% s/d +8%"
        ],
        "factors": [
          {
            "id": "healthy_move",
            "label": "Kenaikan sehat +1% s/d <12%",
            "passed": false,
            "value": 24.675324675324674
          },
          {
            "id": "active_volume",
            "label": "RVOL intraday \u22651,5x",
            "passed": true,
            "value": 42.54716981132076
          },
          {
            "id": "liquidity",
            "label": "Nilai transaksi \u2265Rp2 miliar",
            "passed": false,
            "value": 131328000.0
          },
          {
            "id": "healthy_rsi",
            "label": "RSI 1D 50\u201368",
            "passed": false,
            "value": 93.424
          },
          {
            "id": "trend_strength",
            "label": "ADX 1D \u226520",
            "passed": true,
            "value": 46.136
          },
          {
            "id": "buyer_direction",
            "label": "+DI lebih kuat dari -DI",
            "passed": true,
            "value": 86.833
          },
          {
            "id": "trend_stack",
            "label": "Harga > SMA20 > SMA50",
            "passed": true,
            "value": true
          },
          {
            "id": "vwap_control",
            "label": "Di atas VWAP, tidak lebih dari +5%",
            "passed": false,
            "value": 5.238
          },
          {
            "id": "controlled_atr",
            "label": "ATR 1D 1,5\u20136%",
            "passed": true,
            "value": 4.146
          },
          {
            "id": "strong_close",
            "label": "Close kuat dan upper wick \u226435%",
            "passed": true,
            "value": {
              "close_position_pct": 100.0,
              "upper_wick_pct": 0.0
            }
          },
          {
            "id": "market_alignment",
            "label": "IHSG tidak bearish",
            "passed": true,
            "value": "NEUTRAL"
          },
          {
            "id": "not_extended",
            "label": "Jarak SMA20 -2% s/d +8%",
            "passed": false,
            "value": 95.685
          }
        ],
        "interpretation": "Skor kualitas screening, bukan winrate dan bukan SIAP ENTRY."
      },
      "screening_status": "TIDAK LAYAK DITUNGGU",
      "screening_reasons": [
        "Tidak ada bukti downtrend sebelumnya",
        "Likuiditas rata-rata Rp 20 juta (minimum Rp 1 miliar)",
        "Sudah naik +24.7%",
        "Extended +121.6% dari SMA50",
        "RSI daily terlalu tinggi 93.4"
      ],
      "selection_score": 0.0
    },
    {
      "ticker": "BIKE",
      "price": 1505.0,
      "change_pct": 24.38,
      "status": "CONFIRM",
      "score": 72.3,
      "vol_ratio": 4.909,
      "vol_ratio_daily": 3.436,
      "vol_ratio_intraday": 4.909,
      "break_margin_pct": -0.331,
      "swing_high": 1510.0,
      "dist_sma50_pct": 116.821,
      "downtrend_below_pct": 0.0,
      "prior_downtrend": false,
      "downtrend_proxy": "MISSING",
      "sma20": 969.25,
      "sma50": 694.12,
      "avg_value": 1295127750.0,
      "technical_features": {
        "sector": "Distribution Services",
        "industry": "Wholesale Distributors",
        "rsi_1d": 76.43,
        "adx_1d": 33.277,
        "plus_di_1d": 54.456,
        "minus_di_1d": 18.193,
        "di_spread_1d": 36.263,
        "atr_pct_1d": 6.676,
        "vwap_distance_pct": 5.245,
        "macd_gap_pct": 2.1863,
        "sma20_distance_pct": 55.275,
        "sma50_distance_pct": 116.821,
        "trend_stack_1d": true,
        "perf_week_pct": 33.186,
        "perf_month_pct": 84.663,
        "distance_to_1m_high_pct": -0.331,
        "distance_to_52w_high_pct": -0.331,
        "gap_from_previous_close_pct": 7.438,
        "close_position_pct": 97.87,
        "body_to_range_pct": 87.23,
        "upper_wick_pct": 2.13,
        "volume_ratio_daily": 3.436,
        "volume_ratio_intraday": 4.909,
        "value_traded": 4449984000.0,
        "ihsg_change_pct": 0.218,
        "ihsg_rsi_1d": 33.051,
        "ihsg_adx_1d": 30.332,
        "ihsg_perf_week_pct": -2.587,
        "ihsg_perf_month_pct": -5.776,
        "ihsg_regime": "NEUTRAL",
        "feature_available_count": 15,
        "feature_required_count": 15,
        "feature_completeness_pct": 100.0,
        "signal_class": "CONFIRM",
        "prior_downtrend": false,
        "downtrend_proxy": "MISSING",
        "perf_3m_pct": 183.962,
        "break_margin_pct": -0.331,
        "dist_sma50_pct": 116.821,
        "swing_high": 1510.0
      },
      "quality_protocol": {
        "id": "quality_85_protocol",
        "label": "Sukses",
        "score": 58,
        "target_score": 85,
        "passed": false,
        "passed_factors": 7,
        "factor_count": 12,
        "failed_factors": [
          "Kenaikan sehat +1% s/d <12%",
          "RSI 1D 50\u201368",
          "Di atas VWAP, tidak lebih dari +5%",
          "ATR 1D 1,5\u20136%",
          "Jarak SMA20 -2% s/d +8%"
        ],
        "factors": [
          {
            "id": "healthy_move",
            "label": "Kenaikan sehat +1% s/d <12%",
            "passed": false,
            "value": 24.380165289256198
          },
          {
            "id": "active_volume",
            "label": "RVOL intraday \u22651,5x",
            "passed": true,
            "value": 4.909298767673711
          },
          {
            "id": "liquidity",
            "label": "Nilai transaksi \u2265Rp2 miliar",
            "passed": true,
            "value": 4449984000.0
          },
          {
            "id": "healthy_rsi",
            "label": "RSI 1D 50\u201368",
            "passed": false,
            "value": 76.43
          },
          {
            "id": "trend_strength",
            "label": "ADX 1D \u226520",
            "passed": true,
            "value": 33.277
          },
          {
            "id": "buyer_direction",
            "label": "+DI lebih kuat dari -DI",
            "passed": true,
            "value": 36.263
          },
          {
            "id": "trend_stack",
            "label": "Harga > SMA20 > SMA50",
            "passed": true,
            "value": true
          },
          {
            "id": "vwap_control",
            "label": "Di atas VWAP, tidak lebih dari +5%",
            "passed": false,
            "value": 5.245
          },
          {
            "id": "controlled_atr",
            "label": "ATR 1D 1,5\u20136%",
            "passed": false,
            "value": 6.676
          },
          {
            "id": "strong_close",
            "label": "Close kuat dan upper wick \u226435%",
            "passed": true,
            "value": {
              "close_position_pct": 97.87,
              "upper_wick_pct": 2.13
            }
          },
          {
            "id": "market_alignment",
            "label": "IHSG tidak bearish",
            "passed": true,
            "value": "NEUTRAL"
          },
          {
            "id": "not_extended",
            "label": "Jarak SMA20 -2% s/d +8%",
            "passed": false,
            "value": 55.275
          }
        ],
        "interpretation": "Skor kualitas screening, bukan winrate dan bukan SIAP ENTRY."
      },
      "screening_status": "TIDAK LAYAK DITUNGGU",
      "screening_reasons": [
        "Tidak ada bukti downtrend sebelumnya",
        "Sudah naik +24.4%",
        "Extended +116.8% dari SMA50",
        "RSI daily terlalu tinggi 76.4"
      ],
      "selection_score": 0.0
    },
    {
      "ticker": "SONA",
      "price": 4270.0,
      "change_pct": 20.963,
      "status": "NEAR",
      "score": 45.4,
      "vol_ratio": 5.393,
      "vol_ratio_daily": 2.738,
      "vol_ratio_intraday": 5.393,
      "break_margin_pct": -1.157,
      "swing_high": 4320.0,
      "dist_sma50_pct": 69.525,
      "downtrend_below_pct": 0.0,
      "prior_downtrend": false,
      "downtrend_proxy": "MISSING",
      "sma20": 2538.5,
      "sma50": 2518.8,
      "avg_value": 404497100.0,
      "technical_features": {
        "sector": "Retail Trade",
        "industry": "Specialty Stores",
        "rsi_1d": 83.597,
        "adx_1d": 21.041,
        "plus_di_1d": 64.183,
        "minus_di_1d": 12.76,
        "di_spread_1d": 51.423,
        "atr_pct_1d": 5.629,
        "vwap_distance_pct": 6.839,
        "macd_gap_pct": 4.2483,
        "sma20_distance_pct": 68.21,
        "sma50_distance_pct": 69.525,
        "trend_stack_1d": true,
        "perf_week_pct": 72.177,
        "perf_month_pct": 77.917,
        "distance_to_1m_high_pct": -1.157,
        "distance_to_52w_high_pct": -1.157,
        "gap_from_previous_close_pct": 2.266,
        "close_position_pct": 94.57,
        "body_to_range_pct": 71.74,
        "upper_wick_pct": 5.43,
        "volume_ratio_daily": 2.738,
        "volume_ratio_intraday": 5.393,
        "value_traded": 1107638000.0,
        "ihsg_change_pct": 0.218,
        "ihsg_rsi_1d": 33.051,
        "ihsg_adx_1d": 30.332,
        "ihsg_perf_week_pct": -2.587,
        "ihsg_perf_month_pct": -5.776,
        "ihsg_regime": "NEUTRAL",
        "feature_available_count": 15,
        "feature_required_count": 15,
        "feature_completeness_pct": 100.0,
        "signal_class": "NEAR",
        "prior_downtrend": false,
        "downtrend_proxy": "MISSING",
        "perf_3m_pct": 94.091,
        "break_margin_pct": -1.157,
        "dist_sma50_pct": 69.525,
        "swing_high": 4320.0
      },
      "quality_protocol": {
        "id": "quality_85_protocol",
        "label": "Sukses",
        "score": 58,
        "target_score": 85,
        "passed": false,
        "passed_factors": 7,
        "factor_count": 12,
        "failed_factors": [
          "Kenaikan sehat +1% s/d <12%",
          "Nilai transaksi \u2265Rp2 miliar",
          "RSI 1D 50\u201368",
          "Di atas VWAP, tidak lebih dari +5%",
          "Jarak SMA20 -2% s/d +8%"
        ],
        "factors": [
          {
            "id": "healthy_move",
            "label": "Kenaikan sehat +1% s/d <12%",
            "passed": false,
            "value": 20.96317280453258
          },
          {
            "id": "active_volume",
            "label": "RVOL intraday \u22651,5x",
            "passed": true,
            "value": 5.392571955581171
          },
          {
            "id": "liquidity",
            "label": "Nilai transaksi \u2265Rp2 miliar",
            "passed": false,
            "value": 1107638000.0
          },
          {
            "id": "healthy_rsi",
            "label": "RSI 1D 50\u201368",
            "passed": false,
            "value": 83.597
          },
          {
            "id": "trend_strength",
            "label": "ADX 1D \u226520",
            "passed": true,
            "value": 21.041
          },
          {
            "id": "buyer_direction",
            "label": "+DI lebih kuat dari -DI",
            "passed": true,
            "value": 51.423
          },
          {
            "id": "trend_stack",
            "label": "Harga > SMA20 > SMA50",
            "passed": true,
            "value": true
          },
          {
            "id": "vwap_control",
            "label": "Di atas VWAP, tidak lebih dari +5%",
            "passed": false,
            "value": 6.839
          },
          {
            "id": "controlled_atr",
            "label": "ATR 1D 1,5\u20136%",
            "passed": true,
            "value": 5.629
          },
          {
            "id": "strong_close",
            "label": "Close kuat dan upper wick \u226435%",
            "passed": true,
            "value": {
              "close_position_pct": 94.57,
              "upper_wick_pct": 5.43
            }
          },
          {
            "id": "market_alignment",
            "label": "IHSG tidak bearish",
            "passed": true,
            "value": "NEUTRAL"
          },
          {
            "id": "not_extended",
            "label": "Jarak SMA20 -2% s/d +8%",
            "passed": false,
            "value": 68.21
          }
        ],
        "interpretation": "Skor kualitas screening, bukan winrate dan bukan SIAP ENTRY."
      },
      "screening_status": "TIDAK LAYAK DITUNGGU",
      "screening_reasons": [
        "Tidak ada bukti downtrend sebelumnya",
        "Likuiditas rata-rata Rp 404 juta (minimum Rp 1 miliar)",
        "Sudah naik +21.0%",
        "Extended +69.5% dari SMA50",
        "RSI daily terlalu tinggi 83.6"
      ],
      "selection_score": 0.0
    },
    {
      "ticker": "DEWI",
      "price": 256.0,
      "change_pct": 14.286,
      "status": "CONFIRM",
      "score": 37.0,
      "vol_ratio": 2.468,
      "vol_ratio_daily": 1.054,
      "vol_ratio_intraday": 2.468,
      "break_margin_pct": 0.0,
      "swing_high": 256.0,
      "dist_sma50_pct": 65.268,
      "downtrend_below_pct": 0.0,
      "prior_downtrend": false,
      "downtrend_proxy": "MISSING",
      "sma20": 186.7,
      "sma50": 154.9,
      "avg_value": 18734428160.0,
      "technical_features": {
        "sector": "Retail Trade",
        "industry": "Food Retail",
        "rsi_1d": 87.638,
        "adx_1d": 62.442,
        "plus_di_1d": 47.889,
        "minus_di_1d": 6.357,
        "di_spread_1d": 41.532,
        "atr_pct_1d": 5.181,
        "vwap_distance_pct": 4.918,
        "macd_gap_pct": 2.2807,
        "sma20_distance_pct": 37.118,
        "sma50_distance_pct": 65.268,
        "trend_stack_1d": true,
        "perf_week_pct": 38.378,
        "perf_month_pct": 69.536,
        "distance_to_1m_high_pct": 0.0,
        "distance_to_52w_high_pct": 0.0,
        "gap_from_previous_close_pct": 0.0,
        "close_position_pct": 100.0,
        "body_to_range_pct": 88.89,
        "upper_wick_pct": 0.0,
        "volume_ratio_daily": 1.054,
        "volume_ratio_intraday": 2.468,
        "value_traded": 19737036800.0,
        "ihsg_change_pct": 0.218,
        "ihsg_rsi_1d": 33.051,
        "ihsg_adx_1d": 30.332,
        "ihsg_perf_week_pct": -2.587,
        "ihsg_perf_month_pct": -5.776,
        "ihsg_regime": "NEUTRAL",
        "feature_available_count": 15,
        "feature_required_count": 15,
        "feature_completeness_pct": 100.0,
        "signal_class": "CONFIRM",
        "prior_downtrend": false,
        "downtrend_proxy": "MISSING",
        "perf_3m_pct": 120.69,
        "break_margin_pct": 0.0,
        "dist_sma50_pct": 65.268,
        "swing_high": 256.0
      },
      "quality_protocol": {
        "id": "quality_85_protocol",
        "label": "Sukses",
        "score": 75,
        "target_score": 85,
        "passed": false,
        "passed_factors": 9,
        "factor_count": 12,
        "failed_factors": [
          "Kenaikan sehat +1% s/d <12%",
          "RSI 1D 50\u201368",
          "Jarak SMA20 -2% s/d +8%"
        ],
        "factors": [
          {
            "id": "healthy_move",
            "label": "Kenaikan sehat +1% s/d <12%",
            "passed": false,
            "value": 14.285714285714285
          },
          {
            "id": "active_volume",
            "label": "RVOL intraday \u22651,5x",
            "passed": true,
            "value": 2.4676840569314265
          },
          {
            "id": "liquidity",
            "label": "Nilai transaksi \u2265Rp2 miliar",
            "passed": true,
            "value": 19737036800.0
          },
          {
            "id": "healthy_rsi",
            "label": "RSI 1D 50\u201368",
            "passed": false,
            "value": 87.638
          },
          {
            "id": "trend_strength",
            "label": "ADX 1D \u226520",
            "passed": true,
            "value": 62.442
          },
          {
            "id": "buyer_direction",
            "label": "+DI lebih kuat dari -DI",
            "passed": true,
            "value": 41.532
          },
          {
            "id": "trend_stack",
            "label": "Harga > SMA20 > SMA50",
            "passed": true,
            "value": true
          },
          {
            "id": "vwap_control",
            "label": "Di atas VWAP, tidak lebih dari +5%",
            "passed": true,
            "value": 4.918
          },
          {
            "id": "controlled_atr",
            "label": "ATR 1D 1,5\u20136%",
            "passed": true,
            "value": 5.181
          },
          {
            "id": "strong_close",
            "label": "Close kuat dan upper wick \u226435%",
            "passed": true,
            "value": {
              "close_position_pct": 100.0,
              "upper_wick_pct": 0.0
            }
          },
          {
            "id": "market_alignment",
            "label": "IHSG tidak bearish",
            "passed": true,
            "value": "NEUTRAL"
          },
          {
            "id": "not_extended",
            "label": "Jarak SMA20 -2% s/d +8%",
            "passed": false,
            "value": 37.118
          }
        ],
        "interpretation": "Skor kualitas screening, bukan winrate dan bukan SIAP ENTRY."
      },
      "screening_status": "TIDAK LAYAK DITUNGGU",
      "screening_reasons": [
        "Tidak ada bukti downtrend sebelumnya",
        "Extended +65.3% dari SMA50",
        "RSI daily terlalu tinggi 87.6"
      ],
      "selection_score": 0.0
    },
    {
      "ticker": "WAPO",
      "price": 352.0,
      "change_pct": 24.823,
      "status": "CONFIRM",
      "score": 33.6,
      "vol_ratio": 2.24,
      "vol_ratio_daily": 1.838,
      "vol_ratio_intraday": 2.24,
      "break_margin_pct": 0.0,
      "swing_high": 352.0,
      "dist_sma50_pct": 126.541,
      "downtrend_below_pct": 0.0,
      "prior_downtrend": false,
      "downtrend_proxy": "MISSING",
      "sma20": 197.95,
      "sma50": 155.38,
      "avg_value": 4892539520.0,
      "technical_features": {
        "sector": "Consumer Non-Durables",
        "industry": "Food: Specialty/Candy",
        "rsi_1d": 96.371,
        "adx_1d": 74.712,
        "plus_di_1d": 50.09,
        "minus_di_1d": 1.773,
        "di_spread_1d": 48.317,
        "atr_pct_1d": 7.299,
        "vwap_distance_pct": 7.536,
        "macd_gap_pct": 4.048,
        "sma20_distance_pct": 77.823,
        "sma50_distance_pct": 126.541,
        "trend_stack_1d": true,
        "perf_week_pct": 55.752,
        "perf_month_pct": 125.641,
        "distance_to_1m_high_pct": 0.0,
        "distance_to_52w_high_pct": 0.0,
        "gap_from_previous_close_pct": 2.837,
        "close_position_pct": 100.0,
        "body_to_range_pct": 83.78,
        "upper_wick_pct": 0.0,
        "volume_ratio_daily": 1.838,
        "volume_ratio_intraday": 2.24,
        "value_traded": 8990220800.0,
        "ihsg_change_pct": 0.218,
        "ihsg_rsi_1d": 33.051,
        "ihsg_adx_1d": 30.332,
        "ihsg_perf_week_pct": -2.587,
        "ihsg_perf_month_pct": -5.776,
        "ihsg_regime": "NEUTRAL",
        "feature_available_count": 15,
        "feature_required_count": 15,
        "feature_completeness_pct": 100.0,
        "signal_class": "CONFIRM",
        "prior_downtrend": false,
        "downtrend_proxy": "MISSING",
        "perf_3m_pct": 245.098,
        "break_margin_pct": 0.0,
        "dist_sma50_pct": 126.541,
        "swing_high": 352.0
      },
      "quality_protocol": {
        "id": "quality_85_protocol",
        "label": "Sukses",
        "score": 58,
        "target_score": 85,
        "passed": false,
        "passed_factors": 7,
        "factor_count": 12,
        "failed_factors": [
          "Kenaikan sehat +1% s/d <12%",
          "RSI 1D 50\u201368",
          "Di atas VWAP, tidak lebih dari +5%",
          "ATR 1D 1,5\u20136%",
          "Jarak SMA20 -2% s/d +8%"
        ],
        "factors": [
          {
            "id": "healthy_move",
            "label": "Kenaikan sehat +1% s/d <12%",
            "passed": false,
            "value": 24.822695035460992
          },
          {
            "id": "active_volume",
            "label": "RVOL intraday \u22651,5x",
            "passed": true,
            "value": 2.2400283484133108
          },
          {
            "id": "liquidity",
            "label": "Nilai transaksi \u2265Rp2 miliar",
            "passed": true,
            "value": 8990220800.0
          },
          {
            "id": "healthy_rsi",
            "label": "RSI 1D 50\u201368",
            "passed": false,
            "value": 96.371
          },
          {
            "id": "trend_strength",
            "label": "ADX 1D \u226520",
            "passed": true,
            "value": 74.712
          },
          {
            "id": "buyer_direction",
            "label": "+DI lebih kuat dari -DI",
            "passed": true,
            "value": 48.317
          },
          {
            "id": "trend_stack",
            "label": "Harga > SMA20 > SMA50",
            "passed": true,
            "value": true
          },
          {
            "id": "vwap_control",
            "label": "Di atas VWAP, tidak lebih dari +5%",
            "passed": false,
            "value": 7.536
          },
          {
            "id": "controlled_atr",
            "label": "ATR 1D 1,5\u20136%",
            "passed": false,
            "value": 7.299
          },
          {
            "id": "strong_close",
            "label": "Close kuat dan upper wick \u226435%",
            "passed": true,
            "value": {
              "close_position_pct": 100.0,
              "upper_wick_pct": 0.0
            }
          },
          {
            "id": "market_alignment",
            "label": "IHSG tidak bearish",
            "passed": true,
            "value": "NEUTRAL"
          },
          {
            "id": "not_extended",
            "label": "Jarak SMA20 -2% s/d +8%",
            "passed": false,
            "value": 77.823
          }
        ],
        "interpretation": "Skor kualitas screening, bukan winrate dan bukan SIAP ENTRY."
      },
      "screening_status": "TIDAK LAYAK DITUNGGU",
      "screening_reasons": [
        "Tidak ada bukti downtrend sebelumnya",
        "Sudah naik +24.8%",
        "Extended +126.5% dari SMA50",
        "RSI daily terlalu tinggi 96.4"
      ],
      "selection_score": 0.0
    },
    {
      "ticker": "SMLE",
      "price": 290.0,
      "change_pct": 11.538,
      "status": "NEAR",
      "score": 4.2,
      "vol_ratio": 2.66,
      "vol_ratio_daily": 1.267,
      "vol_ratio_intraday": 2.66,
      "break_margin_pct": -2.685,
      "swing_high": 298.0,
      "dist_sma50_pct": 56.757,
      "downtrend_below_pct": 0.0,
      "prior_downtrend": false,
      "downtrend_proxy": "MISSING",
      "sma20": 219.0,
      "sma50": 185.0,
      "avg_value": 10735057600.0,
      "technical_features": {
        "sector": "Distribution Services",
        "industry": "Wholesale Distributors",
        "rsi_1d": 73.408,
        "adx_1d": 50.188,
        "plus_di_1d": 37.284,
        "minus_di_1d": 8.15,
        "di_spread_1d": 29.135,
        "atr_pct_1d": 8.12,
        "vwap_distance_pct": 3.571,
        "macd_gap_pct": 2.1079,
        "sma20_distance_pct": 32.42,
        "sma50_distance_pct": 56.757,
        "trend_stack_1d": true,
        "perf_week_pct": 26.087,
        "perf_month_pct": 75.758,
        "distance_to_1m_high_pct": -2.685,
        "distance_to_52w_high_pct": -2.685,
        "gap_from_previous_close_pct": 3.077,
        "close_position_pct": 89.47,
        "body_to_range_pct": 57.89,
        "upper_wick_pct": 10.53,
        "volume_ratio_daily": 1.267,
        "volume_ratio_intraday": 2.66,
        "value_traded": 13597752000.0,
        "ihsg_change_pct": 0.218,
        "ihsg_rsi_1d": 33.051,
        "ihsg_adx_1d": 30.332,
        "ihsg_perf_week_pct": -2.587,
        "ihsg_perf_month_pct": -5.776,
        "ihsg_regime": "NEUTRAL",
        "feature_available_count": 15,
        "feature_required_count": 15,
        "feature_completeness_pct": 100.0,
        "signal_class": "NEAR",
        "prior_downtrend": false,
        "downtrend_proxy": "MISSING",
        "perf_3m_pct": 202.083,
        "break_margin_pct": -2.685,
        "dist_sma50_pct": 56.757,
        "swing_high": 298.0
      },
      "quality_protocol": {
        "id": "quality_85_protocol",
        "label": "Sukses",
        "score": 75,
        "target_score": 85,
        "passed": false,
        "passed_factors": 9,
        "factor_count": 12,
        "failed_factors": [
          "RSI 1D 50\u201368",
          "ATR 1D 1,5\u20136%",
          "Jarak SMA20 -2% s/d +8%"
        ],
        "factors": [
          {
            "id": "healthy_move",
            "label": "Kenaikan sehat +1% s/d <12%",
            "passed": true,
            "value": 11.538461538461538
          },
          {
            "id": "active_volume",
            "label": "RVOL intraday \u22651,5x",
            "passed": true,
            "value": 2.660181376711589
          },
          {
            "id": "liquidity",
            "label": "Nilai transaksi \u2265Rp2 miliar",
            "passed": true,
            "value": 13597752000.0
          },
          {
            "id": "healthy_rsi",
            "label": "RSI 1D 50\u201368",
            "passed": false,
            "value": 73.408
          },
          {
            "id": "trend_strength",
            "label": "ADX 1D \u226520",
            "passed": true,
            "value": 50.188
          },
          {
            "id": "buyer_direction",
            "label": "+DI lebih kuat dari -DI",
            "passed": true,
            "value": 29.135
          },
          {
            "id": "trend_stack",
            "label": "Harga > SMA20 > SMA50",
            "passed": true,
            "value": true
          },
          {
            "id": "vwap_control",
            "label": "Di atas VWAP, tidak lebih dari +5%",
            "passed": true,
            "value": 3.571
          },
          {
            "id": "controlled_atr",
            "label": "ATR 1D 1,5\u20136%",
            "passed": false,
            "value": 8.12
          },
          {
            "id": "strong_close",
            "label": "Close kuat dan upper wick \u226435%",
            "passed": true,
            "value": {
              "close_position_pct": 89.47,
              "upper_wick_pct": 10.53
            }
          },
          {
            "id": "market_alignment",
            "label": "IHSG tidak bearish",
            "passed": true,
            "value": "NEUTRAL"
          },
          {
            "id": "not_extended",
            "label": "Jarak SMA20 -2% s/d +8%",
            "passed": false,
            "value": 32.42
          }
        ],
        "interpretation": "Skor kualitas screening, bukan winrate dan bukan SIAP ENTRY."
      },
      "screening_status": "TIDAK LAYAK DITUNGGU",
      "screening_reasons": [
        "Tidak ada bukti downtrend sebelumnya",
        "Extended +56.8% dari SMA50",
        "RSI daily terlalu tinggi 73.4"
      ],
      "selection_score": 0.0
    },
    {
      "ticker": "TEBE",
      "price": 2700.0,
      "change_pct": 15.385,
      "status": "NEAR",
      "score": 1.6,
      "vol_ratio": 2.543,
      "vol_ratio_daily": 1.232,
      "vol_ratio_intraday": 2.543,
      "break_margin_pct": -2.878,
      "swing_high": 2780.0,
      "dist_sma50_pct": 73.199,
      "downtrend_below_pct": 0.0,
      "prior_downtrend": false,
      "downtrend_proxy": "MISSING",
      "sma20": 1944.25,
      "sma50": 1558.9,
      "avg_value": 100353006000.0,
      "technical_features": {
        "sector": "Industrial Services",
        "industry": "Engineering & Construction",
        "rsi_1d": 76.391,
        "adx_1d": 41.883,
        "plus_di_1d": 41.684,
        "minus_di_1d": 12.817,
        "di_spread_1d": 28.867,
        "atr_pct_1d": 8.085,
        "vwap_distance_pct": 3.979,
        "macd_gap_pct": 2.1134,
        "sma20_distance_pct": 38.871,
        "sma50_distance_pct": 73.199,
        "trend_stack_1d": true,
        "perf_week_pct": 38.462,
        "perf_month_pct": 55.62,
        "distance_to_1m_high_pct": -2.878,
        "distance_to_52w_high_pct": -2.878,
        "gap_from_previous_close_pct": 0.855,
        "close_position_pct": 82.98,
        "body_to_range_pct": 72.34,
        "upper_wick_pct": 17.02,
        "volume_ratio_daily": 1.232,
        "volume_ratio_intraday": 2.543,
        "value_traded": 123358950000.0,
        "ihsg_change_pct": 0.218,
        "ihsg_rsi_1d": 33.051,
        "ihsg_adx_1d": 30.332,
        "ihsg_perf_week_pct": -2.587,
        "ihsg_perf_month_pct": -5.776,
        "ihsg_regime": "NEUTRAL",
        "feature_available_count": 15,
        "feature_required_count": 15,
        "feature_completeness_pct": 100.0,
        "signal_class": "NEAR",
        "prior_downtrend": false,
        "downtrend_proxy": "MISSING",
        "perf_3m_pct": 176.923,
        "break_margin_pct": -2.878,
        "dist_sma50_pct": 73.199,
        "swing_high": 2780.0
      },
      "quality_protocol": {
        "id": "quality_85_protocol",
        "label": "Sukses",
        "score": 67,
        "target_score": 85,
        "passed": false,
        "passed_factors": 8,
        "factor_count": 12,
        "failed_factors": [
          "Kenaikan sehat +1% s/d <12%",
          "RSI 1D 50\u201368",
          "ATR 1D 1,5\u20136%",
          "Jarak SMA20 -2% s/d +8%"
        ],
        "factors": [
          {
            "id": "healthy_move",
            "label": "Kenaikan sehat +1% s/d <12%",
            "passed": false,
            "value": 15.384615384615385
          },
          {
            "id": "active_volume",
            "label": "RVOL intraday \u22651,5x",
            "passed": true,
            "value": 2.54299568087296
          },
          {
            "id": "liquidity",
            "label": "Nilai transaksi \u2265Rp2 miliar",
            "passed": true,
            "value": 123358950000.0
          },
          {
            "id": "healthy_rsi",
            "label": "RSI 1D 50\u201368",
            "passed": false,
            "value": 76.391
          },
          {
            "id": "trend_strength",
            "label": "ADX 1D \u226520",
            "passed": true,
            "value": 41.883
          },
          {
            "id": "buyer_direction",
            "label": "+DI lebih kuat dari -DI",
            "passed": true,
            "value": 28.867
          },
          {
            "id": "trend_stack",
            "label": "Harga > SMA20 > SMA50",
            "passed": true,
            "value": true
          },
          {
            "id": "vwap_control",
            "label": "Di atas VWAP, tidak lebih dari +5%",
            "passed": true,
            "value": 3.979
          },
          {
            "id": "controlled_atr",
            "label": "ATR 1D 1,5\u20136%",
            "passed": false,
            "value": 8.085
          },
          {
            "id": "strong_close",
            "label": "Close kuat dan upper wick \u226435%",
            "passed": true,
            "value": {
              "close_position_pct": 82.98,
              "upper_wick_pct": 17.02
            }
          },
          {
            "id": "market_alignment",
            "label": "IHSG tidak bearish",
            "passed": true,
            "value": "NEUTRAL"
          },
          {
            "id": "not_extended",
            "label": "Jarak SMA20 -2% s/d +8%",
            "passed": false,
            "value": 38.871
          }
        ],
        "interpretation": "Skor kualitas screening, bukan winrate dan bukan SIAP ENTRY."
      },
      "screening_status": "TIDAK LAYAK DITUNGGU",
      "screening_reasons": [
        "Tidak ada bukti downtrend sebelumnya",
        "Sudah naik +15.4%",
        "Extended +73.2% dari SMA50",
        "RSI daily terlalu tinggi 76.4"
      ],
      "selection_score": 0.0
    },
    {
      "ticker": "UNTR",
      "price": 26300.0,
      "change_pct": 4.469,
      "status": "NEAR",
      "score": -1.5,
      "vol_ratio": 2.234,
      "vol_ratio_daily": 0.775,
      "vol_ratio_intraday": 2.234,
      "break_margin_pct": -2.502,
      "swing_high": 26975.0,
      "dist_sma50_pct": 6.486,
      "downtrend_below_pct": 0.0,
      "prior_downtrend": false,
      "downtrend_proxy": "MISSING",
      "sma20": 25342.5,
      "sma50": 24698.0,
      "avg_value": 91754651000.0,
      "technical_features": {
        "sector": "Energy Minerals",
        "industry": "Coal",
        "rsi_1d": 63.266,
        "adx_1d": 25.391,
        "plus_di_1d": 34.715,
        "minus_di_1d": 14.521,
        "di_spread_1d": 20.194,
        "atr_pct_1d": 2.701,
        "vwap_distance_pct": 1.057,
        "macd_gap_pct": -0.0735,
        "sma20_distance_pct": 3.778,
        "sma50_distance_pct": 6.486,
        "trend_stack_1d": true,
        "perf_week_pct": 7.897,
        "perf_month_pct": 9.583,
        "distance_to_1m_high_pct": -2.502,
        "distance_to_52w_high_pct": -4.882,
        "gap_from_previous_close_pct": 0.099,
        "close_position_pct": 78.95,
        "body_to_range_pct": 77.19,
        "upper_wick_pct": 21.05,
        "volume_ratio_daily": 0.775,
        "volume_ratio_intraday": 2.234,
        "value_traded": 71125720000.0,
        "ihsg_change_pct": 0.218,
        "ihsg_rsi_1d": 33.051,
        "ihsg_adx_1d": 30.332,
        "ihsg_perf_week_pct": -2.587,
        "ihsg_perf_month_pct": -5.776,
        "ihsg_regime": "NEUTRAL",
        "feature_available_count": 15,
        "feature_required_count": 15,
        "feature_completeness_pct": 100.0,
        "signal_class": "NEAR",
        "prior_downtrend": false,
        "downtrend_proxy": "MISSING",
        "perf_3m_pct": 19.41,
        "break_margin_pct": -2.502,
        "dist_sma50_pct": 6.486,
        "swing_high": 26975.0
      },
      "quality_protocol": {
        "id": "quality_85_protocol",
        "label": "Sukses",
        "score": 100,
        "target_score": 85,
        "passed": true,
        "passed_factors": 12,
        "factor_count": 12,
        "failed_factors": [],
        "factors": [
          {
            "id": "healthy_move",
            "label": "Kenaikan sehat +1% s/d <12%",
            "passed": true,
            "value": 4.468718967229394
          },
          {
            "id": "active_volume",
            "label": "RVOL intraday \u22651,5x",
            "passed": true,
            "value": 2.2336518971159007
          },
          {
            "id": "liquidity",
            "label": "Nilai transaksi \u2265Rp2 miliar",
            "passed": true,
            "value": 71125720000.0
          },
          {
            "id": "healthy_rsi",
            "label": "RSI 1D 50\u201368",
            "passed": true,
            "value": 63.266
          },
          {
            "id": "trend_strength",
            "label": "ADX 1D \u226520",
            "passed": true,
            "value": 25.391
          },
          {
            "id": "buyer_direction",
            "label": "+DI lebih kuat dari -DI",
            "passed": true,
            "value": 20.194
          },
          {
            "id": "trend_stack",
            "label": "Harga > SMA20 > SMA50",
            "passed": true,
            "value": true
          },
          {
            "id": "vwap_control",
            "label": "Di atas VWAP, tidak lebih dari +5%",
            "passed": true,
            "value": 1.057
          },
          {
            "id": "controlled_atr",
            "label": "ATR 1D 1,5\u20136%",
            "passed": true,
            "value": 2.701
          },
          {
            "id": "strong_close",
            "label": "Close kuat dan upper wick \u226435%",
            "passed": true,
            "value": {
              "close_position_pct": 78.95,
              "upper_wick_pct": 21.05
            }
          },
          {
            "id": "market_alignment",
            "label": "IHSG tidak bearish",
            "passed": true,
            "value": "NEUTRAL"
          },
          {
            "id": "not_extended",
            "label": "Jarak SMA20 -2% s/d +8%",
            "passed": true,
            "value": 3.778
          }
        ],
        "interpretation": "Skor kualitas screening, bukan winrate dan bukan SIAP ENTRY."
      },
      "screening_status": "TIDAK LAYAK DITUNGGU",
      "screening_reasons": [
        "Tidak ada bukti downtrend sebelumnya"
      ],
      "selection_score": 0.0
    },
    {
      "ticker": "SINI",
      "price": 18300.0,
      "change_pct": 14.019,
      "status": "NEAR",
      "score": -3.7,
      "vol_ratio": 1.456,
      "vol_ratio_daily": 1.375,
      "vol_ratio_intraday": 1.456,
      "break_margin_pct": -0.136,
      "swing_high": 18325.0,
      "dist_sma50_pct": 88.088,
      "downtrend_below_pct": 0.0,
      "prior_downtrend": false,
      "downtrend_proxy": "MISSING",
      "sma20": 13701.25,
      "sma50": 9729.5,
      "avg_value": 221148363000.0,
      "technical_features": {
        "sector": "Consumer Services",
        "industry": "Hotels/Resorts/Cruise lines",
        "rsi_1d": 76.983,
        "adx_1d": 46.839,
        "plus_di_1d": 43.607,
        "minus_di_1d": 11.162,
        "di_spread_1d": 32.445,
        "atr_pct_1d": 7.055,
        "vwap_distance_pct": 4.721,
        "macd_gap_pct": 1.3952,
        "sma20_distance_pct": 33.564,
        "sma50_distance_pct": 88.088,
        "trend_stack_1d": true,
        "perf_week_pct": 12.963,
        "perf_month_pct": 103.9,
        "distance_to_1m_high_pct": -0.136,
        "distance_to_52w_high_pct": -0.136,
        "gap_from_previous_close_pct": 0.0,
        "close_position_pct": 99.01,
        "body_to_range_pct": 89.11,
        "upper_wick_pct": 0.99,
        "volume_ratio_daily": 1.375,
        "volume_ratio_intraday": 1.456,
        "value_traded": 304175280000.0,
        "ihsg_change_pct": 0.218,
        "ihsg_rsi_1d": 33.051,
        "ihsg_adx_1d": 30.332,
        "ihsg_perf_week_pct": -2.587,
        "ihsg_perf_month_pct": -5.776,
        "ihsg_regime": "NEUTRAL",
        "feature_available_count": 15,
        "feature_required_count": 15,
        "feature_completeness_pct": 100.0,
        "signal_class": "NEAR",
        "prior_downtrend": false,
        "downtrend_proxy": "MISSING",
        "perf_3m_pct": 201.694,
        "break_margin_pct": -0.136,
        "dist_sma50_pct": 88.088,
        "swing_high": 18325.0
      },
      "quality_protocol": {
        "id": "quality_85_protocol",
        "label": "Sukses",
        "score": 58,
        "target_score": 85,
        "passed": false,
        "passed_factors": 7,
        "factor_count": 12,
        "failed_factors": [
          "Kenaikan sehat +1% s/d <12%",
          "RVOL intraday \u22651,5x",
          "RSI 1D 50\u201368",
          "ATR 1D 1,5\u20136%",
          "Jarak SMA20 -2% s/d +8%"
        ],
        "factors": [
          {
            "id": "healthy_move",
            "label": "Kenaikan sehat +1% s/d <12%",
            "passed": false,
            "value": 14.018691588785046
          },
          {
            "id": "active_volume",
            "label": "RVOL intraday \u22651,5x",
            "passed": false,
            "value": 1.456010032799537
          },
          {
            "id": "liquidity",
            "label": "Nilai transaksi \u2265Rp2 miliar",
            "passed": true,
            "value": 304175280000.0
          },
          {
            "id": "healthy_rsi",
            "label": "RSI 1D 50\u201368",
            "passed": false,
            "value": 76.983
          },
          {
            "id": "trend_strength",
            "label": "ADX 1D \u226520",
            "passed": true,
            "value": 46.839
          },
          {
            "id": "buyer_direction",
            "label": "+DI lebih kuat dari -DI",
            "passed": true,
            "value": 32.445
          },
          {
            "id": "trend_stack",
            "label": "Harga > SMA20 > SMA50",
            "passed": true,
            "value": true
          },
          {
            "id": "vwap_control",
            "label": "Di atas VWAP, tidak lebih dari +5%",
            "passed": true,
            "value": 4.721
          },
          {
            "id": "controlled_atr",
            "label": "ATR 1D 1,5\u20136%",
            "passed": false,
            "value": 7.055
          },
          {
            "id": "strong_close",
            "label": "Close kuat dan upper wick \u226435%",
            "passed": true,
            "value": {
              "close_position_pct": 99.01,
              "upper_wick_pct": 0.99
            }
          },
          {
            "id": "market_alignment",
            "label": "IHSG tidak bearish",
            "passed": true,
            "value": "NEUTRAL"
          },
          {
            "id": "not_extended",
            "label": "Jarak SMA20 -2% s/d +8%",
            "passed": false,
            "value": 33.564
          }
        ],
        "interpretation": "Skor kualitas screening, bukan winrate dan bukan SIAP ENTRY."
      },
      "screening_status": "TIDAK LAYAK DITUNGGU",
      "screening_reasons": [
        "Tidak ada bukti downtrend sebelumnya",
        "Extended +88.1% dari SMA50",
        "RSI daily terlalu tinggi 77.0"
      ],
      "selection_score": 0.0
    },
    {
      "ticker": "RSCH",
      "price": 520.0,
      "change_pct": 0.971,
      "status": "NEAR",
      "score": -10.7,
      "vol_ratio": 1.205,
      "vol_ratio_daily": 0.64,
      "vol_ratio_intraday": 1.205,
      "break_margin_pct": -0.952,
      "swing_high": 525.0,
      "dist_sma50_pct": 42.193,
      "downtrend_below_pct": 0.0,
      "prior_downtrend": false,
      "downtrend_proxy": "MISSING",
      "sma20": 441.95,
      "sma50": 365.7,
      "avg_value": 13028631200.0,
      "technical_features": {
        "sector": "Health Services",
        "industry": "Hospital/Nursing Management",
        "rsi_1d": 84.959,
        "adx_1d": 72.731,
        "plus_di_1d": 35.687,
        "minus_di_1d": 3.211,
        "di_spread_1d": 32.476,
        "atr_pct_1d": 4.371,
        "vwap_distance_pct": 0.645,
        "macd_gap_pct": 0.9955,
        "sma20_distance_pct": 17.66,
        "sma50_distance_pct": 42.193,
        "trend_stack_1d": true,
        "perf_week_pct": 15.556,
        "perf_month_pct": 52.941,
        "distance_to_1m_high_pct": -0.952,
        "distance_to_52w_high_pct": -0.952,
        "gap_from_previous_close_pct": 0.0,
        "close_position_pct": 75.0,
        "body_to_range_pct": 25.0,
        "upper_wick_pct": 25.0,
        "volume_ratio_daily": 0.64,
        "volume_ratio_intraday": 1.205,
        "value_traded": 8332896000.0,
        "ihsg_change_pct": 0.218,
        "ihsg_rsi_1d": 33.051,
        "ihsg_adx_1d": 30.332,
        "ihsg_perf_week_pct": -2.587,
        "ihsg_perf_month_pct": -5.776,
        "ihsg_regime": "NEUTRAL",
        "feature_available_count": 15,
        "feature_required_count": 15,
        "feature_completeness_pct": 100.0,
        "signal_class": "NEAR",
        "prior_downtrend": false,
        "downtrend_proxy": "MISSING",
        "perf_3m_pct": 84.397,
        "break_margin_pct": -0.952,
        "dist_sma50_pct": 42.193,
        "swing_high": 525.0
      },
      "quality_protocol": {
        "id": "quality_85_protocol",
        "label": "Sukses",
        "score": 67,
        "target_score": 85,
        "passed": false,
        "passed_factors": 8,
        "factor_count": 12,
        "failed_factors": [
          "Kenaikan sehat +1% s/d <12%",
          "RVOL intraday \u22651,5x",
          "RSI 1D 50\u201368",
          "Jarak SMA20 -2% s/d +8%"
        ],
        "factors": [
          {
            "id": "healthy_move",
            "label": "Kenaikan sehat +1% s/d <12%",
            "passed": false,
            "value": 0.9708737864077669
          },
          {
            "id": "active_volume",
            "label": "RVOL intraday \u22651,5x",
            "passed": false,
            "value": 1.2054466453026782
          },
          {
            "id": "liquidity",
            "label": "Nilai transaksi \u2265Rp2 miliar",
            "passed": true,
            "value": 8332896000.0
          },
          {
            "id": "healthy_rsi",
            "label": "RSI 1D 50\u201368",
            "passed": false,
            "value": 84.959
          },
          {
            "id": "trend_strength",
            "label": "ADX 1D \u226520",
            "passed": true,
            "value": 72.731
          },
          {
            "id": "buyer_direction",
            "label": "+DI lebih kuat dari -DI",
            "passed": true,
            "value": 32.476
          },
          {
            "id": "trend_stack",
            "label": "Harga > SMA20 > SMA50",
            "passed": true,
            "value": true
          },
          {
            "id": "vwap_control",
            "label": "Di atas VWAP, tidak lebih dari +5%",
            "passed": true,
            "value": 0.645
          },
          {
            "id": "controlled_atr",
            "label": "ATR 1D 1,5\u20136%",
            "passed": true,
            "value": 4.371
          },
          {
            "id": "strong_close",
            "label": "Close kuat dan upper wick \u226435%",
            "passed": true,
            "value": {
              "close_position_pct": 75.0,
              "upper_wick_pct": 25.0
            }
          },
          {
            "id": "market_alignment",
            "label": "IHSG tidak bearish",
            "passed": true,
            "value": "NEUTRAL"
          },
          {
            "id": "not_extended",
            "label": "Jarak SMA20 -2% s/d +8%",
            "passed": false,
            "value": 17.66
          }
        ],
        "interpretation": "Skor kualitas screening, bukan winrate dan bukan SIAP ENTRY."
      },
      "screening_status": "TIDAK LAYAK DITUNGGU",
      "screening_reasons": [
        "Tidak ada bukti downtrend sebelumnya",
        "Extended +42.2% dari SMA50",
        "RSI daily terlalu tinggi 85.0"
      ],
      "selection_score": 0.0
    },
    {
      "ticker": "MOLI",
      "price": 418.0,
      "change_pct": 8.29,
      "status": "NEAR",
      "score": -14.0,
      "vol_ratio": 1.233,
      "vol_ratio_daily": 0.808,
      "vol_ratio_intraday": 1.233,
      "break_margin_pct": -1.878,
      "swing_high": 426.0,
      "dist_sma50_pct": 38.008,
      "downtrend_below_pct": 0.0,
      "prior_downtrend": false,
      "downtrend_proxy": "MISSING",
      "sma20": 348.5,
      "sma50": 302.88,
      "avg_value": 6228074600.0,
      "technical_features": {
        "sector": "Process Industries",
        "industry": "Chemicals: Specialty",
        "rsi_1d": 73.366,
        "adx_1d": 52.641,
        "plus_di_1d": 39.006,
        "minus_di_1d": 9.962,
        "di_spread_1d": 29.044,
        "atr_pct_1d": 5.855,
        "vwap_distance_pct": 2.451,
        "macd_gap_pct": 0.8874,
        "sma20_distance_pct": 19.943,
        "sma50_distance_pct": 38.008,
        "trend_stack_1d": true,
        "perf_week_pct": 10.0,
        "perf_month_pct": 46.154,
        "distance_to_1m_high_pct": -1.878,
        "distance_to_52w_high_pct": -1.878,
        "gap_from_previous_close_pct": 1.036,
        "close_position_pct": 82.61,
        "body_to_range_pct": 60.87,
        "upper_wick_pct": 17.39,
        "volume_ratio_daily": 0.808,
        "volume_ratio_intraday": 1.233,
        "value_traded": 5032385600.0,
        "ihsg_change_pct": 0.218,
        "ihsg_rsi_1d": 33.051,
        "ihsg_adx_1d": 30.332,
        "ihsg_perf_week_pct": -2.587,
        "ihsg_perf_month_pct": -5.776,
        "ihsg_regime": "NEUTRAL",
        "feature_available_count": 15,
        "feature_required_count": 15,
        "feature_completeness_pct": 100.0,
        "signal_class": "NEAR",
        "prior_downtrend": false,
        "downtrend_proxy": "MISSING",
        "perf_3m_pct": 80.172,
        "break_margin_pct": -1.878,
        "dist_sma50_pct": 38.008,
        "swing_high": 426.0
      },
      "quality_protocol": {
        "id": "quality_85_protocol",
        "label": "Sukses",
        "score": 75,
        "target_score": 85,
        "passed": false,
        "passed_factors": 9,
        "factor_count": 12,
        "failed_factors": [
          "RVOL intraday \u22651,5x",
          "RSI 1D 50\u201368",
          "Jarak SMA20 -2% s/d +8%"
        ],
        "factors": [
          {
            "id": "healthy_move",
            "label": "Kenaikan sehat +1% s/d <12%",
            "passed": true,
            "value": 8.290155440414509
          },
          {
            "id": "active_volume",
            "label": "RVOL intraday \u22651,5x",
            "passed": false,
            "value": 1.2329753361443492
          },
          {
            "id": "liquidity",
            "label": "Nilai transaksi \u2265Rp2 miliar",
            "passed": true,
            "value": 5032385600.0
          },
          {
            "id": "healthy_rsi",
            "label": "RSI 1D 50\u201368",
            "passed": false,
            "value": 73.366
          },
          {
            "id": "trend_strength",
            "label": "ADX 1D \u226520",
            "passed": true,
            "value": 52.641
          },
          {
            "id": "buyer_direction",
            "label": "+DI lebih kuat dari -DI",
            "passed": true,
            "value": 29.044
          },
          {
            "id": "trend_stack",
            "label": "Harga > SMA20 > SMA50",
            "passed": true,
            "value": true
          },
          {
            "id": "vwap_control",
            "label": "Di atas VWAP, tidak lebih dari +5%",
            "passed": true,
            "value": 2.451
          },
          {
            "id": "controlled_atr",
            "label": "ATR 1D 1,5\u20136%",
            "passed": true,
            "value": 5.855
          },
          {
            "id": "strong_close",
            "label": "Close kuat dan upper wick \u226435%",
            "passed": true,
            "value": {
              "close_position_pct": 82.61,
              "upper_wick_pct": 17.39
            }
          },
          {
            "id": "market_alignment",
            "label": "IHSG tidak bearish",
            "passed": true,
            "value": "NEUTRAL"
          },
          {
            "id": "not_extended",
            "label": "Jarak SMA20 -2% s/d +8%",
            "passed": false,
            "value": 19.943
          }
        ],
        "interpretation": "Skor kualitas screening, bukan winrate dan bukan SIAP ENTRY."
      },
      "screening_status": "TIDAK LAYAK DITUNGGU",
      "screening_reasons": [
        "Tidak ada bukti downtrend sebelumnya",
        "Extended +38.0% dari SMA50",
        "RSI daily terlalu tinggi 73.4"
      ],
      "selection_score": 0.0
    }
  ],
  "selection_policy": {
    "display_limit": 30,
    "min_avg_value": 1000000000,
    "min_change_pct_exclusive": -5.0,
    "max_change_pct_exclusive": 15.0,
    "max_sma50_stretch_pct": 12.0,
    "screening_outputs": [
      "KANDIDAT FULL PA",
      "TIDAK LAYAK DITUNGGU"
    ],
    "note": "CONFIRM/NEAR adalah kelas pola daily, bukan status entry. SIAP ENTRY tetap memerlukan PA 1D/1H/15m dan trigger close 5m."
  },
  "history": {
    "date": "2026-09-30",
    "file": "trend_break_history/2026-09-30.json",
    "snapshot_count": 1,
    "ticker_count": 2
  }
}