{
  "schema_version": 1,
  "strategy_id": 28,
  "version": "1.01",
  "article": "https://trade-forex.info/forex-strategies/cross-sectional-currency-momentum/",
  "profitability_status": "not_established",
  "compiled_production_ex5_sha256": "da6c07c02eb02cf9a02f03e5b54faa87c9525e37280abcd10e94f568479d9048",
  "source_manifest_sha256": "77d58d9639074649b851587acc9bc1851f242a4cd1226adc17c84cc0b7e1c202",
  "validation_sha256": "b0efdb52d2044fadb109d4ba116b79b84ab552a168c6ac44ec8321fe3c4ca981",
  "native_production": {
    "broker_from": "2024-04-01",
    "broker_to_exclusive": "2024-06-01",
    "decision_from_utc": "2024-03-31T21:00:00Z",
    "decision_to_utc_exclusive": "2024-05-31T21:00:00Z",
    "host": "EURUSD.TFQ1",
    "timeframe": "D1",
    "model": "Every tick based on real ticks",
    "initial_balance_usd": 10000,
    "leverage": "1:100",
    "pairs_available": [
      "AUDUSD",
      "USDCAD",
      "USDCHF",
      "EURUSD",
      "GBPUSD",
      "USDJPY",
      "NZDUSD"
    ],
    "configured_but_unavailable": [
      "USDNOK",
      "USDSEK"
    ],
    "entries": 8,
    "ordinary_rebalance_closes": 4,
    "forced_tester_end_closes": 4,
    "price_profit_usd": "62.15",
    "native_swap_usd_unverified": "1.87",
    "native_commission_usd": "0",
    "native_cash_change_usd": "64.02",
    "final_balance_usd": "10064.02",
    "added_cost_overlay": "none",
    "execution_delay_ms": 0,
    "native_rejected_orders_observed": 0,
    "account_orders": 0
  },
  "earlier_research_pilots": [
    {
      "case_id": "portfolio28-feb2024-v2",
      "decision_from_utc": "2024-01-31T22:00:00Z",
      "decision_to_utc_exclusive": "2024-02-29T22:00:00Z",
      "fills": 4,
      "closed_positions": 4,
      "gross_trade_profit_usd": -20.76,
      "booked_swap_usd": -7.26,
      "fee_withdrawals_usd": 0.35,
      "net_cash_usd": -28.37,
      "ordinary_exits": 0,
      "forced_tester_end_exits": 4
    },
    {
      "case_id": "portfolio28-rebalance-v2",
      "decision_from_utc": "2024-01-31T22:00:00Z",
      "decision_to_utc_exclusive": "2024-03-31T21:00:00Z",
      "fills": 8,
      "closed_positions": 8,
      "gross_trade_profit_usd": -6.1,
      "booked_swap_usd": -7.76,
      "fee_withdrawals_usd": 0.63,
      "net_cash_usd": -14.49,
      "ordinary_exits": 4,
      "forced_tester_end_exits": 4
    }
  ],
  "research_pilot_fee_assumption_usd_per_lot_per_side": 3.5,
  "separate_recovery_control": {
    "scope": "Earlier real stale checkpoint restored in process; unchanged callbacks closed four existing positions without a new entry",
    "entries": 4,
    "closes": 4,
    "native_cash_change_usd": "-0.41",
    "actual_process_crash_tested": false
  },
  "limitations": [
    "Exact unmodified production EX5 in StrategyTester only, with demo trading disabled; no account orders.",
    "No added commission/slippage overlay; booked native swap historical representativeness is unvalidated.",
    "Report and native log reconcile all order/deal/position lifecycles; per-request return codes, magic and 300 common D1/ranking buffers are not independently exported.",
    "Earlier automatically preloaded warmup may contain disclosed gaps. Entry implies the frozen production readiness branch passed, not independent buffer replay.",
    "Forced tester-end closes are explicitly separated from ordinary strategy exits.",
    "This new direct-binary case does not itself test persistence or actual process-crash recovery.",
    "Research pilots overlap and differ from the later production window/cost method; do not add or average them as one performance series.",
    "Exact production test does not exercise a real process crash or demonstrate all failure branches.",
    "A positive two-month zero-commission result is not a profitability qualification.",
    "The tested source uses no per-position stop or target; the daily NAV trigger depends on common history, host ticks and exclusive account ownership."
  ],
  "data": {
    "source": "Dukascopy bid/ask ticks acquired with QuantDataManager",
    "raw_timezone": "UTC",
    "native_broker_timezone": "UTC+2 winter / UTC+3 US daylight saving; conversion already applied",
    "release_sha256": "5677eea1ba86ef2ab4b5535c827b17883ba67557a18623981a991eca44ea54b7",
    "gap_policy_sha256": "54e351f29b7e23d787aad29269e1338bca5a6ed4bc237ae06af3ced5214cfe00",
    "decision_window": "Approved for all seven imported majors; earlier automatically preloaded warmup may contain disclosed gaps. Exact production readiness passed; independent buffer replay is separate."
  }
}
