{
  "additionalProperties": false,
  "description": "EMA fast vs slow relationship. True while EMA(fast) is above/below EMA(slow).\n\nEvaluates the difference EMA(fast) - EMA(slow) against a threshold (default 0).\nUse as a gate for trend-following strategies: op='>' means uptrend, op='<' means\ndowntrend.",
  "properties": {
    "ma_fast": {
      "default": 20,
      "maximum": 400,
      "minimum": 2,
      "title": "Ma Fast",
      "type": "integer"
    },
    "ma_slow": {
      "default": 50,
      "maximum": 800,
      "minimum": 2,
      "title": "Ma Slow",
      "type": "integer"
    },
    "mode": {
      "default": "level",
      "description": "Firing mode. 'level' (default) = true every bar the EMA difference comparison holds. 'cross' = edge, fires once on the bar the difference first crosses the threshold in the op direction.",
      "enum": [
        "level",
        "cross"
      ],
      "title": "Mode",
      "type": "string"
    },
    "op": {
      "enum": [
        ">",
        ">=",
        "<",
        "<=",
        "between",
        "==",
        "!="
      ],
      "title": "Op",
      "type": "string"
    },
    "type": {
      "const": "trend_ma_relation",
      "default": "trend_ma_relation",
      "title": "Type",
      "type": "string"
    },
    "value": {
      "default": 0,
      "title": "Value",
      "type": "number"
    }
  },
  "required": [
    "op"
  ],
  "title": "TrendMARelationCondition",
  "type": "object"
}
