{
  "schema_version": "1.3.0",
  "id": "keltner-squeeze-long",
  "name": "Keltner Squeeze LONG (Bull Regime)",
  "name_ko": "켈트너 스퀴즈 롱 (불장 국면)",
  "url": "https://pruviq.com/strategies/keltner-squeeze-long/",
  "url_ko": "https://pruviq.com/ko/strategies/keltner-squeeze-long/",
  "settings_url": "https://pruviq.com/strategies/keltner-squeeze-long/settings/",
  "description": "Long when Bollinger Bands compress inside Keltner Channels then break upward. Card metrics are the full-window run at the card's own settings (4H, 50 coins, sl15/tp30) — the same run the Simulate button reproduces. The earlier headline PF 2.28 (367 trades, OOS 2.96, measured 2026-05-04) was a bull-regime subset: true for that window, but no button setting selects it. Kept below as history.",
  "status": "testing",
  "direction": "long",
  "timeframe": "4H",
  "category": "breakout",
  "date_added": "2026-05-04",
  "date_killed": null,
  "last_modified": "2026-09-26",
  "headline_metrics": {
    "source": "frontmatter",
    "win_rate_pct": 43.62,
    "profit_factor": 1.12,
    "total_return": null,
    "trades": 917,
    "coin_scope": 50,
    "coin_universe": "top",
    "measured_with": {
      "sl": 15,
      "tp": 30
    },
    "measured_at": "2026-08-23",
    "note": "Numbers the strategy page shows as its headline; scope and measurement date apply to all of them. Absent fields are unknown, not zero."
  },
  "preset": {
    "verdict": "conditional",
    "killed": false,
    "shelved": false,
    "kill_reason": null,
    "live_tracked": false,
    "defaults": {
      "sl_pct": 15,
      "tp_pct": 30,
      "coin": "BTC"
    },
    "metrics": {
      "scope": {
        "topN": 10,
        "timeframe": "1H",
        "marketType": "futures",
        "feePct": 0.0005,
        "leverage": 5
      },
      "profit_factor": 1.33,
      "sharpe": 1.31,
      "total_return_pct": 295.7,
      "win_rate_pct": 49.15,
      "max_drawdown_pct": 36,
      "trades": 936,
      "measured_at": "2026-10-06",
      "profit_factor_ci": {
        "lo": 1.14,
        "hi": 1.56,
        "ciPct": 90,
        "unit": "trades",
        "n": 936
      },
      "sharpe_ci": {
        "lo": 0.37,
        "hi": 2.23,
        "ciPct": 90,
        "unit": "daily_returns",
        "n": 1031
      }
    }
  },
  "verification": {
    "url": "https://pruviq.com/data/verification/keltner-squeeze-long.json",
    "measured_at": "2026-09-22T12:01:54.932589Z",
    "criteria_version": "preset-battery-0155407b42ed6a33",
    "rc": 0,
    "current_status": "downgraded",
    "current": {
      "status": "downgraded",
      "date": "2026-09-25",
      "criteria_version": "preset-battery-fa0045665478308c",
      "criteria_url": "https://pruviq.com/data/verification/criteria/preset-battery-fa0045665478308c.json",
      "reason": {
        "en": "Measured on today's top 10 coins with SL/TP chosen on data up to 2026-07-12. Without ZEC and HYPE the full-period PF at a 0.05% fee plus 0.20% slippage per fill falls from 1.17 to 0.970, and the window after the SL/TP choice (2026-07-15 to 2026-09-24) has 79 trades.",
        "ko": "오늘 상위 10코인으로, 2026-07-12 까지 데이터로 고른 SL/TP 로 잰 결과다. ZEC·HYPE 를 빼면 전체 기간 PF(수수료 0.05% + 체결당 슬리피지 0.20%)가 1.17 에서 0.970 으로 떨어지고, SL/TP 선택 뒤 구간(2026-07-15 ~ 2026-09-24)의 거래는 79건이다."
      }
    }
  },
  "reproduce": {
    "how": "POST the strategy id and your risk settings to the public API; no key or account. The request schema is in the OpenAPI document.",
    "api": "https://api.pruviq.com/simulate",
    "openapi": "https://api.pruviq.com/openapi.json",
    "docs": "https://pruviq.com/api/",
    "preset_id": "keltner-squeeze-long",
    "builder_url": "https://pruviq.com/simulate/builder/?strategy=keltner-squeeze-long&dir=long&sl=15&tp=30"
  },
  "generated_at": "2026-10-05T23:34:15.051Z",
  "citation_contract": {
    "contract": "pruviq.citation.v1",
    "canonical_url": "https://pruviq.com/data/strategies/keltner-squeeze-long.json",
    "cite_as": "PRUVIQ, “Keltner Squeeze LONG (Bull Regime) strategy record”, https://pruviq.com/data/strategies/keltner-squeeze-long.json (as of 2026-10-06).",
    "as_of": "2026-10-06",
    "as_of_field": "preset.metrics.measured_at",
    "method_version": {
      "url": "https://pruviq.com/methodology/",
      "url_ko": "https://pruviq.com/ko/methodology/",
      "version": "2026-10-01T01:12:23+09:00",
      "version_kind": "date the methodology page source last changed (git); null = not known at build",
      "criteria_version": "preset-battery-0155407b42ed6a33",
      "criteria_url": "https://pruviq.com/data/verification/criteria/preset-battery-0155407b42ed6a33.json"
    },
    "data_scope": {
      "market": "OKX USDT perpetual futures (USDT-SWAP) instruments only, no spot markets; part of the historical candles come from another exchange (see data_source)",
      "describes": "`preset.metrics` only — the live engine re-measurement (the record's as_of). `headline_metrics` have their own scope in `headline_metrics_scope`.",
      "headline_metrics_scope": "Not stated on the strategy page: the headline numbers are the page's own measurement; their market, data source and costs are not stated there.",
      "headline_metrics_costs": "Not stated on the strategy page. The engine default fee applies to `preset.metrics` only, not to these numbers.",
      "headline_metrics_scope_ko": "전략 페이지에 명시되지 않음: 대표 수치는 페이지 자체의 측정이며, 시장·데이터 출처·비용은 페이지에 적혀 있지 않다.",
      "headline_metrics_costs_ko": "전략 페이지에 명시되지 않음. 엔진 기본 수수료는 `preset.metrics` 에만 적용되며 이 수치에는 적용되지 않는다.",
      "data_source": "Binance and OKX historical candles, with current updates from OKX USDT-SWAP; historical source boundaries vary by symbol and timestamp",
      "coin_roster": {
        "crypto_coins": 282,
        "note": "The crypto coins in the analyzed roster at build time. It is the roster, not the population of any one verdict — see `population`."
      },
      "population": "Preset verdict: `preset.metrics.scope` (top-N coins, timeframe, market, fee_pct, leverage). Headline numbers: `headline_metrics.coin_scope` and `coin_universe` (null = the page makes no scope claim).",
      "generator": [
        "src/lib/strategy-machine.ts",
        "src/content/strategies",
        "scripts/gen-preset-metrics.py"
      ],
      "costs": {
        "applies_to_this_file": true,
        "fees_included": true,
        "slippage_included": true,
        "funding": "Funding-rate proxy — funding is charged at real settlement events using actual historical rates (Binance funding history as a proxy for the OKX universe; the sign flips with the market, so shorts can pay too).",
        "default_taker_fee_pct_per_side": 0.05,
        "default_fee_applied_to_this_file": true,
        "default_fee_basis": "Applies to `preset.metrics` only. This is the OKX USDT-SWAP default for VIP 0 tier",
        "default_fee_scope": "`preset.metrics`",
        "preset_fee_is_undiscounted_default": true,
        "rate_used": "The fee rate stated in this file where it states one (e.g. `preset.metrics.scope.feePct`, `inputs`, `scope.fee_pct_per_side`); otherwise the default above."
      }
    },
    "referral": "none",
    "neutrality": {
      "statement": "No exchange is ranked, compared or recommended in this file, and it carries no referral or sign-up link. The exchanges covered (`exchanges_covered`; `exchanges_detail` separates instrument venues from candle sources) are a fact about the data, not an endorsement; a verdict describes a strategy on these markets, not where to trade it.",
      "referral_links_in_this_file": 0,
      "paid_placement": false,
      "exchanges_covered": [
        "OKX",
        "Binance"
      ],
      "exchanges_detail": {
        "instruments": [
          "OKX USDT-SWAP"
        ],
        "historical_candles": [
          "OKX",
          "Binance"
        ]
      },
      "revenue_disclosure_url": "https://pruviq.com/fees",
      "not_investment_advice": true
    },
    "how_to_reverify": {
      "url": "https://pruviq.com/data/verification/keltner-squeeze-long.json",
      "how": "The record's `how_to_reverify.command` replays it: python3 reverify.py <record_url> (exit 0 reproduced, 1 differs, 2 not a reproduction)."
    }
  }
}