{
  "additionalProperties": false,
  "description": "Bollinger Band width percentile. Measures volatility compression/expansion.\n\nBB width percentile ranks current band width against its own history. Low values\n(< 20) signal a squeeze that often precedes a breakout. Use as a gate.",
  "properties": {
    "lookback_bars": {
      "default": 20,
      "maximum": 5000,
      "minimum": 1,
      "title": "Lookback Bars",
      "type": "integer"
    },
    "mode": {
      "default": "level",
      "description": "Firing mode. 'level' (default) = true every bar the BB width percentile comparison holds. 'cross' = edge, fires once on the bar the percentile first crosses the threshold in the op direction.",
      "enum": [
        "level",
        "cross"
      ],
      "title": "Mode",
      "type": "string"
    },
    "op": {
      "enum": [
        ">",
        ">=",
        "<",
        "<=",
        "between",
        "==",
        "!="
      ],
      "title": "Op",
      "type": "string"
    },
    "type": {
      "const": "vol_bb_width",
      "default": "vol_bb_width",
      "title": "Type",
      "type": "string"
    },
    "value": {
      "title": "Value",
      "type": "number"
    }
  },
  "required": [
    "op",
    "value"
  ],
  "title": "VolBBWidthCondition",
  "type": "object"
}
