{
  "additionalProperties": false,
  "description": "Session-level value reference.\n\nDay-scoped mode (default): resolves against the full trading day in the\nsession timezone. field in {open, high, low, close, prior_close,\nbars_into_session, range, mid}.\n\nIntraday window mode: set ``window_start`` (HH:MM wall-clock in the\nsession timezone) and ``window_duration_minutes`` to aggregate OHLC\nacross a fixed intraday slot (e.g., Asian session 00:00+480, ORB\n09:30+30). Before the window opens each day: NaN. During the window:\nevolving aggregate. After close: frozen aggregate for the rest of the\nday; resets at the next day's window_start. Fields prior_close and\nbars_into_session are day-scope only (not valid with a window).",
  "properties": {
    "factor": {
      "anyOf": [
        {
          "maximum": 1000000.0,
          "minimum": -1000000.0,
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Factor"
    },
    "resolution": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional higher-timeframe override for this value ref. Set it inside lhs/rhs refs such as {'type': 'indicator', ..., 'resolution': '4h'} or {'type': 'price', 'field': 'close', 'resolution': '4h'}. Do not put timeframe/source_timeframe on the parent condition. None = strategy timeframe.",
      "title": "Resolution"
    },
    "session_field": {
      "enum": [
        "open",
        "high",
        "low",
        "close",
        "prior_close",
        "bars_into_session",
        "range",
        "mid",
        "in_session"
      ],
      "title": "Session Field",
      "type": "string"
    },
    "type": {
      "const": "session",
      "default": "session",
      "title": "Type",
      "type": "string"
    },
    "window_duration_minutes": {
      "anyOf": [
        {
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Window Duration Minutes"
    },
    "window_start": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Intraday window start as HH:MM wall-clock in the session timezone (e.g., '09:30'). Requires window_duration_minutes.",
      "title": "Window Start"
    }
  },
  "required": [
    "session_field"
  ],
  "title": "SessionSignalRef",
  "type": "object"
}
