{
  "additionalProperties": false,
  "description": "End-of-day exit: close open positions a configurable number of minutes\nbefore session close.\n\nCompiles to ``minutes_to_close <= flatten_minutes_before_close``. No-op for\ncrypto (24h sessions) and outside-session bars (TimeRef returns NaN there;\ncomparisons are silent-False).\n\nNaN trap: composing with NotCondition is a footgun \u2014 ``not(EodFlatten<=N)``\nevaluates True outside session because NaN comparisons are silent-False.\nPrefer AllOf with an in-session gate over wrapping in Not.",
  "properties": {
    "card_type": {
      "const": "eod_flatten",
      "default": "eod_flatten",
      "title": "Card Type",
      "type": "string"
    },
    "flatten_minutes_before_close": {
      "default": 5,
      "description": "Minutes before session close at which to flatten open positions.",
      "maximum": 390,
      "minimum": 0,
      "title": "Flatten Minutes Before Close",
      "type": "integer"
    }
  },
  "title": "EodFlattenCard",
  "type": "object"
}
