{
  "additionalProperties": false,
  "description": "ADX trend strength check. True when ADX is above/below a threshold.\n\nADX measures trend strength regardless of direction: values above 25 indicate\na strong trend, below 20 a weak/ranging market. Use as a gate to allow entries\nonly during trending conditions.",
  "properties": {
    "adx_period": {
      "default": 14,
      "maximum": 500,
      "minimum": 2,
      "title": "Adx Period",
      "type": "integer"
    },
    "mode": {
      "default": "level",
      "description": "Firing mode. 'level' (default) = true every bar ADX op value holds (CompareCondition). 'cross' = edge, fires once on the bar ADX first crosses the threshold in the op direction (CrossCondition).",
      "enum": [
        "level",
        "cross"
      ],
      "title": "Mode",
      "type": "string"
    },
    "op": {
      "enum": [
        ">",
        ">=",
        "<",
        "<=",
        "between",
        "==",
        "!="
      ],
      "title": "Op",
      "type": "string"
    },
    "threshold": {
      "title": "Threshold",
      "type": "number"
    },
    "type": {
      "const": "trend_adx",
      "default": "trend_adx",
      "title": "Type",
      "type": "string"
    }
  },
  "required": [
    "op",
    "threshold"
  ],
  "title": "TrendADXCondition",
  "type": "object"
}
