{
  "strategy": "SetupHunter",
  "versions": [
    "v6.5_CROSS_PLATFORM_PARITY",
    "v6.6_ADVANCEMENT",
    "v6.7_EXIT_MODES",
    "v6.8_FILTERS"
  ],
  "updated": "2026-09-14",
  "source": "SetupHunter_v6_8_FILTERS_NT8.cs",
  "gate": "AdvancedLayerEnabled = AdvancedEnableAllAddons && !BaselineLockOriginalEngine",
  "defaults": {
    "BaselineLockOriginalEngine": true,
    "AdvancedEnableAllAddons": false
  },
  "counts": {
    "total": 256,
    "wired": 58,
    "scaffold": 115,
    "v6.6-wired": 21,
    "v6.7-wired": 23,
    "v6.8-wired": 39,
    "next": 0
  },
  "groups": [
    {
      "name": "00 Safety",
      "blurb": "Lock ON / addons OFF is the protected MT5-parity default. Unlocking addons requires both toggles.",
      "params": [
        {
          "display": "Orig - Baseline Lock Original Engine",
          "property": "BaselineLockOriginalEngine",
          "default": "true",
          "status": "wired",
          "notes": "Default ON. Protected MT5-parity baseline. AdvancedLayerEnabled requires this OFF."
        },
        {
          "display": "Adv - Enable All Addons",
          "property": "AdvancedEnableAllAddons",
          "default": "false",
          "status": "wired",
          "notes": "Default OFF. Gate: AdvancedLayerEnabled = this && !BaselineLockOriginalEngine."
        },
        {
          "display": "Orig - Log Decisions",
          "property": "LogDecisions",
          "default": "false",
          "status": "wired",
          "notes": "Wired Print() decision log on the baseline path."
        },
        {
          "display": "Orig - Log Signals To CSV",
          "property": "LogSignalsToCSV",
          "default": "false",
          "status": "wired",
          "notes": "Orig signal CSV. Also OR'd into v6.6 SignalCsvEnabled / TruthLogEnabled (works with lock ON)."
        }
      ]
    },
    {
      "name": "01 Core Profile",
      "blurb": "Profile resolver + point mapping + the three data-series TFs (baseline / addon / confirm).",
      "params": [
        {
          "display": "Orig - Profile Mode",
          "property": "ProfileMode",
          "default": "Scalper",
          "status": "wired",
          "notes": "Resolves Scalper / Swinger / PositiveRR / PropScalper / Custom onto core knobs."
        },
        {
          "display": "Orig - Strategy Point Size",
          "property": "StrategyPointSize",
          "default": "0.01",
          "status": "wired",
          "notes": "Points-to-price scale. Must match the instrument so gates, exits, and MAE stay honest."
        },
        {
          "display": "Orig - Trigger Distance Points",
          "property": "TriggerDistancePoints",
          "default": "10",
          "status": "wired",
          "notes": "Core pending trigger distance (points)."
        },
        {
          "display": "Orig - Baseline Timeframe Minutes",
          "property": "BaselineTimeframeMinutes",
          "default": "15",
          "status": "wired",
          "notes": "Baseline ZigZag series TF."
        },
        {
          "display": "Orig - Addon Timeframe Minutes",
          "property": "AddonTimeframeMinutes",
          "default": "5",
          "status": "wired",
          "notes": "Addon series is always subscribed; dip/rally engine still gated by AdvancedLayerEnabled."
        },
        {
          "display": "Orig - Confirmation Timeframe Minutes",
          "property": "ConfirmationTimeframeMinutes",
          "default": "15",
          "status": "wired",
          "notes": "Confirm series (EMA 20/50) always subscribed."
        }
      ]
    },
    {
      "name": "02 ZigZag",
      "blurb": "Live baseline ZigZag extrema engine that feeds core stop-market pendings.",
      "params": [
        {
          "display": "Orig - ZigZag Depth",
          "property": "ZigZagDepth",
          "default": "18",
          "status": "wired",
          "notes": "Baseline ZigZag depth. Live in extrema \u2192 pending engine."
        },
        {
          "display": "Orig - ZigZag Deviation Points",
          "property": "ZigZagDeviationPoints",
          "default": "10",
          "status": "wired",
          "notes": "ZigZag deviation in points."
        },
        {
          "display": "Orig - ZigZag Backstep",
          "property": "ZigZagBackstep",
          "default": "3",
          "status": "wired",
          "notes": "ZigZag backstep."
        },
        {
          "display": "Orig - Copy Rates Bars",
          "property": "CopyRatesBars",
          "default": "300",
          "status": "wired",
          "notes": "Lookback copied for ZigZag extrema."
        },
        {
          "display": "Orig - Extrema Scan Limit",
          "property": "ExtremaScanLimit",
          "default": "100",
          "status": "wired",
          "notes": "Max extrema scanned when placing core pendings."
        }
      ]
    },
    {
      "name": "03 Core Entry",
      "blurb": "Live core pending geometry, SL/PT/trail, one-shot latches. Two orig knobs currently have no body refs.",
      "params": [
        {
          "display": "Orig - Pending Expiry Hours",
          "property": "PendingExpiryHours",
          "default": "12",
          "status": "wired",
          "notes": "Core pending lifetime."
        },
        {
          "display": "Orig - Entry Offset Points",
          "property": "EntryOffsetPoints",
          "default": "-160",
          "status": "wired",
          "notes": "Core stop-market offset from swing (points)."
        },
        {
          "display": "Orig - Stop Loss Points",
          "property": "BaselineStopLossPoints",
          "default": "300",
          "status": "wired",
          "notes": "Core SL (profile-resolved)."
        },
        {
          "display": "Orig - Profit Target Points",
          "property": "BaselineProfitTargetPoints",
          "default": "1500",
          "status": "wired",
          "notes": "Core PT (profile-resolved)."
        },
        {
          "display": "Orig - Trail Start Points",
          "property": "BaselineTrailStartPoints",
          "default": "140",
          "status": "wired",
          "notes": "Core trail arm distance."
        },
        {
          "display": "Orig - Trail Distance Points",
          "property": "BaselineTrailDistancePoints",
          "default": "40",
          "status": "wired",
          "notes": "Core trail offset once armed."
        },
        {
          "display": "Orig - Pause Seconds",
          "property": "PauseSeconds",
          "default": "60",
          "status": "wired",
          "notes": "Pause after fill / flatten."
        },
        {
          "display": "Orig - Order Deviation Points",
          "property": "OrderDeviationPoints",
          "default": "20",
          "status": "wired",
          "notes": "Orig surface (group 03). No body reference in v6.6 (rg logic=0)."
        },
        {
          "display": "Orig - One Shot Per Direction",
          "property": "OneShotPerDirection",
          "default": "true",
          "status": "wired",
          "notes": "One core fill per direction until reset."
        },
        {
          "display": "Orig - Duplicate Tolerance Points",
          "property": "DuplicateTolerancePoints",
          "default": "0",
          "status": "wired",
          "notes": "Orig surface (group 03). No body reference in v6.6 (rg logic=0)."
        }
      ]
    },
    {
      "name": "04 Custom Profile",
      "blurb": "Live when ProfileMode = Custom; otherwise ignored by the resolver.",
      "params": [
        {
          "display": "Orig - Custom Timeframe Minutes",
          "property": "CustomTimeframeMinutes",
          "default": "15",
          "status": "wired",
          "notes": "Wired via profile resolver when ProfileMode = Custom."
        },
        {
          "display": "Orig - Custom Swing Depth",
          "property": "CustomSwingDepth",
          "default": "18",
          "status": "wired",
          "notes": "Wired via profile resolver when ProfileMode = Custom."
        },
        {
          "display": "Orig - Custom Pending Expiry Hours",
          "property": "CustomPendingExpiryHours",
          "default": "12",
          "status": "wired",
          "notes": "Wired via profile resolver when ProfileMode = Custom."
        },
        {
          "display": "Orig - Custom Profit Target Points",
          "property": "CustomProfitTargetPoints",
          "default": "250",
          "status": "wired",
          "notes": "Wired via profile resolver when ProfileMode = Custom."
        },
        {
          "display": "Orig - Custom Stop Loss Points",
          "property": "CustomStopLossPoints",
          "default": "1500",
          "status": "wired",
          "notes": "Wired via profile resolver when ProfileMode = Custom."
        },
        {
          "display": "Orig - Custom Trail Start Points",
          "property": "CustomTrailStartPoints",
          "default": "100",
          "status": "wired",
          "notes": "Wired via profile resolver when ProfileMode = Custom."
        },
        {
          "display": "Orig - Custom Trail Distance Points",
          "property": "CustomTrailDistancePoints",
          "default": "50",
          "status": "wired",
          "notes": "Wired via profile resolver when ProfileMode = Custom."
        },
        {
          "display": "Orig - Custom Entry Offset Points",
          "property": "CustomEntryOffsetPoints",
          "default": "0",
          "status": "wired",
          "notes": "Wired via profile resolver when ProfileMode = Custom."
        },
        {
          "display": "Orig - Custom Pause Seconds",
          "property": "CustomPauseSeconds",
          "default": "300",
          "status": "wired",
          "notes": "Wired via profile resolver when ProfileMode = Custom."
        }
      ]
    },
    {
      "name": "05 Schedule",
      "blurb": "Live daily/Friday flatten windows.",
      "params": [
        {
          "display": "Orig - Use Daily Close Window",
          "property": "UseDailyCloseWindow",
          "default": "true",
          "status": "wired",
          "notes": "Wired live on the baseline schedule path."
        },
        {
          "display": "Orig - Daily Close Hour",
          "property": "DailyCloseHour",
          "default": "22",
          "status": "wired",
          "notes": "Wired live on the baseline schedule path."
        },
        {
          "display": "Orig - Daily Close Minute",
          "property": "DailyCloseMinute",
          "default": "15",
          "status": "wired",
          "notes": "Wired live on the baseline schedule path."
        },
        {
          "display": "Orig - Daily Reopen Hour",
          "property": "DailyReopenHour",
          "default": "1",
          "status": "wired",
          "notes": "Wired live on the baseline schedule path."
        },
        {
          "display": "Orig - Daily Reopen Minute",
          "property": "DailyReopenMinute",
          "default": "15",
          "status": "wired",
          "notes": "Wired live on the baseline schedule path."
        },
        {
          "display": "Orig - Delete Pendings At Daily Close",
          "property": "DeletePendingsAtDailyClose",
          "default": "true",
          "status": "wired",
          "notes": "Wired live on the baseline schedule path."
        },
        {
          "display": "Orig - Close Positions At Daily Close",
          "property": "ClosePositionsAtDailyClose",
          "default": "true",
          "status": "wired",
          "notes": "Wired live on the baseline schedule path."
        },
        {
          "display": "Orig - Use Friday Close",
          "property": "UseFridayClose",
          "default": "true",
          "status": "wired",
          "notes": "Wired live on the baseline schedule path."
        },
        {
          "display": "Orig - Friday Close Hour",
          "property": "FridayCloseHour",
          "default": "22",
          "status": "wired",
          "notes": "Wired live on the baseline schedule path."
        },
        {
          "display": "Orig - Friday Close Minute",
          "property": "FridayCloseMinute",
          "default": "15",
          "status": "wired",
          "notes": "Wired live on the baseline schedule path."
        },
        {
          "display": "Orig - Delete Pendings Friday",
          "property": "DeletePendingsFriday",
          "default": "true",
          "status": "wired",
          "notes": "Wired live on the baseline schedule path."
        },
        {
          "display": "Orig - Close Positions Friday",
          "property": "ClosePositionsFriday",
          "default": "true",
          "status": "wired",
          "notes": "Wired live on the baseline schedule path."
        }
      ]
    },
    {
      "name": "06 Risk",
      "blurb": "Live daily P/L lock, equity protection, MM vs fixed qty, spread gate.",
      "params": [
        {
          "display": "Orig - Use Money Management",
          "property": "UseMoneyManagement",
          "default": "false",
          "status": "wired",
          "notes": "When ON, sizes from RiskPercent \u00d7 virtual balance; else FixedQuantity."
        },
        {
          "display": "Orig - Risk Percent",
          "property": "RiskPercent",
          "default": "1.0",
          "status": "wired",
          "notes": "Wired live on the baseline risk path."
        },
        {
          "display": "Orig - Fixed Quantity",
          "property": "FixedQuantity",
          "default": "1",
          "status": "wired",
          "notes": "Wired live on the baseline risk path."
        },
        {
          "display": "Orig - Virtual Starting Balance",
          "property": "VirtualStartingBalance",
          "default": "10000",
          "status": "wired",
          "notes": "Wired live on the baseline risk path."
        },
        {
          "display": "Orig - Max Spread Ticks",
          "property": "MaxSpreadTicks",
          "default": "0",
          "status": "wired",
          "notes": "Wired live on the baseline risk path."
        },
        {
          "display": "Orig - Delete Pendings On High Spread",
          "property": "DeletePendingsOnHighSpread",
          "default": "false",
          "status": "wired",
          "notes": "Wired live on the baseline risk path."
        },
        {
          "display": "Orig - Use Daily Profit Target",
          "property": "UseDailyProfitTarget",
          "default": "false",
          "status": "wired",
          "notes": "Wired live on the baseline risk path."
        },
        {
          "display": "Orig - Daily Profit Target Currency",
          "property": "DailyProfitTargetCurrency",
          "default": "200",
          "status": "wired",
          "notes": "Wired live on the baseline risk path."
        },
        {
          "display": "Orig - Use Daily Loss Limit",
          "property": "UseDailyLossLimit",
          "default": "false",
          "status": "wired",
          "notes": "Wired live on the baseline risk path."
        },
        {
          "display": "Orig - Daily Loss Limit Currency",
          "property": "DailyLossLimitCurrency",
          "default": "100",
          "status": "wired",
          "notes": "Wired live on the baseline risk path."
        },
        {
          "display": "Orig - Use Equity Protection",
          "property": "UseEquityProtection",
          "default": "false",
          "status": "wired",
          "notes": "Wired live on the baseline risk path."
        },
        {
          "display": "Orig - Daily Equity Protection Percent",
          "property": "DailyEquityProtectionPercent",
          "default": "3.0",
          "status": "wired",
          "notes": "Wired live on the baseline risk path."
        }
      ]
    },
    {
      "name": "09 Parity Lock",
      "blurb": "Debug print for lock status. Not consumed by entries/exits.",
      "params": [
        {
          "display": "Adv - Print Lock Status",
          "property": "Advanced_PrintLockStatus",
          "default": "false",
          "status": "scaffold",
          "notes": "Parity-lock debug flag. Property + default only."
        }
      ]
    },
    {
      "name": "10 Advanced Edge Overlays",
      "blurb": "Master Use* overlay switches. Params-only \u2014 none of these gates are read in v6.6 logic.",
      "params": [
        {
          "display": "Adv - Use HTF Bias Alignment",
          "property": "Advanced_UseHTFBiasAlignment",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use H4 Delivery FVG",
          "property": "Advanced_UseH4DeliveryFVG",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use H1 Delivery FVG",
          "property": "Advanced_UseH1DeliveryFVG",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use Premium Discount",
          "property": "Advanced_UsePremiumDiscount",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use Liquidity Sweep",
          "property": "Advanced_UseLiquiditySweep",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use BOS CHOCH",
          "property": "Advanced_UseBOS_CHOCH",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use SMT Confirmation",
          "property": "Advanced_UseSMTConfirmation",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use FVG Quality Filter",
          "property": "Advanced_UseFVGQualityFilter",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use Micro Refinement",
          "property": "Advanced_UseMicroRefinement",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use Killzone Logic",
          "property": "Advanced_UseKillzoneLogic",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use Regime Filter",
          "property": "Advanced_UseRegimeFilter",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use Liquidity Targets",
          "property": "Advanced_UseLiquidityTargets",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use Structure Stops",
          "property": "Advanced_UseStructureStops",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use Advanced Exits",
          "property": "Advanced_UseAdvancedExits",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        }
      ]
    },
    {
      "name": "11 Advanced Micro Profile",
      "blurb": "Micro-TF original profile overlay. Scaffold.",
      "params": [
        {
          "display": "Adv - Use Micro Original Profile",
          "property": "Advanced_UseMicroOriginalProfile",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Micro Signal TF",
          "property": "Advanced_MicroSignalTF",
          "default": "5",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Micro Swing Depth",
          "property": "Advanced_MicroSwingDepth",
          "default": "12",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Micro TP Points",
          "property": "Advanced_MicroTPPoints",
          "default": "800.0",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Micro SL Points",
          "property": "Advanced_MicroSLPoints",
          "default": "220.0",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Micro Trail Start Points",
          "property": "Advanced_MicroTrailStartPoints",
          "default": "90.0",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Micro Trail Stop Points",
          "property": "Advanced_MicroTrailStopPoints",
          "default": "35.0",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Micro Entry Offset Points",
          "property": "Advanced_MicroEntryOffsetPoints",
          "default": "-80.0",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Micro Pause Seconds",
          "property": "Advanced_MicroPauseSeconds",
          "default": "30",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Micro Max Spread Points",
          "property": "Advanced_MicroMaxSpreadPoints",
          "default": "35",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        }
      ]
    },
    {
      "name": "12 HTF Bias And Delivery",
      "blurb": "HTF EMA bias + H4/H1 delivery FVG knobs. Scaffold.",
      "params": [
        {
          "display": "Adv - HTF Trend TF",
          "property": "Advanced_HTFTrendTF",
          "default": "60",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - HTF Macro TF",
          "property": "Advanced_HTFMacroTF",
          "default": "240",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - HTF Fast Ema Period",
          "property": "Advanced_HTFFastEmaPeriod",
          "default": "20",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - HTF Slow Ema Period",
          "property": "Advanced_HTFSlowEmaPeriod",
          "default": "50",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - HTF Macro Ema Period",
          "property": "Advanced_HTFMacroEmaPeriod",
          "default": "200",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Delivery FVG Lookback Bars",
          "property": "Advanced_DeliveryFVGLookbackBars",
          "default": "40",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Delivery FVG Min Size Points",
          "property": "Advanced_DeliveryFVGMinSizePoints",
          "default": "80",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Max Distance From FVG Points",
          "property": "Advanced_MaxDistanceFromFVGPoints",
          "default": "250",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Dealing Range Bars",
          "property": "Advanced_DealingRangeBars",
          "default": "60",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        }
      ]
    },
    {
      "name": "13 Structure Sweep IFVG",
      "blurb": "Sweep / BOS / first-pullback / IFVG knobs. Scaffold.",
      "params": [
        {
          "display": "Adv - Structure TF",
          "property": "Advanced_StructureTF",
          "default": "15",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Structure Swing Lookback Bars",
          "property": "Advanced_StructureSwingLookbackBars",
          "default": "3",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Sweep Lookback Bars",
          "property": "Advanced_SweepLookbackBars",
          "default": "20",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Sweep Min Break Points",
          "property": "Advanced_SweepMinBreakPoints",
          "default": "10",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Sweep Min Rejection Ratio",
          "property": "Advanced_SweepMinRejectionRatio",
          "default": "0.35",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Require First Pullback",
          "property": "Advanced_RequireFirstPullback",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Require BOS Before Pullback",
          "property": "Advanced_RequireBOSBeforePullback",
          "default": "true",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Pullback Max Bars After BOS",
          "property": "Advanced_PullbackMaxBarsAfterBOS",
          "default": "8",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - IFVG Lookback Bars",
          "property": "Advanced_IFVGLookbackBars",
          "default": "20",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - IFVG Min Size Points",
          "property": "Advanced_IFVGMinSizePoints",
          "default": "30",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - IFVG Entry Percent",
          "property": "Advanced_IFVGEntryPercent",
          "default": "0.50",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        }
      ]
    },
    {
      "name": "14 SMT And Basket",
      "blurb": "SMT confirmation + basket symbols. Scaffold.",
      "params": [
        {
          "display": "Adv - SMT Symbol",
          "property": "Advanced_SMTSymbol",
          "default": "\"DXY\"",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - SMT Use Inverse Correlation",
          "property": "Advanced_SMTUseInverseCorrelation",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - SMTTF",
          "property": "Advanced_SMTTF",
          "default": "15",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - SMT Lookback Bars",
          "property": "Advanced_SMTLookbackBars",
          "default": "12",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - SMT Min Score",
          "property": "Advanced_SMTMinScore",
          "default": "60",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Use SMT Basket",
          "property": "Advanced_UseSMTBasket",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - SMT Basket Symbols CSV",
          "property": "Advanced_SMTBasketSymbolsCSV",
          "default": "\"DXY,USDX,XAGUSD,EURUSD\"",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - SMT Basket Min Confirmations",
          "property": "Advanced_SMTBasketMinConfirmations",
          "default": "2",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        }
      ]
    },
    {
      "name": "15 Liquidity Targets And Exits",
      "blurb": "Liquidity targets remain scaffold. Break-even / partial / structure trail are v6.6 Layer 4.",
      "params": [
        {
          "display": "Adv - Target Previous Day HL",
          "property": "Advanced_TargetPreviousDayHL",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Target Previous Week HL",
          "property": "Advanced_TargetPreviousWeekHL",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Target Session HL",
          "property": "Advanced_TargetSessionHL",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Target Equal High Low",
          "property": "Advanced_TargetEqualHighLow",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Target Recent Swing HL",
          "property": "Advanced_TargetRecentSwingHL",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Target Round Numbers",
          "property": "Advanced_TargetRoundNumbers",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Target ADR Projection",
          "property": "Advanced_TargetADRProjection",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Target Min Distance Points",
          "property": "Advanced_TargetMinDistancePoints",
          "default": "300",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Target Max Distance Points",
          "property": "Advanced_TargetMaxDistancePoints",
          "default": "2500",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Target Minimum RR",
          "property": "Advanced_TargetMinimumRR",
          "default": "1.50",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Use Break Even",
          "property": "Advanced_UseBreakEven",
          "default": "false",
          "status": "v6.6-wired",
          "notes": "Layer 4. After favor \u2265 trigger, move stop to entry \u00b1 buffer."
        },
        {
          "display": "Adv - Use Partial Close",
          "property": "Advanced_UsePartialClose",
          "default": "false",
          "status": "v6.6-wired",
          "notes": "Layer 4. One-shot half-qty at PartialClosePoints (SH_PARTIAL_*)."
        },
        {
          "display": "Adv - Use Structure Trail",
          "property": "Advanced_UseStructureTrail",
          "default": "false",
          "status": "v6.6-wired",
          "notes": "Layer 4. Trail behind cached ZigZag support (long) / resistance (short)."
        },
        {
          "display": "Adv - Break Even Trigger Points",
          "property": "Advanced_BreakEvenTriggerPoints",
          "default": "100",
          "status": "v6.6-wired",
          "notes": "Layer 4. Favor move (points) before BE fires. Default 100."
        },
        {
          "display": "Adv - Break Even Buffer Points",
          "property": "Advanced_BreakEvenBufferPoints",
          "default": "2",
          "status": "v6.6-wired",
          "notes": "Layer 4. Stop offset from entry after BE. Default 2."
        },
        {
          "display": "Adv - Partial Close Points",
          "property": "Advanced_PartialClosePoints",
          "default": "300",
          "status": "v6.6-wired",
          "notes": "Layer 4. Favor move (points) for one-shot partial. Default 300."
        },
        {
          "display": "Adv - Close On Opposite Sweep",
          "property": "Advanced_CloseOnOppositeSweep",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Close On Opposite CHOCH",
          "property": "Advanced_CloseOnOppositeCHOCH",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        }
      ]
    },
    {
      "name": "16 Volume Profile",
      "blurb": "Full VP engine surface. Scaffold \u2014 no POC/VA/HVN logic runs.",
      "params": [
        {
          "display": "Adv - Use Volume Profile",
          "property": "Advanced_UseVolumeProfile",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - VP Timeframe",
          "property": "Advanced_VPTimeframe",
          "default": "5",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - VP Lookback Bars",
          "property": "Advanced_VPLookbackBars",
          "default": "288",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - VP Price Buckets",
          "property": "Advanced_VPPriceBuckets",
          "default": "100",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - VP Value Area Percent",
          "property": "Advanced_VPValueAreaPercent",
          "default": "70.0",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - VP Use POC Filter",
          "property": "Advanced_VPUsePOCFilter",
          "default": "true",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - VP Use VAHVAL Filter",
          "property": "Advanced_VPUseVAHVALFilter",
          "default": "true",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - VP Use HVNLVN Filter",
          "property": "Advanced_VPUseHVNLVNFilter",
          "default": "true",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - VP Min Distance From POC Points",
          "property": "Advanced_VPMinDistanceFromPOCPoints",
          "default": "150",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - VP Min Distance From HVN Points",
          "property": "Advanced_VPMinDistanceFromHVNPoints",
          "default": "100",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - VPHVN Ratio",
          "property": "Advanced_VPHVNRatio",
          "default": "0.70",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - VPLVN Ratio",
          "property": "Advanced_VPLVNRatio",
          "default": "0.25",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - VP Allow LVN Breakout",
          "property": "Advanced_VPAllowLVNBreakout",
          "default": "true",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - VP Allow POC Reclaim",
          "property": "Advanced_VPAllowPOCReclaim",
          "default": "true",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - VP Require Room To Target",
          "property": "Advanced_VPRequireRoomToTarget",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - VP Min Room To Target Points",
          "property": "Advanced_VPMinRoomToTargetPoints",
          "default": "250",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        }
      ]
    },
    {
      "name": "17 Market Structure State",
      "blurb": "Structure-state / delivery-shift / breaker / liquidity-room / VP confluence. Scaffold.",
      "params": [
        {
          "display": "Adv - Use Structure State Engine",
          "property": "Advanced_UseStructureStateEngine",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Require Structure State Match",
          "property": "Advanced_RequireStructureStateMatch",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Use Delivery Shift Filter",
          "property": "Advanced_UseDeliveryShiftFilter",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use Breaker Structure",
          "property": "Advanced_UseBreakerStructure",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use Liquidity Room Filter",
          "property": "Advanced_UseLiquidityRoomFilter",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use VP Confluence Score",
          "property": "Advanced_UseVPConfluenceScore",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Structure State Lookback Bars",
          "property": "Advanced_StructureStateLookbackBars",
          "default": "80",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Min Structure State Score",
          "property": "Advanced_MinStructureStateScore",
          "default": "60",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Min Delivery Shift Points",
          "property": "Advanced_MinDeliveryShiftPoints",
          "default": "80",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Breaker Retest Tolerance Points",
          "property": "Advanced_BreakerRetestTolerancePoints",
          "default": "80",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Min Liquidity Room Points",
          "property": "Advanced_MinLiquidityRoomPoints",
          "default": "300",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - VP Confluence Weight",
          "property": "Advanced_VPConfluenceWeight",
          "default": "15",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        }
      ]
    },
    {
      "name": "18 ZigZag Quality Pending Manager",
      "blurb": "Layer 2 + Layer 3 live behind their Use* toggles. DeletePendingWhenVPFails still scaffold.",
      "params": [
        {
          "display": "Adv - Use Zig Zag Quality Score",
          "property": "Advanced_UseZigZagQualityScore",
          "default": "false",
          "status": "v6.6-wired",
          "notes": "Layer 2. Optional baseline entry filter on cached ZigZag extrema. Default OFF."
        },
        {
          "display": "Adv - Min Zig Zag Quality Score",
          "property": "Advanced_MinZigZagQualityScore",
          "default": "55",
          "status": "v6.6-wired",
          "notes": "Layer 2 knob. Default 55. Used by PassesZigZagQualityGate."
        },
        {
          "display": "Adv - Min Zig Zag Swing Size Points",
          "property": "Advanced_MinZigZagSwingSizePoints",
          "default": "250",
          "status": "v6.6-wired",
          "notes": "Layer 2 knob. Minimum swing size in points."
        },
        {
          "display": "Adv - Max Zig Zag Swing Age Bars",
          "property": "Advanced_MaxZigZagSwingAgeBars",
          "default": "80",
          "status": "v6.6-wired",
          "notes": "Layer 2 knob. Rejects stale swings."
        },
        {
          "display": "Adv - Min Entry Distance Points",
          "property": "Advanced_MinEntryDistancePoints",
          "default": "30",
          "status": "v6.6-wired",
          "notes": "Layer 2 knob. Minimum entry distance from swing."
        },
        {
          "display": "Adv - Max Entry Distance Points",
          "property": "Advanced_MaxEntryDistancePoints",
          "default": "1500",
          "status": "v6.6-wired",
          "notes": "Layer 2 knob. Maximum entry distance from swing."
        },
        {
          "display": "Adv - Min Swing To Risk Ratio",
          "property": "Advanced_MinSwingToRiskRatio",
          "default": "0.80",
          "status": "v6.6-wired",
          "notes": "Layer 2 knob. Swing size vs risk floor."
        },
        {
          "display": "Adv - Use Pending Quality Manager",
          "property": "Advanced_UsePendingQualityManager",
          "default": "false",
          "status": "v6.6-wired",
          "notes": "Layer 3. Age / distance / opposite-structure cancel near ExpirePendingOrders."
        },
        {
          "display": "Adv - Pending Max Age Minutes",
          "property": "Advanced_PendingMaxAgeMinutes",
          "default": "180",
          "status": "v6.6-wired",
          "notes": "Layer 3 knob. Cancel core pending when age exceeds this."
        },
        {
          "display": "Adv - Pending Max Distance From Price Points",
          "property": "Advanced_PendingMaxDistanceFromPricePoints",
          "default": "2000",
          "status": "v6.6-wired",
          "notes": "Layer 3 knob. Cancel when stop is too far from Close."
        },
        {
          "display": "Adv - Delete Pending On Opposite Structure",
          "property": "Advanced_DeletePendingOnOppositeStructure",
          "default": "true",
          "status": "v6.6-wired",
          "notes": "Layer 3 knob. Cancel when ZigZag structure flips against the pending side."
        },
        {
          "display": "Adv - Delete Pending When VP Fails",
          "property": "Advanced_DeletePendingWhenVPFails",
          "default": "false",
          "status": "scaffold",
          "notes": "Intended Layer 3 VP cancel. VP engine is still scaffold \u2014 this flag is not read."
        }
      ]
    },
    {
      "name": "19 Survival And Testing",
      "blurb": "Prop/news/memory/scale-in/classifier remain scaffold. MAE/MFE + Adv signal CSV are Layer 1.",
      "params": [
        {
          "display": "Adv - Use Prop Firm Guard",
          "property": "Advanced_UsePropFirmGuard",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use News Guard",
          "property": "Advanced_UseNewsGuard",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use Trade Memory",
          "property": "Advanced_UseTradeMemory",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use Scale In Engine",
          "property": "Advanced_UseScaleInEngine",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use Fresh Zig Zag Break Entries",
          "property": "Advanced_UseFreshZigZagBreakEntries",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Max Fresh Break Trades",
          "property": "Advanced_MaxFreshBreakTrades",
          "default": "5",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Min Pullback Points Before Next Break",
          "property": "Advanced_MinPullbackPointsBeforeNextBreak",
          "default": "120",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Min Bars Between Fresh Breaks",
          "property": "Advanced_MinBarsBetweenFreshBreaks",
          "default": "2",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Require New Swing For Each Entry",
          "property": "Advanced_RequireNewSwingForEachEntry",
          "default": "true",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Use Setup Classifier",
          "property": "Advanced_UseSetupClassifier",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only (rg logic=0). Overlay is not wired into entries/exits."
        },
        {
          "display": "Adv - Use MAE MFE Truth Log",
          "property": "Advanced_UseMAE_MFE_TruthLog",
          "default": "false",
          "status": "v6.6-wired",
          "notes": "Layer 1. Tracks MAE/MFE CORE_FILL \u2192 CORE_EXIT. Independent of BaselineLock."
        },
        {
          "display": "Adv - Log Signals To CSV",
          "property": "Advanced_LogSignalsToCSV",
          "default": "false",
          "status": "v6.6-wired",
          "notes": "Layer 1. SignalCsvEnabled = LogSignalsToCSV || this. Independent of BaselineLock."
        },
        {
          "display": "Adv - Show Dashboard",
          "property": "Advanced_ShowDashboard",
          "default": "false",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Max Open Trades",
          "property": "Advanced_MaxOpenTrades",
          "default": "1",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Max Trades Per Setup",
          "property": "Advanced_MaxTradesPerSetup",
          "default": "1",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Max Trades Per Day",
          "property": "Advanced_MaxTradesPerDay",
          "default": "0",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Max Daily Loss Percent",
          "property": "Advanced_MaxDailyLossPercent",
          "default": "0.0",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Daily Profit Lock Percent",
          "property": "Advanced_DailyProfitLockPercent",
          "default": "0.0",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - News Minutes Before",
          "property": "Advanced_NewsMinutesBefore",
          "default": "30",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - News Minutes After",
          "property": "Advanced_NewsMinutesAfter",
          "default": "30",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - News Manual Times CSV",
          "property": "Advanced_NewsManualTimesCSV",
          "default": "\"\"",
          "status": "scaffold",
          "notes": "NinjaScriptProperty + SetDefaults only. Not referenced in entries/exits."
        },
        {
          "display": "Adv - Report Batch Name",
          "property": "Advanced_ReportBatchName",
          "default": "\"SETUP_HUNTER_V6_6_ADVANCEMENT\"",
          "status": "v6.6-wired",
          "notes": "Layer 1 tagging. Written on signal + MAE/MFE CSV rows. Default SETUP_HUNTER_V6_6_ADVANCEMENT."
        },
        {
          "display": "Adv - Report Run Tag",
          "property": "Advanced_ReportRunTag",
          "default": "\"\"",
          "status": "v6.6-wired",
          "notes": "Layer 1 tagging. Optional run tag on CSV rows. Default empty."
        }
      ]
    },
    {
      "name": "20 Exit Modes",
      "blurb": "v6.7 exclusive ExitMode: OneShot (v6.6 control) \u00b7 Ratchet (staged BE ladder) \u00b7 RomanMulti (multi-leg peel). Default OneShot keeps baseline-safe path.",
      "label": "ExitMode",
      "params": [
        {
          "display": "Exit Mode",
          "property": "ExitMode",
          "default": "OneShot",
          "status": "v6.7-wired",
          "notes": "Enum OneShot|Ratchet|RomanMulti. ManageAdvancedCoreExits routes exclusively; default OneShot."
        },
        {
          "display": "Ratchet BE1 Trigger Pts",
          "property": "Ratchet_BE1_TriggerPts",
          "default": "70",
          "status": "v6.7-wired",
          "notes": "Ratchet stage 1 MFE trigger (points)."
        },
        {
          "display": "Ratchet BE1 Lock Pts",
          "property": "Ratchet_BE1_LockPts",
          "default": "2",
          "status": "v6.7-wired",
          "notes": "Ratchet stage 1 lock offset from entry."
        },
        {
          "display": "Ratchet BE2 Trigger Pts",
          "property": "Ratchet_BE2_TriggerPts",
          "default": "120",
          "status": "v6.7-wired",
          "notes": "Ratchet stage 2 MFE trigger."
        },
        {
          "display": "Ratchet BE2 Lock Pts",
          "property": "Ratchet_BE2_LockPts",
          "default": "10",
          "status": "v6.7-wired",
          "notes": "Ratchet stage 2 lock."
        },
        {
          "display": "Ratchet BE3 Trigger Pts",
          "property": "Ratchet_BE3_TriggerPts",
          "default": "150",
          "status": "v6.7-wired",
          "notes": "Ratchet stage 3 MFE trigger."
        },
        {
          "display": "Ratchet BE3 Lock Pts",
          "property": "Ratchet_BE3_LockPts",
          "default": "20",
          "status": "v6.7-wired",
          "notes": "Ratchet stage 3 lock."
        },
        {
          "display": "Ratchet BE3 Enable",
          "property": "Ratchet_BE3_Enable",
          "default": "true",
          "status": "v6.7-wired",
          "notes": "Enable third ratchet stage."
        },
        {
          "display": "Roman Legs",
          "property": "Roman_Legs",
          "default": "4",
          "status": "v6.7-wired",
          "notes": "RomanMulti legs 1\u20134."
        },
        {
          "display": "Roman Lot 1",
          "property": "Roman_Lot1",
          "default": "1",
          "status": "v6.7-wired",
          "notes": "Leg 1 quantity (0=unused)."
        },
        {
          "display": "Roman Lot 2",
          "property": "Roman_Lot2",
          "default": "1",
          "status": "v6.7-wired",
          "notes": "Leg 2 quantity."
        },
        {
          "display": "Roman Lot 3",
          "property": "Roman_Lot3",
          "default": "1",
          "status": "v6.7-wired",
          "notes": "Leg 3 quantity."
        },
        {
          "display": "Roman Lot 4",
          "property": "Roman_Lot4",
          "default": "0",
          "status": "v6.7-wired",
          "notes": "Leg 4 quantity; default 0 unused."
        },
        {
          "display": "Roman Target Pts 1",
          "property": "Roman_TargetPts1",
          "default": "50",
          "status": "v6.7-wired",
          "notes": "Leg 1 profit target points."
        },
        {
          "display": "Roman Target Pts 2",
          "property": "Roman_TargetPts2",
          "default": "150",
          "status": "v6.7-wired",
          "notes": "Leg 2 profit target points."
        },
        {
          "display": "Roman Target Pts 3",
          "property": "Roman_TargetPts3",
          "default": "400",
          "status": "v6.7-wired",
          "notes": "Leg 3 profit target points."
        },
        {
          "display": "Roman Target Pts 4",
          "property": "Roman_TargetPts4",
          "default": "800",
          "status": "v6.7-wired",
          "notes": "Leg 4 profit target points."
        },
        {
          "display": "Roman SL Pts",
          "property": "Roman_SLPts",
          "default": "300",
          "status": "v6.7-wired",
          "notes": "Shared Roman SL; falls back to baseline SL if \u22640."
        },
        {
          "display": "Roman BE Trigger Pts 1",
          "property": "Roman_BE_TriggerPts1",
          "default": "70",
          "status": "v6.7-wired",
          "notes": "Per-leg BE trigger L1."
        },
        {
          "display": "Roman BE Trigger Pts 2",
          "property": "Roman_BE_TriggerPts2",
          "default": "120",
          "status": "v6.7-wired",
          "notes": "Per-leg BE trigger L2."
        },
        {
          "display": "Roman BE Trigger Pts 3",
          "property": "Roman_BE_TriggerPts3",
          "default": "150",
          "status": "v6.7-wired",
          "notes": "Per-leg BE trigger L3."
        },
        {
          "display": "Roman BE Trigger Pts 4",
          "property": "Roman_BE_TriggerPts4",
          "default": "250",
          "status": "v6.7-wired",
          "notes": "Per-leg BE trigger L4."
        },
        {
          "display": "Roman BE Lock Pts",
          "property": "Roman_BE_LockPts",
          "default": "1",
          "status": "v6.7-wired",
          "notes": "MoveToPlus-style BE lock for Roman legs."
        },
        {
          "display": "Roman Use Per Leg Trail",
          "property": "Roman_UsePerLegTrail",
          "default": "false",
          "status": "scaffold",
          "notes": "Stub available; per-leg trail not fully wired in v6.7."
        }
      ]
    },
    {
      "name": "Roman 01. Frequency Jump",
      "blurb": "v6.8 Frequency Jump \u2014 after MFE \u2265 stage trigger, every N baseline bars jump stop behind price. Active on OneShot/Ratchet SH_CORE_*. Default OFF.",
      "params": [
        {
          "display": "01.01 Use Frequency Jump",
          "property": "UseFrequencyJump",
          "default": "false",
          "status": "v6.8-wired",
          "notes": "Master toggle. Default OFF."
        },
        {
          "display": "01.02 Stage1 Trigger Pts",
          "property": "FreqJump1_TriggerPts",
          "default": "70",
          "status": "v6.8-wired",
          "notes": "Stage 1 MFE trigger."
        },
        {
          "display": "01.03 Stage1 Frequency Bars",
          "property": "FreqJump1_FrequencyBars",
          "default": "3",
          "status": "v6.8-wired",
          "notes": "Bars between stage 1 jumps."
        },
        {
          "display": "01.04 Stage1 Jump Behind Pts",
          "property": "FreqJump1_JumpBehindPts",
          "default": "250",
          "status": "v6.8-wired",
          "notes": "Stop offset behind price stage 1."
        },
        {
          "display": "01.05 Stage2 Trigger Pts",
          "property": "FreqJump2_TriggerPts",
          "default": "150",
          "status": "v6.8-wired",
          "notes": "Stage 2 MFE trigger."
        },
        {
          "display": "01.06 Stage2 Frequency Bars",
          "property": "FreqJump2_FrequencyBars",
          "default": "3",
          "status": "v6.8-wired",
          "notes": "Bars between stage 2 jumps."
        },
        {
          "display": "01.07 Stage2 Jump Behind Pts",
          "property": "FreqJump2_JumpBehindPts",
          "default": "250",
          "status": "v6.8-wired",
          "notes": "Stop offset stage 2."
        },
        {
          "display": "01.08 Stage3 Trigger Pts",
          "property": "FreqJump3_TriggerPts",
          "default": "250",
          "status": "v6.8-wired",
          "notes": "Stage 3 MFE trigger."
        },
        {
          "display": "01.09 Stage3 Frequency Bars",
          "property": "FreqJump3_FrequencyBars",
          "default": "3",
          "status": "v6.8-wired",
          "notes": "Bars between stage 3 jumps."
        },
        {
          "display": "01.10 Stage3 Jump Behind Pts",
          "property": "FreqJump3_JumpBehindPts",
          "default": "350",
          "status": "v6.8-wired",
          "notes": "Stop offset stage 3."
        }
      ]
    },
    {
      "name": "Roman 02. One Trade Mode",
      "blurb": "v6.8 One Trade Mode \u2014 caps fills (SH_CORE_*; Roman leg1 only). CSV ONE_TRADE_BLOCK. Default OFF.",
      "params": [
        {
          "display": "02.01 Use One Trade Mode",
          "property": "UseOneTradeMode",
          "default": "false",
          "status": "v6.8-wired",
          "notes": "Master toggle. Default OFF."
        },
        {
          "display": "02.02 One Trade Max",
          "property": "OneTradeMax",
          "default": "2",
          "status": "v6.8-wired",
          "notes": "Max fills before block."
        },
        {
          "display": "02.03 Reset On Session",
          "property": "OneTradeResetOnSession",
          "default": "true",
          "status": "v6.8-wired",
          "notes": "Reset counters on session/date change."
        },
        {
          "display": "02.04 Divide Longs Shorts",
          "property": "DivideLongsShorts",
          "default": "true",
          "status": "v6.8-wired",
          "notes": "Separate long/short caps when true."
        }
      ]
    },
    {
      "name": "Roman 03. Session Filters",
      "blurb": "v6.8 Session Filters \u2014 skip premarket/lunch; allow open/close windows. No new entries in skipped zones; exits still managed. Default OFF.",
      "params": [
        {
          "display": "03.01 Use Session Filters",
          "property": "UseSessionFilters",
          "default": "false",
          "status": "v6.8-wired",
          "notes": "Master toggle. Default OFF."
        },
        {
          "display": "03.02 Skip PreMarket",
          "property": "SkipPreMarket",
          "default": "true",
          "status": "v6.8-wired",
          "notes": "Skip premarket window when ON."
        },
        {
          "display": "03.03 Skip Lunch",
          "property": "SkipLunch",
          "default": "true",
          "status": "v6.8-wired",
          "notes": "Skip lunch window when ON."
        },
        {
          "display": "03.04 Allow Open Window",
          "property": "AllowOpenWindow",
          "default": "true",
          "status": "v6.8-wired",
          "notes": "Allow entries in open window."
        },
        {
          "display": "03.05 Allow Close Window",
          "property": "AllowCloseWindow",
          "default": "true",
          "status": "v6.8-wired",
          "notes": "Allow entries in close window."
        },
        {
          "display": "03.06 PreMarket Start Hour",
          "property": "PreMarketStartHour",
          "default": "0",
          "status": "v6.8-wired",
          "notes": "Premarket start hour (chart local)."
        },
        {
          "display": "03.07 PreMarket Start Minute",
          "property": "PreMarketStartMinute",
          "default": "0",
          "status": "v6.8-wired",
          "notes": "Premarket start minute."
        },
        {
          "display": "03.08 PreMarket End Hour",
          "property": "PreMarketEndHour",
          "default": "9",
          "status": "v6.8-wired",
          "notes": "Premarket end hour."
        },
        {
          "display": "03.09 PreMarket End Minute",
          "property": "PreMarketEndMinute",
          "default": "30",
          "status": "v6.8-wired",
          "notes": "Premarket end minute."
        },
        {
          "display": "03.10 Open Start Hour",
          "property": "OpenWindowStartHour",
          "default": "9",
          "status": "v6.8-wired",
          "notes": "Open window start hour."
        },
        {
          "display": "03.11 Open Start Minute",
          "property": "OpenWindowStartMinute",
          "default": "30",
          "status": "v6.8-wired",
          "notes": "Open window start minute."
        },
        {
          "display": "03.12 Open End Hour",
          "property": "OpenWindowEndHour",
          "default": "11",
          "status": "v6.8-wired",
          "notes": "Open window end hour."
        },
        {
          "display": "03.13 Open End Minute",
          "property": "OpenWindowEndMinute",
          "default": "0",
          "status": "v6.8-wired",
          "notes": "Open window end minute."
        },
        {
          "display": "03.14 Lunch Start Hour",
          "property": "LunchStartHour",
          "default": "12",
          "status": "v6.8-wired",
          "notes": "Lunch start hour."
        },
        {
          "display": "03.15 Lunch Start Minute",
          "property": "LunchStartMinute",
          "default": "0",
          "status": "v6.8-wired",
          "notes": "Lunch start minute."
        },
        {
          "display": "03.16 Lunch End Hour",
          "property": "LunchEndHour",
          "default": "13",
          "status": "v6.8-wired",
          "notes": "Lunch end hour."
        },
        {
          "display": "03.17 Lunch End Minute",
          "property": "LunchEndMinute",
          "default": "0",
          "status": "v6.8-wired",
          "notes": "Lunch end minute."
        },
        {
          "display": "03.18 Close Start Hour",
          "property": "CloseWindowStartHour",
          "default": "14",
          "status": "v6.8-wired",
          "notes": "Close window start hour."
        },
        {
          "display": "03.19 Close Start Minute",
          "property": "CloseWindowStartMinute",
          "default": "0",
          "status": "v6.8-wired",
          "notes": "Close window start minute."
        },
        {
          "display": "03.20 Close End Hour",
          "property": "CloseWindowEndHour",
          "default": "16",
          "status": "v6.8-wired",
          "notes": "Close window end hour."
        },
        {
          "display": "03.21 Close End Minute",
          "property": "CloseWindowEndMinute",
          "default": "0",
          "status": "v6.8-wired",
          "notes": "Close window end minute."
        },
        {
          "display": "03.22 Session Max Trades",
          "property": "SessionMaxTrades",
          "default": "0",
          "status": "v6.8-wired",
          "notes": "0 = off. Cap entries per session when >0."
        }
      ]
    },
    {
      "name": "Roman 04. HTF Bias Gate",
      "blurb": "v6.8 HTF Bias Gate \u2014 EMA2050 or SMA200 on HTF series (always subscribed). Gates EvaluateBaselineSignal / SubmitOrRefreshCore. Default OFF.",
      "params": [
        {
          "display": "04.01 Use HTF Bias Gate",
          "property": "UseHTFBiasGate",
          "default": "false",
          "status": "v6.8-wired",
          "notes": "Master toggle. Default OFF. CSV HTF_GATE_REJECT."
        },
        {
          "display": "04.02 HTF Minutes",
          "property": "HTFMinutes",
          "default": "60",
          "status": "v6.8-wired",
          "notes": "HTF series minutes (BIP 5)."
        },
        {
          "display": "04.03 HTF Mode",
          "property": "HTFMode",
          "default": "EMA2050",
          "status": "v6.8-wired",
          "notes": "EMA2050 or SMA200."
        },
        {
          "display": "04.04 Use VWAP Bias (stub)",
          "property": "UseVWAPBias",
          "default": "false",
          "status": "scaffold",
          "notes": "Reserved stub \u2014 no session VWAP series in this build."
        }
      ]
    }
  ]
}
