[
  {
    "id": "fmz-ma21",
    "name": "FMZ MA21 crossover \u2014 daily long/cash",
    "rule": "Long on close crossing above SMA21; cash on downward cross.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/426368",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/Dual-Moving-Average-Crossover-Tracking-Strategy.md",
    "reviewed_source_sha256": "a6aac23b0443fbea372ffe5297729ae9db702ed1ee91c19c00240db4d2b8064c",
    "status": "normalized-signal-adapter",
    "changes": "Daily bars replace original interval; short signals become cash; all-in sizing, costs and next-open fills use DuckQuant protocol. Intrabar exits, pyramiding and venue-specific orders are not reproduced. This is not the original platform strategy performance.",
    "license_note": "Per-file license varies; original full source is not redistributed in the reproducibility bundle. Source attribution retained.",
    "checked_on": "2026-10-25",
    "family": "Public source variant",
    "evidence_type": "published-strategy-variant"
  },
  {
    "id": "fmz-ma-angle",
    "name": "FMZ SMA8/21 angle \u2014 daily long/cash",
    "rule": "SMA8/21 cross within previous 15 bars plus SMA21 two-bar ATR10-normalized angle above 7 degrees; bearish condition exits.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/439106",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/8%E5%91%A8%E6%9C%9F%E5%92%8C21%E5%91%A8%E6%9C%9F%E7%9A%84%E7%A7%BB%E5%8A%A8%E5%B9%B3%E5%9D%87%E7%BA%BF%E7%AD%96%E7%95%A5Dual-Moving-Average-Strategy.md",
    "reviewed_source_sha256": "15a8cc5807f85498e60f29ee0df5aa7e1342e87ea01fcea38f96968b1d29f0b7",
    "status": "normalized-signal-adapter",
    "changes": "Daily bars replace original interval; short signals become cash; all-in sizing, costs and next-open fills use DuckQuant protocol. Intrabar exits, pyramiding and venue-specific orders are not reproduced. This is not the original platform strategy performance.",
    "license_note": "Per-file license varies; original full source is not redistributed in the reproducibility bundle. Source attribution retained.",
    "checked_on": "2026-10-25",
    "family": "Public source variant",
    "evidence_type": "published-strategy-variant"
  },
  {
    "id": "fmz-supertrend",
    "name": "FMZ SuperTrend \u2014 daily long/cash",
    "rule": "ATR10 \u00d7 3 trailing bands; long on bullish direction flip, cash on bearish flip.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/370653",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/SuperTrend.md",
    "reviewed_source_sha256": "ab130ba0abc0ce2f2104b9c8534f52c1822b7dd5b8317fd23c03d0d3f92daba9",
    "status": "normalized-signal-adapter",
    "changes": "Daily bars replace original interval; short signals become cash; all-in sizing, costs and next-open fills use DuckQuant protocol. Intrabar exits, pyramiding and venue-specific orders are not reproduced. This is not the original platform strategy performance.",
    "license_note": "Per-file license varies; original full source is not redistributed in the reproducibility bundle. Source attribution retained.",
    "checked_on": "2026-10-25",
    "family": "Public source variant",
    "evidence_type": "published-strategy-variant"
  },
  {
    "id": "fmz-hull55",
    "name": "FMZ Hull55 \u2014 daily long/cash",
    "rule": "Hull MA55 above its value two bars ago selects long; below selects cash.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/365727",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/Hull-Suite-Strategy.md",
    "reviewed_source_sha256": "c007958c534202a077a2f8a52d476ea4ea5ddbbf11884445a3a423c60d9dc5cc",
    "status": "normalized-signal-adapter",
    "changes": "Daily bars replace original interval; short signals become cash; all-in sizing, costs and next-open fills use DuckQuant protocol. Intrabar exits, pyramiding and venue-specific orders are not reproduced. This is not the original platform strategy performance.",
    "license_note": "Per-file license varies; original full source is not redistributed in the reproducibility bundle. Source attribution retained.",
    "checked_on": "2026-10-25",
    "family": "Public source variant",
    "evidence_type": "published-strategy-variant"
  },
  {
    "id": "fmz-williams",
    "name": "FMZ Williams reversal \u2014 daily long/cash",
    "rule": "Williams %R34 WMA5 trough below -30 enters; peak above -70 exits.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/361974",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/Williams-R-Smoothed.md",
    "reviewed_source_sha256": "e68e514b906e56ec2f2c4b0176ed073fc82f1602b46e7821ba64e932fdb29dad",
    "status": "normalized-signal-adapter",
    "changes": "Daily bars replace original interval; short signals become cash; all-in sizing, costs and next-open fills use DuckQuant protocol. Intrabar exits, pyramiding and venue-specific orders are not reproduced. This is not the original platform strategy performance.",
    "license_note": "Per-file license varies; original full source is not redistributed in the reproducibility bundle. Source attribution retained.",
    "checked_on": "2026-10-25",
    "family": "Public source variant",
    "evidence_type": "published-strategy-variant"
  },
  {
    "id": "fmz-keltner",
    "name": "FMZ King Keltner \u2014 daily long/cash",
    "rule": "Close above SMA11 + 1.3 \u00d7 ATR11 enters; close below 85% of highest high since entry exits.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/42283",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/KingKeltner%E8%B6%8B%E5%8A%BF%E7%AD%96%E7%95%A5_%E4%BD%8E%E9%A2%91.md",
    "reviewed_source_sha256": "857306b08b27340d33af75545627ee2cce07bb19b525d966ca4f597ba3fe55f9",
    "status": "normalized-signal-adapter",
    "changes": "Daily bars replace original interval; short signals become cash; all-in sizing, costs and next-open fills use DuckQuant protocol. Intrabar exits, pyramiding and venue-specific orders are not reproduced. This is not the original platform strategy performance.",
    "license_note": "Per-file license varies; original full source is not redistributed in the reproducibility bundle. Source attribution retained.",
    "checked_on": "2026-10-25",
    "family": "Public source variant",
    "evidence_type": "published-strategy-variant"
  },
  {
    "id": "fmz-triple-macd",
    "name": "FMZ EMA50/200 + MACD \u2014 daily long/cash",
    "rule": "MACD26/49 EMA2 histogram crosses positive with EMA50>EMA200 to enter; negative cross with EMA50<EMA200 exits.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/362430",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/Triple-EMA-MACD.md",
    "reviewed_source_sha256": "22e9165fce47d2506a2debc2bacaa9368c6bf1ce52a634a6d6f2fc3b4255efa1",
    "status": "normalized-signal-adapter",
    "changes": "Daily bars replace original interval; short signals become cash; all-in sizing, costs and next-open fills use DuckQuant protocol. Intrabar exits, pyramiding and venue-specific orders are not reproduced. This is not the original platform strategy performance.",
    "license_note": "Per-file license varies; original full source is not redistributed in the reproducibility bundle. Source attribution retained.",
    "checked_on": "2026-10-25",
    "family": "Public source variant",
    "evidence_type": "published-strategy-variant"
  },
  {
    "id": "fmz-chaikin",
    "name": "FMZ money-flow oscillator \u2014 daily long/cash",
    "rule": "EMA10 of 10-bar sum of (close-open)/(high-low)\u00d7volume minus EMA3 of 3-bar sum: positive long, negative cash.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/429077",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/%E8%81%9A%E5%90%88%E5%8A%A8%E9%87%8F%E6%8C%87%E6%A0%87%E7%AD%96%E7%95%A5Chaikin-Oscillator-Strategy.md",
    "reviewed_source_sha256": "88706eac93901d588672f5f962a5bbcefacace734a969b1ff82e72bfe8ce07eb",
    "status": "normalized-signal-adapter",
    "changes": "Daily bars replace original interval; short signals become cash; all-in sizing, costs and next-open fills use DuckQuant protocol. Intrabar exits, pyramiding and venue-specific orders are not reproduced. This is not the original platform strategy performance.",
    "license_note": "Per-file license varies; original full source is not redistributed in the reproducibility bundle. Source attribution retained.",
    "checked_on": "2026-10-25",
    "family": "Public source variant",
    "evidence_type": "published-strategy-variant"
  },
  {
    "id": "fmz-bb-squeeze",
    "name": "FMZ BB/Keltner squeeze \u2014 daily long/cash",
    "rule": "SMA20 \u00b1 2 population deviations vs EMA20 + 1.5 EMA20(true range); exit squeeze upward enters, regime change exits.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/427810",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/BB-Keltner-Squeeze%E4%BA%A4%E6%98%93%E7%AD%96%E7%95%A5BB-Keltner-Squeeze-Trading-Strategy.md",
    "reviewed_source_sha256": "d1013ffa1e17e9306f66fcc1f53737c9c674b777d6ed531a3f7e420f295bd647",
    "status": "normalized-signal-adapter",
    "changes": "Daily bars replace original interval; short signals become cash; all-in sizing, costs and next-open fills use DuckQuant protocol. Intrabar exits, pyramiding and venue-specific orders are not reproduced. This is not the original platform strategy performance.",
    "license_note": "Per-file license varies; original full source is not redistributed in the reproducibility bundle. Source attribution retained.",
    "checked_on": "2026-10-25",
    "family": "Public source variant",
    "evidence_type": "published-strategy-variant"
  },
  {
    "id": "freq-average",
    "name": "Freqtrade Average \u2014 signal adapter",
    "rule": "EMA8 crosses above EMA21 enters; reverse cross exits.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/berlinguyinca/AverageStrategy.py",
    "reviewed_source_sha256": "63606866fdf1cb3d71dc39a951ed0784a31686690b1c4014c12d2481c8dbf094",
    "status": "normalized-signal-adapter",
    "changes": "Entry/exit indicator rules only. Daily long/cash with common sizing and next-open execution; source ROI schedules, stoploss, trailing, protections and original timeframe are replaced by the stated common protocol. EMA initialization is first-observation seeded, not a TA-Lib replica. Not original Freqtrade strategy performance.",
    "license_note": "Upstream repository GPL-3.0. Adapter is an independently written mathematical rule implementation; source code is linked, not redistributed.",
    "checked_on": "2026-10-25",
    "family": "Public source variant",
    "evidence_type": "published-strategy-variant"
  },
  {
    "id": "freq-bbrsi",
    "name": "Freqtrade BB/RSI \u2014 signal adapter",
    "rule": "RSI14<30 and close below typical-price Bollinger20 lower band enters; RSI14>70 exits.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/berlinguyinca/BbandRsi.py",
    "reviewed_source_sha256": "65718e8d0c14094b67be82b66238ea60a4af4bbf6fd9a6e1879dad5c48125547",
    "status": "normalized-signal-adapter",
    "changes": "Entry/exit indicator rules only. Daily long/cash with common sizing and next-open execution; source ROI schedules, stoploss, trailing, protections and original timeframe are replaced by the stated common protocol. EMA initialization is first-observation seeded, not a TA-Lib replica. Not original Freqtrade strategy performance.",
    "license_note": "Upstream repository GPL-3.0. Adapter is an independently written mathematical rule implementation; source code is linked, not redistributed.",
    "checked_on": "2026-10-25",
    "family": "Public source variant",
    "evidence_type": "published-strategy-variant"
  },
  {
    "id": "freq-macdcci",
    "name": "Freqtrade MACD/CCI \u2014 signal adapter",
    "rule": "MACD12/26 EMA9 crossover with CCI14<=-50 enters; downward cross with CCI14>=100 exits.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/berlinguyinca/MACDStrategy_crossed.py",
    "reviewed_source_sha256": "af5aed1cbb9a9d3ed519ea8649363a2cfaa95cbffe443f073d9f96b2aa91b0f6",
    "status": "normalized-signal-adapter",
    "changes": "Entry/exit indicator rules only. Daily long/cash with common sizing and next-open execution; source ROI schedules, stoploss, trailing, protections and original timeframe are replaced by the stated common protocol. EMA initialization is first-observation seeded, not a TA-Lib replica. Not original Freqtrade strategy performance.",
    "license_note": "Upstream repository GPL-3.0. Adapter is an independently written mathematical rule implementation; source code is linked, not redistributed.",
    "checked_on": "2026-10-25",
    "family": "Public source variant",
    "evidence_type": "published-strategy-variant"
  },
  {
    "id": "freq-rockwell",
    "name": "Freqtrade Rockwell MACD \u2014 signal adapter",
    "rule": "Positive MACD12/26 above EMA9 signal enters; MACD below signal exits.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/berlinguyinca/ASDTSRockwellTrading.py",
    "reviewed_source_sha256": "58ee823e52dbf7def502c7cf069c4bca56d8198eb5037fc007856d27529e8968",
    "status": "normalized-signal-adapter",
    "changes": "Entry/exit indicator rules only. Daily long/cash with common sizing and next-open execution; source ROI schedules, stoploss, trailing, protections and original timeframe are replaced by the stated common protocol. EMA initialization is first-observation seeded, not a TA-Lib replica. Not original Freqtrade strategy performance.",
    "license_note": "Upstream repository GPL-3.0. Adapter is an independently written mathematical rule implementation; source code is linked, not redistributed.",
    "checked_on": "2026-10-25",
    "family": "Public source variant",
    "evidence_type": "published-strategy-variant"
  },
  {
    "id": "freq-adxsma",
    "name": "Freqtrade ADX/SMA \u2014 signal adapter",
    "rule": "ADX14>25 plus SMA3/6 upward cross enters; ADX14<25 plus downward cross exits.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/berlinguyinca/AdxSmas.py",
    "reviewed_source_sha256": "01356e36b3164b66aa4338a70f67f4bb887d4c79ae81b1bc2d1be5c5ba76fca5",
    "status": "normalized-signal-adapter",
    "changes": "Entry/exit indicator rules only. Daily long/cash with common sizing and next-open execution; source ROI schedules, stoploss, trailing, protections and original timeframe are replaced by the stated common protocol. EMA initialization is first-observation seeded, not a TA-Lib replica. Not original Freqtrade strategy performance.",
    "license_note": "Upstream repository GPL-3.0. Adapter is an independently written mathematical rule implementation; source code is linked, not redistributed.",
    "checked_on": "2026-10-25",
    "family": "Public source variant",
    "evidence_type": "published-strategy-variant"
  },
  {
    "id": "freq-awesome",
    "name": "Freqtrade Awesome/MACD \u2014 signal adapter",
    "rule": "Positive MACD12/26 plus awesome oscillator SMA5/34 crossing positive enters; negative MACD plus oscillator crossing negative exits.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/berlinguyinca/AwesomeMacd.py",
    "reviewed_source_sha256": "8872b23514791b1e81a67e9d486e4efdd20fc08732ee5c0bf87312a82ff8a4c7",
    "status": "normalized-signal-adapter",
    "changes": "Entry/exit indicator rules only. Daily long/cash with common sizing and next-open execution; source ROI schedules, stoploss, trailing, protections and original timeframe are replaced by the stated common protocol. EMA initialization is first-observation seeded, not a TA-Lib replica. Not original Freqtrade strategy performance.",
    "license_note": "Upstream repository GPL-3.0. Adapter is an independently written mathematical rule implementation; source code is linked, not redistributed.",
    "checked_on": "2026-10-25",
    "family": "Public source variant",
    "evidence_type": "published-strategy-variant"
  },
  {
    "id": "freq-simple",
    "name": "Freqtrade Simple \u2014 signal adapter",
    "rule": "Positive MACD above EMA9 signal, rising close Bollinger12 upper band and RSI7>70 enters; RSI7>80 exits.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/berlinguyinca/Simple.py",
    "reviewed_source_sha256": "812a8d63b0e0ddff6b9bae582c4d573ab9a4ffec6dd0d1c5b8f8180f11db6d0b",
    "status": "normalized-signal-adapter",
    "changes": "Entry/exit indicator rules only. Daily long/cash with common sizing and next-open execution; source ROI schedules, stoploss, trailing, protections and original timeframe are replaced by the stated common protocol. EMA initialization is first-observation seeded, not a TA-Lib replica. Not original Freqtrade strategy performance.",
    "license_note": "Upstream repository GPL-3.0. Adapter is an independently written mathematical rule implementation; source code is linked, not redistributed.",
    "checked_on": "2026-10-25",
    "family": "Public source variant",
    "evidence_type": "published-strategy-variant"
  },
  {
    "id": "classic-connors-rsi2",
    "name": "Connors RSI(2) \u2014 daily reference",
    "family": "Mean reversion",
    "rule": "Close>SMA200 and RSI2<5 enters; close>SMA5 exits.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/trading-strategies-and-models/trading-strategies/rsi-2",
    "reviewed_source_sha256": "bd2bc8c6f9ed02ce50bfd4d009285c8f1a78bef86b367fd96da0cd77d790d23c",
    "evidence_type": "documented-strategy",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-wilder-rsi",
    "name": "Wilder RSI recovery \u2014 daily reference",
    "family": "Oscillator reversal",
    "rule": "RSI14 crosses back above 30 enters; crosses below 70 exits.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-indicators/relative-strength-index-rsi",
    "reviewed_source_sha256": "bf9a067a5b81b49461d6e2ba2c1de0a7b3525bcb22d493d6b2f573b6fd117ee4",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-rsi-regime",
    "name": "RSI centerline regime \u2014 daily reference",
    "family": "Momentum",
    "rule": "RSI14>50 long; RSI14<50 cash.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-indicators/relative-strength-index-rsi",
    "reviewed_source_sha256": "bf9a067a5b81b49461d6e2ba2c1de0a7b3525bcb22d493d6b2f573b6fd117ee4",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-stoch-recovery",
    "name": "Slow Stochastic recovery \u2014 daily reference",
    "family": "Oscillator reversal",
    "rule": "Slow K14/3 crosses above D3 below 20 enters; downward cross above 80 exits.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-indicators/stochastic-oscillator-fast-slow-and-full",
    "reviewed_source_sha256": "fa0951f19b2697221081a44ac5b1abcfe494f212d3aa749e852d4ef347abe0e8",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-stoch-pop",
    "name": "Stochastic Pop \u2014 daily reference",
    "family": "Breakout",
    "rule": "Slow K70>50, ADX14<20, K14 crosses above 80 and volume>SMA250(volume) enters; K14<50 exits.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/trading-strategies-and-models/trading-strategies/stochastic-pop-and-drop",
    "reviewed_source_sha256": "682e67dfc54a807e2bf79602a014c882487f2c2be63ac9fcb4c9dfeb526be58c",
    "evidence_type": "documented-strategy",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-lambert-cci",
    "name": "Lambert CCI trend \u2014 daily reference",
    "family": "Momentum",
    "rule": "CCI20 crosses above 100 enters; crosses below 100 exits.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-indicators/commodity-channel-index-cci",
    "reviewed_source_sha256": "54980e072126d4ded7b385f90e261555aeb61d1ef3e133a8a46ce13891e47ba6",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-cci-correction",
    "name": "CCI Correction \u2014 daily reference",
    "family": "Multi-timeframe",
    "rule": "Completed-week CCI26 establishes bias at \u00b1100. In bull bias, daily CCI26<-100 arms; crossing above zero enters. Bear weekly bias exits.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/trading-strategies-and-models/trading-strategies/cci-correction",
    "reviewed_source_sha256": "de8e978d93b52377d0d5a7d93058404f1fd38a4b32769a40b01b42e63cff42e1",
    "evidence_type": "documented-strategy",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-moving-momentum",
    "name": "Moving Momentum \u2014 daily reference",
    "family": "Trend pullback",
    "rule": "SMA20>SMA150 and slow Stochastic14<20 arms; MACD histogram12/26/9 crossing zero enters. Bear bias and Stochastic>80 arms a negative-histogram exit.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/trading-strategies-and-models/trading-strategies/moving-momentum",
    "reviewed_source_sha256": "458e5cd86320ec55c3431d3c739ed348bec65fbe4633301ab65fea297a4e076b",
    "evidence_type": "documented-strategy",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-bb-bounce",
    "name": "Bollinger lower-band recovery \u2014 daily reference",
    "family": "Mean reversion",
    "rule": "Close crosses back above SMA20-2 population deviations enters; close>=SMA20 exits.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-overlays/bollinger-bands",
    "reviewed_source_sha256": "78113bf9f02e0d8e1fc50a089c0f31ed1620b1d9234ee4ddeff20fb08a77978e",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-bb-breakout",
    "name": "Bollinger upper-band breakout \u2014 daily reference",
    "family": "Breakout",
    "rule": "Close crosses above SMA20+2 population deviations enters; close<SMA20 exits.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-overlays/bollinger-bands",
    "reviewed_source_sha256": "78113bf9f02e0d8e1fc50a089c0f31ed1620b1d9234ee4ddeff20fb08a77978e",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-percentb-flow",
    "name": "Percent B Money Flow \u2014 daily reference",
    "family": "Volume confirmation",
    "rule": "Bollinger20 percent B>.8 and MFI10>80 enters; percent B<.2 and MFI10<20 exits.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/trading-strategies-and-models/trading-strategies/percent-b-money-flow",
    "reviewed_source_sha256": "fad183c40c2187eb14793fb161b64a8c0fe25232b66b4019026a113f422bbcfc",
    "evidence_type": "documented-strategy",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-nr7",
    "name": "Crabel NR7 expansion \u2014 daily reference",
    "family": "Range breakout",
    "rule": "Previous day is narrowest of seven; close above that high enters. A close below the setup low exits. No intraday stop fills.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/trading-strategies-and-models/trading-strategies/narrow-range-day-nr7",
    "reviewed_source_sha256": "6b4fa3becb8a0fd5db5f4428230fd71af2e626e1ac1c94bfcf9c248f385e0382",
    "evidence_type": "documented-strategy",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-channel-mid",
    "name": "Donchian centerline regime \u2014 daily reference",
    "family": "Channel trend",
    "rule": "Close above midpoint of previous 20 highs/lows long; below cash.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-overlays/price-channels",
    "reviewed_source_sha256": "60e73a2aac4879bcb90ed37ab1b9587fed372d8af61ecd402a9984ad2c2c49c5",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-chandelier",
    "name": "Chandelier reversal reference \u2014 daily reference",
    "family": "Volatility trend",
    "rule": "Close crosses above previous low22+3 ATR22 enters; closes below previous high22-3 ATR22 exits.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-overlays/chandelier-exit",
    "reviewed_source_sha256": "b121d6278464182ebdc22849a741083bfab63c250bedf4c6f43a9d0dc5b56545",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-psar",
    "name": "Parabolic SAR reversal \u2014 daily reference",
    "family": "Trailing trend",
    "rule": "Close>SAR(.02,.02,.2) long; close<SAR cash. Daily-close direction, not intraday stop execution.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-overlays/parabolic-sar",
    "reviewed_source_sha256": "7f0157324eed59860739e8da766a360afef4bb16236841e0d5ee6fd71f9c8784",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-ichimoku-cloud",
    "name": "Ichimoku cloud breakout \u2014 daily reference",
    "family": "Cloud trend",
    "rule": "Close above both cloud spans calculated 26 bars ago, and Tenkan9>Kijun26, enters; close below cloud bottom exits.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-overlays/ichimoku-cloud",
    "reviewed_source_sha256": "401e12385914e576319409d68c1a2490402ba78412b9f19e950bff88d8271246",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-tenkan-kijun",
    "name": "Tenkan/Kijun crossover \u2014 daily reference",
    "family": "Cloud trend",
    "rule": "Tenkan9 crosses above Kijun26 enters; downward cross exits; no cloud filter.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-overlays/ichimoku-cloud",
    "reviewed_source_sha256": "401e12385914e576319409d68c1a2490402ba78412b9f19e950bff88d8271246",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-aroon",
    "name": "Aroon crossover \u2014 daily reference",
    "family": "Directional trend",
    "rule": "Aroon Up25 crosses above Down25 enters; reverse cross exits. Latest tied extreme is used.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-indicators/aroon",
    "reviewed_source_sha256": "3dc0f01c2812877f7de72dccf82b5e41c280f6c984a85433661251f7dcf305f5",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-vortex",
    "name": "Vortex crossover \u2014 daily reference",
    "family": "Directional trend",
    "rule": "Vortex14 positive line crosses above negative line enters; reverse cross exits.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-indicators/vortex-indicator",
    "reviewed_source_sha256": "b82be230acac3a44320fd305b1eb75dc6235fcc80c925f941e772ec92f396e80",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-mfi",
    "name": "Money Flow Index recovery \u2014 daily reference",
    "family": "Volume reversal",
    "rule": "MFI14 crosses back above 20 enters; crosses below 80 exits.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-indicators/money-flow-index-mfi",
    "reviewed_source_sha256": "6b427c15067afd390d07a693b6ab4a2392786913d3beefa0cef2a6e14e8b0b7f",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-cmf",
    "name": "Chaikin Money Flow regime \u2014 daily reference",
    "family": "Volume trend",
    "rule": "CMF20>0 long; CMF20<0 cash.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-indicators/chaikin-money-flow-cmf",
    "reviewed_source_sha256": "69456a53308a344fd170bcd2988a3f633520e3fc719f42f1d3520c09994ebebd",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-chaikin",
    "name": "Chaikin A/D oscillator \u2014 daily reference",
    "family": "Volume momentum",
    "rule": "EMA3(A/D line)-EMA10(A/D line)>0 long; negative cash.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-indicators/chaikin-oscillator",
    "reviewed_source_sha256": "4f4efff3e1c6eeb290ac4d70b0897e116f7c784c3067f90f487e2734e7f8c81c",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-obv",
    "name": "OBV signal crossover \u2014 daily reference",
    "family": "Volume trend",
    "rule": "OBV crosses above its EMA20 enters; reverse cross exits.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-indicators/on-balance-volume-obv",
    "reviewed_source_sha256": "13150df686f980ee9b0274caefac0066fd7a262015c4b14a61175bde2714e19c",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-ppo",
    "name": "PPO signal crossover \u2014 daily reference",
    "family": "Momentum",
    "rule": "Percentage price oscillator EMA12/26 crosses above EMA9 signal enters; reverse cross exits.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-indicators/percentage-price-oscillator-ppo",
    "reviewed_source_sha256": "61cdba1493b1080e514eee732a637d19c2052e1dcea29f751bd450d4384d5d9e",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-trix",
    "name": "TRIX signal crossover \u2014 daily reference",
    "family": "Smoothed momentum",
    "rule": "One-day ROC of triple EMA15 crosses above its EMA9 signal enters; reverse cross exits.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-indicators/trix",
    "reviewed_source_sha256": "d525c94575199fb74a1949d08545f50183d841906b0b358775a0cb31f451b5e9",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-tsi",
    "name": "True Strength Index crossover \u2014 daily reference",
    "family": "Smoothed momentum",
    "rule": "Double EMA25/13 of daily changes divided by double EMA25/13 of absolute changes crosses EMA7 signal up/down.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-indicators/true-strength-index",
    "reviewed_source_sha256": "f70726ab4e9623bcb33901472218e252c21ca00e66be40ecda0b7af6216dc906",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-cmo",
    "name": "Chande Momentum regime \u2014 daily reference",
    "family": "Momentum",
    "rule": "Rolling14 sums of positive minus negative changes divided by total absolute changes: positive long, negative cash.",
    "platform": "Classic rule documentation",
    "source_url": "https://ta-lib.github.io/ta-doc/indicator/CMO.htm",
    "reviewed_source_sha256": "230efd982b7e1981dd5348a2a9448657f06a8ac21183483605d6e97e07529445",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-kst",
    "name": "Pring KST crossover \u2014 daily reference",
    "family": "Composite momentum",
    "rule": "SMA10(ROC10)+2 SMA10(ROC15)+3 SMA10(ROC20)+4 SMA15(ROC30) crosses SMA9 signal up/down.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-indicators/prings-know-sure-thing-kst",
    "reviewed_source_sha256": "2695912bd494f878d8ab2c19072dcb118ecd6a39ead632d597ba8ca35c381ed1",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-ultimate",
    "name": "Ultimate Oscillator recovery \u2014 daily reference",
    "family": "Oscillator reversal",
    "rule": "Weighted 7/14/28 buying-pressure-to-true-range ratio crosses above 30 enters; above 70 exits.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-indicators/ultimate-oscillator",
    "reviewed_source_sha256": "479ece6dadc1a6fce94534e19cda694ebda322aae0796b0f5b502a3b1f166ad1",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "classic-dpo",
    "name": "Causal DPO reversal \u2014 daily reference",
    "family": "Detrended reversal",
    "rule": "DPO20 uses close11 bars ago minus current SMA20, timestamped at current bar; positive cross enters and negative cross exits. No centered future data.",
    "platform": "Classic rule documentation",
    "source_url": "https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-indicators/detrended-price-oscillator-dpo",
    "reviewed_source_sha256": "f7bab57282091d83b78355a7404016fcefe0758f57085015413c8020d6ad713b",
    "evidence_type": "documented-indicator-rule",
    "status": "documented-rule-reference",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. This teaching source supports the named strategy or indicator. The exact finite entry/exit convention in this record is the DuckQuant reference interpretation, not certification of a full original trading system. For indicator-only sources no claim of a complete published strategy is made.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-smarter-macd",
    "name": "Smarter MACD \u2014 daily rule variant",
    "family": "MACD state",
    "rule": "MACD12/26 EMA23 histogram up-cross updates last bottom; a rising bottom enters. Down-cross updates top; a declining top exits.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/363579",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/Smarter-MACD.md",
    "reviewed_source_sha256": "c75808a675492baf5f0c2e3d38dc35352d57e5c597cef98572b06a6c36d9a068",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-fibonacci-timing",
    "name": "Fibonacci Timing \u2014 daily rule variant",
    "family": "Price reversal",
    "rule": "For offsets j=0..7, close[j] below close[j+3] and close[j+5], then close[8]>close[11], enters; symmetric comparisons exit.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/366966",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/Fibonacci-Timing-Pattern.md",
    "reviewed_source_sha256": "2ed5e48eef5889ff07598fb0605f1235dce12bdfaed05c5815af4dc4c8122ea3",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-cci-ema-rsi",
    "name": "CCI / EMA / RSI Cross \u2014 daily rule variant",
    "family": "Composite momentum",
    "rule": "CCI20>50, RSI9/20 up-cross and close>EMA20 enters; close below EMA20-.67 or bearish counterpart exits. Constant price-unit offset retained.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/362029",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/CCI-EMA-with-RSI-Cross-Strategy.md",
    "reviewed_source_sha256": "33f97d9f9b5db3aea653ba2d8008686415c09ca8150ad24448537b30a731bd54",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-bb-ema9",
    "name": "Bollinger / EMA9 \u2014 daily rule variant",
    "family": "Bollinger reversal",
    "rule": "Prior close below current lower BB20/2 enters; current close>=EMA9 exits.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/426137",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/Bollinger-Bands-EMA-9.md",
    "reviewed_source_sha256": "ea3eff134dba9ebf2dae28a6c366cd9d0b017f9edee05e56fdd161c7990cc4c2",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-bb-awesome",
    "name": "Bollinger Awesome Alert \u2014 daily rule variant",
    "family": "AO trend",
    "rule": "EMA3 crosses SMA20 up, close>SMA20 and AO5/34 rising enters; reverse cross, close<SMA20 and AO falling exits; optional BB/squeeze filters off.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/365419",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/Bollinger-Awesome-Alert-R1.md",
    "reviewed_source_sha256": "7ec4b78ce461e8ff8eb7af16296a5c50b7526fa9b2e16bcd0036535c7923a083",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-alligator-stack",
    "name": "Published Alligator SMA stack \u2014 daily rule variant",
    "family": "MA stack",
    "rule": "SMA50>SMA100>SMA200 enters; opposite full ordering exits; the source uses SMAs rather than canonical shifted SMMA.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/431911",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/%E5%A8%81%E5%BB%89%E5%A7%86%E6%96%AF%E9%B3%84%E9%B1%BC%E7%AD%96%E7%95%A5Williams-Alligator-Strategy.md",
    "reviewed_source_sha256": "b0ec4a73595560a404c46ba9d4abd84398b88d22386f44dc8cc51c8c667c9c6e",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-vix-stoch",
    "name": "Williams VIX Fix / Stochastic \u2014 daily rule variant",
    "family": "Volatility reversal",
    "rule": "WVF22 exceeds BB20/2 or .85 of 50-bar high then source price-strength reversal triggers; slow Stochastic14/3/3 upward cross above 80 exits.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/428088",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/Williams-VIX%E4%BF%AE%E5%A4%8D%E7%AD%96%E7%95%A5Williams-VIX-Fix-Strategy.md",
    "reviewed_source_sha256": "8e46ddf4622c53a5f7a10e4c7bc2851353ec2c7b4a0196bca15d7de2a803bb8f",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-donchian-osc",
    "name": "Donchian distance oscillator \u2014 daily rule variant",
    "family": "Channel momentum",
    "rule": "EMA5 of 2 close-highestHigh42-lowestLow42 crosses EMA45 up/down.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/433561",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/%E5%94%90%E6%B0%8F%E8%B6%8B%E5%8A%BF%E7%AD%96%E7%95%A5Donchian-Trend-Strategy.md",
    "reviewed_source_sha256": "ae2b911b47a017d91868ed7d55264cc141a2025eb053138fa0f5f78be4d4b01c",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-ravi-fisher",
    "name": "RAVI FX Fisher \u2014 daily rule variant",
    "family": "Volatility-normalized trend",
    "rule": "100 \u00d7 (WMA4-WMA49)/WMA49 \u00d7 ATR4/ATR49 passed through tanh: nonnegative long, negative cash.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/369392",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/RAVI-FX-Fisher.md",
    "reviewed_source_sha256": "a3da5205cdc2d03c2e178390cc66aa89e6a0a46fef96bc882b7cd20fd2feb8e2",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-keltner-trend",
    "name": "Keltner channel crossing \u2014 daily rule variant",
    "family": "Volatility breakout",
    "rule": "Close crosses above SMA20+SMA20(true range) enters; below lower channel exits. Pending stop orders replaced by next-open market target.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/436498",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/%E5%8A%A8%E9%87%8F%E9%80%9A%E9%81%93%E8%B7%9F%E8%B8%AA%E7%AD%96%E7%95%A5Keltner-Channel-Tracking-Strategy.md",
    "reviewed_source_sha256": "2ec022ef7fa20dbb09a105f6d72b2239b681e631e7fc5c9bf18f34bfd2f9c7c9",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-keltner-bounce",
    "name": "Keltner border bounce \u2014 daily rule variant",
    "family": "Volatility reversal",
    "rule": "Close crosses back above SMA200-8 ATR200 enters; crosses below upper border exits. Native tick stop omitted.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/436758",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/Keltner%E9%80%9A%E9%81%93%E7%AA%81%E7%A0%B4%E5%9B%9E%E6%8A%BD%E7%AD%96%E7%95%A5Keltner-Channel-Pullback-Strategy.md",
    "reviewed_source_sha256": "09de6633bb1dbb5b726dd49adeb1809109f25554330d956f3c3d7d4ad686ef4d",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-stoch-rsi-double",
    "name": "Stochastic + RSI Double \u2014 daily rule variant",
    "family": "Composite oscillator",
    "rule": "Slow Stochastic14/3/3 upward cross below20 simultaneous with RSI14 crossing30 enters; corresponding downward stochastic cross above80 and RSI70 cross exits.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/365671",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/Stochastic-RSI-Double-Strategy.md",
    "reviewed_source_sha256": "005c8b364f4d1d7ba23d68e317c3b899078d8e3d8626841f746840c85afcff35",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-dual-stoch",
    "name": "Dual Stochastics \u2014 daily rule variant",
    "family": "Smoothed oscillator",
    "rule": "K54 smoothed36 crosses50, K54/12>50 and >D3 and >smoothed D9 enters; opposite source condition or smoothed D9 down-cross80 exits. Trailing order becomes close signal.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/431396",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/%E5%8F%8C%E9%87%8D%E9%9A%8F%E6%9C%BA%E7%AD%96%E7%95%A5Dual-Stochastics-Strategy.md",
    "reviewed_source_sha256": "7a4ddf4f4161bf496b588ed5a123b77c3c38141f6fb082e67243a77c21768d63",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-ema-stoch",
    "name": "EMA20 Stochastic \u2014 daily rule variant",
    "family": "Trend pullback",
    "rule": "Low>EMA20, raw Stochastic14 K>D3 and EMA20>its value20 bars ago enters; close<EMA20 exits.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/426136",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/Simple-EMA20-Strategy-Stochastic.md",
    "reviewed_source_sha256": "5cec7d03585812d96e63335b25ef339039d9b65bef501c46930a4f888f96e2f2",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-normalized-momentum",
    "name": "Momentum 2.0 \u2014 daily rule variant",
    "family": "Normalized momentum",
    "rule": "15-bar price difference divided by its rolling450 deviation; regression30 endpoint crosses negative EMA450 of normalized series up/down.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/362163",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/Momentum-20.md",
    "reviewed_source_sha256": "d01d5987dea1f62a62034457aad79ce6f852d8c992f9fadbe9ff18bbf14f0a5b",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-redk-bars",
    "name": "RedK Momentum Bars \u2014 daily rule variant",
    "family": "MA-relative momentum",
    "rule": "Fast SMA10 minus SMA50 and WMA3(SMA20-SMA50) define a synthetic bar; its high crosses zero up to enter, low crosses zero down to exit.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/364001",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/RedK-Momentum-Bars.md",
    "reviewed_source_sha256": "fe5c648daa493018ad4e8ab67073276a2bb9f065df4cce7a34bae98fbfe677cc",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-dual-horizon-momentum",
    "name": "Published two-horizon momentum \u2014 daily rule variant",
    "family": "Momentum confluence",
    "rule": "Both 12-day and 1-day ROC positive enters; both negative exits. Native stop entries normalized to next open.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/427877",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/%E5%8A%A8%E9%87%8F%E7%AD%96%E7%95%A5Momentum-Strategy.md",
    "reviewed_source_sha256": "27a8eea9326469d87210c27842ff5c5e11a831c14a673ffc95d7f6b8c3125b2b",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-roc-rsi",
    "name": "RSI of ROC \u2014 daily rule variant",
    "family": "Transformed oscillator",
    "rule": "RSI20 applied to ROC20 above70 enters, below30 exits; between retains state.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/431226",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/%E5%9F%BA%E4%BA%8EROC%E7%9A%84RSI%E4%BA%A4%E6%98%93%E7%AD%96%E7%95%A5RSI-Based-on-ROC-Trading-Strategy.md",
    "reviewed_source_sha256": "e5202dd009bd5226c8c3473665d3d140758b4dfc10869f546eeaef340ed27130",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-cmf-ema-delay",
    "name": "CMF EMA delayed cross \u2014 daily rule variant",
    "family": "Volume trend",
    "rule": "EMA80(CMF200) crosses EMA160 up/down, with one extra bar signal delay; common execution lag applies afterward.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/453670",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/%E5%9F%BA%E4%BA%8EChaikin%E8%B5%84%E9%87%91%E6%B5%81%E9%87%8FCMF%E6%8C%87%E6%A0%87%E7%AD%96%E7%95%A5This-strategy-generates-trading-signals-based-on-the-Chaikin-Money-Flow-CMF.md",
    "reviewed_source_sha256": "b9b413464786c5fd78066d49e8613827092ff5383c69f719313001027cfe1083",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-bb-rsi-obv",
    "name": "Bollinger RSI OBV \u2014 daily rule variant",
    "family": "Volume-confirmed trend",
    "rule": "Close>SMA20, RSI14>50 and rising OBV enters; close<lower BB20/2 or source bearish counterpart exits. Stops normalized.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/440339",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/Bollinger-Bands-RSI-OBV%E7%AD%96%E7%95%A5Bollinger-Bands-RSI-OBV-Strategy.md",
    "reviewed_source_sha256": "1b1cc3a2230bbb7fe03ce0be7dc1843a08dc311256df5b4ba6cd9f686cad7c9e",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-essma",
    "name": "ESSMA blended filter \u2014 daily rule variant",
    "family": "Blended average",
    "rule": "Source ESSMA50 combines lag-two SMMA, EMA, SMA, minus WMA and RMA, plus open and close; crossing its WMA50 defines targets.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/362637",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/ESSMA.md",
    "reviewed_source_sha256": "9e26694733430bd762561027231c663613909e3876ed347fb5b1f9eff87ce38e",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-triple-ema-pullback",
    "name": "3EMA pullback zone \u2014 daily rule variant",
    "family": "MA pullback",
    "rule": "EMA20>EMA50>EMA100, EMA50 above prior two values, close>EMA50 and <=EMA20 enters; opposite source zone exits.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/362572",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/3EMA.md",
    "reviewed_source_sha256": "732569795c39799c9e8d1b79ad0bb83eb95b5344abb986f1d3bc0014a1fad0ab",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-hull-pivot",
    "name": "Hull local pivot levels \u2014 daily rule variant",
    "family": "Hull reversal",
    "rule": "HMA21 of (high+low)/2 crosses most recently confirmed local trough to enter; crosses last confirmed peak down to exit. No future pivots.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/362327",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/Hull-4ema.md",
    "reviewed_source_sha256": "45888ac46c9ee48915ccebf45235314cd1306857dc75b28fb7e61aa74465f846",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-ema-rsi-exit",
    "name": "EMA21/55/200 with RSI exit \u2014 daily rule variant",
    "family": "MA / RSI",
    "rule": "EMA21/55 up-cross above EMA200 with close>EMA200 enters; RSI14 downward cross70 or bearish EMA counterpart exits.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/380291",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/EMA-2155200.md",
    "reviewed_source_sha256": "e37380c99f5db73f2be5b247596f5e38d5f47d2d8dd3ace66cc58ee6b378f77e",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-swing-hull",
    "name": "Swing Hull / EMA / RSI \u2014 daily rule variant",
    "family": "Hull pullback",
    "rule": "HMA500 rising and close drops through EMA59 enters; RSI14 crosses70 up or source bearish Hull/EMA96 condition exits. Tick stop removed.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/365668",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/Swing-Hull-rsi-EMA-Strategy.md",
    "reviewed_source_sha256": "71b27baf24a690c4a736c956f9229dea9549e690699900d82647aaa031c86a1e",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-dmi-dpo",
    "name": "DMI DPO Guard \u2014 daily rule variant",
    "family": "Directional filter",
    "rule": "DI34 up-cross with close-SMA34 delayed18>0 enters; DI down-cross with negative delayed DPO exits. No centered future data.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/437692",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/%E5%8A%A8%E5%90%91%E6%8C%87%E6%A0%87%E5%92%8C%E5%8E%BB%E8%B6%8B%E5%8A%BF%E4%BB%B7%E6%A0%BC%E9%9C%87%E8%8D%A1%E5%99%A8%E7%BB%84%E5%90%88%E7%AD%96%E7%95%A5DMI-DPO-Guard-Strategy.md",
    "reviewed_source_sha256": "22a6d01153defc6f99cded932613ae7ff69796e0c176143f49440d9f2bde708b",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-turtle-close",
    "name": "Turtle close-price breakout \u2014 daily rule variant",
    "family": "Close channel",
    "rule": "Close exceeds preceding20 closes enters; close<=preceding10 close minimum exits. Distinct close-price channels, no Turtle sizing or pyramiding.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/434192",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/%E6%B5%B7%E9%BE%9F%E7%AA%81%E7%A0%B4%E7%AD%96%E7%95%A5Turtle-Breakout-Strategy.md",
    "reviewed_source_sha256": "f0db71756f7ee6ffc11681cd0015905715e66f084ac48aacdf21f0ac8633ab1c",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-rsi2-timed",
    "name": "RSI2 recovery timed exit \u2014 daily rule variant",
    "family": "Timed mean reversion",
    "rule": "Prior RSI2<25, rising current RSI and close>SMA50 enters; source five-count timer exits four signal bars later.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/482838",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/%E5%9F%BA%E4%BA%8ERSI2%E7%9A%84%E5%8A%A8%E6%80%81%E7%AA%81%E7%A0%B4%E4%BA%A4%E6%98%93%E7%AD%96%E7%95%A5%E7%BB%93%E5%90%88%E7%A7%BB%E5%8A%A8%E5%B9%B3%E5%9D%87%E7%BA%BF%E8%BF%87%E6%BB%A4%E7%B3%BB%E7%BB%9F-RSI2-Based-Dynamic-Breakout-Trading-Strategy-with-Moving-Average-Filter-System.md",
    "reviewed_source_sha256": "3d63db9eeaeb981ecc4d425caa44909c6d2e4168bca1ae8bc4f26ac0a407a10e",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-matrix-series",
    "name": "Matrix Series oscillator \u2014 daily rule variant",
    "family": "Normalized oscillator",
    "rule": "EMA5 of EMA5 of 200 \u00d7 ((H+L+2C)/4-EMA5)/SD5 above200 enters; its EMA5 below-200 exits.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/365381",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/Matrix-Series.md",
    "reviewed_source_sha256": "4fed8f6522f40f60d55e754f0696f12c21d62e6e9857b09d43aa70621e74b918",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-fisher-level",
    "name": "Ehlers Fisher level \u2014 daily rule variant",
    "family": "Fisher regime",
    "rule": "Recursive Fisher transform10 of median price abovezero enters; belowzero exits.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/434166",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/Fisher%E5%8F%98%E6%8D%A2%E6%8C%87%E6%A0%87%E5%9B%9E%E6%B5%8B%E7%AD%96%E7%95%A5Fisher-Transform-Backtest-Strategy.md",
    "reviewed_source_sha256": "42785b43858b8ba014494b7139b4872b99f4b8307a17ae40c0df0b0834205768",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-fisher-slope",
    "name": "Ehlers Fisher slope \u2014 daily rule variant",
    "family": "Fisher reversal",
    "rule": "Same recursive Fisher transform10 rising enters; falling exits. Different state rule, not a period-only variation.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/438062",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/%E5%9F%BA%E4%BA%8E%E8%B4%B9%E9%9B%AA%E8%BD%AC%E6%8D%A2%E7%9A%84Ehlers%E4%BA%A4%E6%98%93%E7%AD%96%E7%95%A5Ehlers-Fisher-Transform-Trading-Strategy.md",
    "reviewed_source_sha256": "aa53c8cddc9fd097460857bc7a36b4a8fcd4f0e925bd9011bc218f58e9e23d8c",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-fmz-mfi-body",
    "name": "MFI / MA body reversal \u2014 daily rule variant",
    "family": "Money flow confluence",
    "rule": "Prior close-based MFI3=100, bullish body>half range and close>SMA80 enters; prior MFI=0 plus opposite candle/trend exits. Native session and TP/SL removed.",
    "platform": "FMZ",
    "source_url": "https://www.fmz.com/strategy/436756",
    "source_code_url": "https://github.com/fmzquant/strategies/blob/7853bb2bf262c4567ac238d3552d97f0e50cb801/%E5%9F%BA%E4%BA%8EMFI%E5%92%8CMA%E7%9A%84%E9%87%8F%E5%8C%96%E5%8F%8D%E8%BD%AC%E7%AD%96%E7%95%A5MFI-and-MA-Based-Quantitative-Reversal-Strategy.md",
    "reviewed_source_sha256": "49a783e1fed0ba2e60fd3893393acd0124b848bf9eb364ed4ef0f3d335252cd1",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-freq-bandtastic",
    "name": "Bandtastic \u2014 daily signal variant",
    "family": "Bollinger / volume reversal",
    "rule": "Close<typical-price BB20 lower1 enters; close>upper2 and MFI14>46 exits. Declaration defaults, all buy guards disabled.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/Bandtastic.py",
    "reviewed_source_sha256": "15dcb60d49a3681241cd39645f0fe8e6dc247687bf878c2026f37bb1c5790b57",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. Uses declaration defaults unless rule explicitly states published buy_params/sell_params. Some source parameters were previously optimized by their author; this is retrospective evidence, not an independently sealed test.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-freq-strategy001",
    "name": "Strategy001 \u2014 daily signal variant",
    "family": "Heikin-Ashi trend",
    "rule": "EMA20 crosses EMA50 up, HA close>EMA20 and HA candle green enters; EMA50 crosses EMA100 up with HA close<EMA20 and HA red exits, preserving source condition.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/Strategy001.py",
    "reviewed_source_sha256": "2357996e6594458e8db45b5f757918462afa3c998de9d06e2af0c009ddc4b80d",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. Uses declaration defaults unless rule explicitly states published buy_params/sell_params. Some source parameters were previously optimized by their author; this is retrospective evidence, not an independently sealed test.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-freq-strategy003",
    "name": "Strategy003 \u2014 daily signal variant",
    "family": "Composite mean reversion",
    "rule": "RSI14 in (0,28), close<SMA40, Fisher RSI<-.94, MFI14<16, EMA50>EMA100 or EMA5/10 up-cross, fastD>fastK and D>0 enters; SAR>close and Fisher RSI>.3 exits.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/Strategy003.py",
    "reviewed_source_sha256": "055984b4672779b36a2391f790ccbcd320e408eb0634e34718d7182acaeef9c9",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. Uses declaration defaults unless rule explicitly states published buy_params/sell_params. Some source parameters were previously optimized by their author; this is retrospective evidence, not an independently sealed test.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-freq-strategy004",
    "name": "Strategy004 \u2014 daily signal variant",
    "family": "ADX / stochastic reversal",
    "rule": "ADX14>50 or ADX35>26, CCI14<-100, prior STOCHF5 K/D<20 and STOCHF50 K/D<30, K crosses D up, volume mean12>.75 enters; ADX35<25 plus fastK/D>70, prior K<D and close>EMA5 exits.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/Strategy004.py",
    "reviewed_source_sha256": "1b4c001e80b077aaf3ec227577c78d3283be549c7d25ce9279ea03f1db5de64a",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. Uses declaration defaults unless rule explicitly states published buy_params/sell_params. Some source parameters were previously optimized by their author; this is retrospective evidence, not an independently sealed test.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-freq-strategy005",
    "name": "Strategy005 \u2014 daily signal variant",
    "family": "Volume / Fisher reversal",
    "rule": "Published buy_params: volume>4 SMA150(volume), close<SMA40, fastD>fastK, RSI14>26, fastD>1 and normalized Fisher RSI<5 enters. Published sell_params: RSI crosses 74 up, negative MACD and minusDI14>4 exits.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/Strategy005.py",
    "reviewed_source_sha256": "797b293f5acd809f8c77f26b38c004c87b75d8847be4cde4d0224040cc591030",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. Uses declaration defaults unless rule explicitly states published buy_params/sell_params. Some source parameters were previously optimized by their author; this is retrospective evidence, not an independently sealed test.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-freq-swing",
    "name": "SwingHighToSky \u2014 daily signal variant",
    "family": "CCI / RSI reversal",
    "rule": "Published parameters: CCI72<-175 and RSI36<90 enters; CCI66>-106 and RSI45>88 exits.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/SwingHighToSky.py",
    "reviewed_source_sha256": "3778a09f02b88c1ca257e5346d6cc97ae8b7dd80a7559d003ab3a760ab1e5518",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. Uses declaration defaults unless rule explicitly states published buy_params/sell_params. Some source parameters were previously optimized by their author; this is retrospective evidence, not an independently sealed test.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-freq-adx-momentum",
    "name": "ADXMomentum \u2014 daily signal variant",
    "family": "Directional momentum",
    "rule": "ADX14>25, 14-bar momentum>0, plusDI25>25 and plusDI>minusDI enters; corresponding negative momentum and dominant minusDI>25 exits.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/berlinguyinca/ADXMomentum.py",
    "reviewed_source_sha256": "7ed9c2306f337a1cc49cb2e11ddf6b66397853b9c4155faa13e5cf1ea61a651a",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. Uses declaration defaults unless rule explicitly states published buy_params/sell_params. Some source parameters were previously optimized by their author; this is retrospective evidence, not an independently sealed test.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-freq-cmc",
    "name": "CMCWinner \u2014 daily signal variant",
    "family": "Composite oscillator reversal",
    "rule": "Prior CCI14<-100, MFI14<20 and Wilder CMO14<-50 enters; prior values >100, >80, >50 exit.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/berlinguyinca/CMCWinner.py",
    "reviewed_source_sha256": "0529996f7e895c3c15ee143f1f0c5ff75d78fd6522856ba0daa55b94437bfc3f",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. Uses declaration defaults unless rule explicitly states published buy_params/sell_params. Some source parameters were previously optimized by their author; this is retrospective evidence, not an independently sealed test.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-freq-cluc",
    "name": "ClucMay72018 \u2014 daily signal variant",
    "family": "Bollinger pullback",
    "rule": "Close<EMA50 and below .985 times typical-price lowerBB20/2, volume<20 times prior SMA30(volume), enters; close>BB midpoint exits.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/berlinguyinca/ClucMay72018.py",
    "reviewed_source_sha256": "d146f7bc8285b5f1e48514d5d6acc53b37b0ca00299780210e3bdf84564978aa",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. Uses declaration defaults unless rule explicitly states published buy_params/sell_params. Some source parameters were previously optimized by their author; this is retrospective evidence, not an independently sealed test.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-freq-cofi",
    "name": "CofiBitStrategy \u2014 daily signal variant",
    "family": "Stochastic / ADX reversal",
    "rule": "Open<EMA5(low), fastK/D<25, fastK crosses fastD up and ADX14>25 enters; open>EMA5(high) or fastK/D crosses 75 up exits.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/berlinguyinca/CofiBitStrategy.py",
    "reviewed_source_sha256": "c565296f014ade283b684cae3ff375bd1b80c8696d7b8498b2b5915d2a6553ff",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. Uses declaration defaults unless rule explicitly states published buy_params/sell_params. Some source parameters were previously optimized by their author; this is retrospective evidence, not an independently sealed test.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-freq-combined",
    "name": "CombinedBinHAndCluc \u2014 daily signal variant",
    "family": "Composite Bollinger reversal",
    "rule": "Source BinHV45 tail/volatility predicate OR Cluc pullback enters; typical-price BB20 midpoint exits.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/berlinguyinca/CombinedBinHAndCluc.py",
    "reviewed_source_sha256": "546256271db535f1e326130c6b2d9849dd9a5efb602eb92ed45dad282967f45d",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. Uses declaration defaults unless rule explicitly states published buy_params/sell_params. Some source parameters were previously optimized by their author; this is retrospective evidence, not an independently sealed test.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-freq-skip-pump",
    "name": "EMASkipPump \u2014 daily signal variant",
    "family": "Volume-filtered reversal",
    "rule": "Volume<20 times prior mean30, close<EMA5 and EMA12, close equals rolling12 minimum and close<=lower typical BB20/2 enters; close>both EMAs, at rolling12 maximum and >=upper BB exits.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/berlinguyinca/EMASkipPump.py",
    "reviewed_source_sha256": "74117c68b3407a775d80fc4d4f1b27852689baad2255f19a7026a2b0c45b2085",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. Uses declaration defaults unless rule explicitly states published buy_params/sell_params. Some source parameters were previously optimized by their author; this is retrospective evidence, not an independently sealed test.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-freq-macd-state",
    "name": "MACDStrategy \u2014 daily signal variant",
    "family": "MACD / CCI state",
    "rule": "Published parameters: MACD12/26 above signal9 and CCI14<=-48 enters; MACD below signal and CCI14>=687 exits, with positive volume.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/berlinguyinca/MACDStrategy.py",
    "reviewed_source_sha256": "80ce71ddb59191921e6dcd08101418f11e0d76d7b61471479ee5617605d22d55",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. Uses declaration defaults unless rule explicitly states published buy_params/sell_params. Some source parameters were previously optimized by their author; this is retrospective evidence, not an independently sealed test.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-freq-quickie",
    "name": "Quickie \u2014 daily signal variant",
    "family": "TEMA reversal",
    "rule": "ADX14>30, TEMA9 below BB20 midpoint, TEMA rising and close<SMA200 enters; ADX14>70, TEMA above midpoint and falling exits.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/berlinguyinca/Quickie.py",
    "reviewed_source_sha256": "85733568de6bb80c3db87e26faff93ab5e5da95dbb298cc42737365d3e6500a7",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. Uses declaration defaults unless rule explicitly states published buy_params/sell_params. Some source parameters were previously optimized by their author; this is retrospective evidence, not an independently sealed test.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-freq-scalp",
    "name": "Scalp \u2014 daily signal variant",
    "family": "Stochastic channel",
    "rule": "Open<EMA5(low), ADX14>30, fastK/D<30 and K/D upward cross enters; open>=EMA5(high) or K/D crosses 70 upward exits. Daily signal reference, not a scalping execution simulation.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/berlinguyinca/Scalp.py",
    "reviewed_source_sha256": "3163f460f08db33b4aded14c00f880f6b5e5f2413489137e522c1f93a8954a65",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. Uses declaration defaults unless rule explicitly states published buy_params/sell_params. Some source parameters were previously optimized by their author; this is retrospective evidence, not an independently sealed test.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-freq-smooth-scalp",
    "name": "SmoothScalp \u2014 daily signal variant",
    "family": "Composite stochastic channel",
    "rule": "Scalp entry plus MFI14<30 and CCI14<-150; Scalp exit plus CCI14>150. Daily rule normalization only.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/berlinguyinca/SmoothScalp.py",
    "reviewed_source_sha256": "e32a8f758d8d57876210d479576e7e415ff924400b8d037bb0f30799cd801a5b",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. Uses declaration defaults unless rule explicitly states published buy_params/sell_params. Some source parameters were previously optimized by their author; this is retrospective evidence, not an independently sealed test.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-freq-cmf-example",
    "name": "TechnicalExampleStrategy \u2014 daily signal variant",
    "family": "Contrarian money flow",
    "rule": "CMF21<0 enters; CMF21>0 exits, preserving the contrarian source direction.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/berlinguyinca/TechnicalExampleStrategy.py",
    "reviewed_source_sha256": "0a3d94c8ef857284c9bc37d592af329b1a831f9c504fb2d73b63db00d303db50",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. Uses declaration defaults unless rule explicitly states published buy_params/sell_params. Some source parameters were previously optimized by their author; this is retrospective evidence, not an independently sealed test.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "community-freq-hlhb",
    "name": "HLHB \u2014 daily signal variant",
    "family": "RSI / EMA confluence",
    "rule": "RSI10 of (open+close)/2 crosses 50 up together with EMA5/10 up-cross, ADX14>25 and positive volume enters; both downward crosses with ADX>25 exit.",
    "platform": "Freqtrade",
    "source_url": "https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/hlhb.py",
    "reviewed_source_sha256": "bd4523d134b686b012947896ffd7a5a299add87ac12aa0d18fac36c9e7ca3822",
    "evidence_type": "published-strategy-variant",
    "status": "normalized-signal-adapter",
    "changes": "Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical. Uses declaration defaults unless rule explicitly states published buy_params/sell_params. Some source parameters were previously optimized by their author; this is retrospective evidence, not an independently sealed test.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "buy-hold",
    "name": "Buy and hold",
    "family": "Buy-and-hold reference",
    "rule": "Remain long throughout evaluation; entry and terminal liquidation costs apply.",
    "platform": "DuckQuant reference",
    "source_url": "https://duckquant.com/strategies/#protocol",
    "reviewed_source_sha256": "a0f39860c01604d17f645ab3fb9c3d1005a51cb598917ef413b13fa3399f9ce2",
    "evidence_type": "reference-baseline",
    "status": "reference-baseline",
    "changes": "Transparent baseline implementation in downloadable engine; not an attributed third-party result.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "sma-50-200",
    "name": "SMA 50 / 200",
    "family": "MA trend",
    "rule": "Long when SMA50>SMA200; cash otherwise.",
    "platform": "DuckQuant reference",
    "source_url": "https://duckquant.com/strategies/#protocol",
    "reviewed_source_sha256": "a0f39860c01604d17f645ab3fb9c3d1005a51cb598917ef413b13fa3399f9ce2",
    "evidence_type": "reference-baseline",
    "status": "reference-baseline",
    "changes": "Transparent baseline implementation in downloadable engine; not an attributed third-party result.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "momentum-90",
    "name": "90-day momentum",
    "family": "Time-series momentum",
    "rule": "Long when close exceeds close90 bars ago; cash otherwise.",
    "platform": "DuckQuant reference",
    "source_url": "https://duckquant.com/strategies/#protocol",
    "reviewed_source_sha256": "a0f39860c01604d17f645ab3fb9c3d1005a51cb598917ef413b13fa3399f9ce2",
    "evidence_type": "reference-baseline",
    "status": "reference-baseline",
    "changes": "Transparent baseline implementation in downloadable engine; not an attributed third-party result.",
    "checked_on": "2026-10-25"
  },
  {
    "id": "breakout-55-20",
    "name": "55 / 20-day breakout",
    "family": "Channel breakout",
    "rule": "Close above previous55 highs enters; close below previous20 lows exits. Current bar excluded.",
    "platform": "DuckQuant reference",
    "source_url": "https://duckquant.com/strategies/#protocol",
    "reviewed_source_sha256": "a0f39860c01604d17f645ab3fb9c3d1005a51cb598917ef413b13fa3399f9ce2",
    "evidence_type": "reference-baseline",
    "status": "reference-baseline",
    "changes": "Transparent baseline implementation in downloadable engine; not an attributed third-party result.",
    "checked_on": "2026-10-25"
  }
]
