dogabot dogabot Documentation

Named rules

Paste these under params.entry.rules (or increase / decrease / reversal / exit) when creating bots, emitters, or backtests via REST or MCP. Machine-readable catalog: /rule-examples.json.

Defaults match the webapp rule editor. Some rules still need venue-specific fields (legs, symbols, customLogic onBar) — see the “Needs” notes. For full customLogic, create_automation, and limitStackPolicy recipes see Ask AI recipes (/recipe-examples.json).

Create shapes: REST reference (POST /bots, POST /emitters). Guides: Learn · strategy rules.

entry

RuleKindLearnExample
crossoverdirectionalLearn
Example
{
  "crossover": {
    "enabled": true,
    "invert": false,
    "params": {
      "shortMA": 5,
      "longMA": 100
    }
  }
}
priceDistancedirectionalLearn
Example
{
  "priceDistance": {
    "enabled": true,
    "invert": false,
    "params": {
      "maPeriod": 20,
      "type": "percentage",
      "value": 1
    }
  }
}
movingAveragedirectionalLearn
Example
{
  "movingAverage": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20
    }
  }
}
rsidirectionalLearn
Example
{
  "rsi": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 14,
      "oversold": 30,
      "overbought": 70
    }
  }
}
macddirectionalLearn
Example
{
  "macd": {
    "enabled": true,
    "invert": false,
    "params": {
      "fast": 12,
      "slow": 26,
      "signal": 9
    }
  }
}
adxdirectionalLearn
Example
{
  "adx": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 14,
      "threshold": 25
    }
  }
}
atrdirectionalLearn
Example
{
  "atr": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 14,
      "multiplier": 1.5
    }
  }
}
breakoutdirectionalLearn
Example
{
  "breakout": {
    "enabled": true,
    "invert": false,
    "params": {
      "referenceMode": "lookback",
      "fixedPrice": 0,
      "lookback": 20,
      "source": "channel",
      "breakSide": "both",
      "offsetType": "absolute",
      "offsetValue": 0
    }
  }
}
bollingerBandsdirectionalLearn
Example
{
  "bollingerBands": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20,
      "dev": 2
    }
  }
}
priceZScoredirectionalLearn
Example
{
  "priceZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "lookback": 20,
      "threshold": 2,
      "source": "close"
    }
  }
}
returnZScoredirectionalLearn
Example
{
  "returnZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "lookback": 20,
      "returnBars": 1,
      "threshold": 2
    }
  }
}
indicatorZScoredirectionalLearn
Example
{
  "indicatorZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "indicator": "rsi",
      "period": 14,
      "lookback": 20,
      "threshold": 2
    }
  }
}
bbSqueezeBreakoutdirectionalLearn
Example
{
  "bbSqueezeBreakout": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20,
      "dev": 2,
      "squeezeLookback": 100,
      "squeezePercentile": 20,
      "squeezeRecentBars": 5,
      "breakSide": "both"
    }
  }
}
sardirectionalLearn
Example
{
  "sar": {
    "enabled": true,
    "invert": false,
    "params": {
      "start": 0.02,
      "increment": 0.02,
      "maximum": 0.2
    }
  }
}
fibonaccidirectionalLearn
Example
{
  "fibonacci": {
    "enabled": true,
    "invert": false,
    "params": {
      "lookback": 20,
      "entryLevel": "0.618",
      "exitLevel": "0.382"
    }
  }
}
vwapdirectionalLearn
Example
{
  "vwap": {
    "enabled": true,
    "invert": false,
    "params": {
      "anchorMode": "session",
      "rollingPeriod": 20,
      "anchorTimeUtc": "",
      "anchorBarOffset": 0,
      "source": "hlc3",
      "compareMode": "position",
      "bandType": "percentage",
      "bandValue": 0
    }
  }
}
twapdirectionalLearn
Example
{
  "twap": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20,
      "source": "hlc3",
      "compareMode": "position",
      "bandType": "percentage",
      "bandValue": 0
    }
  }
}
fundingRatedirectionalLearn
Example
{
  "fundingRate": {
    "enabled": true,
    "invert": false,
    "params": {
      "mode": "fade",
      "threshold": 0.0001,
      "rateUnit": "eightHour",
      "lookbackPeriods": 1
    }
  }
}
fredSeriesdirectionalLearn
Example
{
  "fredSeries": {
    "enabled": true,
    "invert": false,
    "params": {
      "series": "DFF",
      "compare": "gte",
      "threshold": 5,
      "maxStaleDays": 7,
      "side": "buy"
    }
  }
}
candlePatterndirectionalLearn
Example
{
  "candlePattern": {
    "enabled": true,
    "invert": false,
    "params": {
      "pattern": "bullishEngulfing",
      "dojiBodyRatio": 0.1,
      "side": "buy"
    }
  }
}
pairsSpread
Needs: legA, legB
directionalLearn
Example
{
  "pairsSpread": {
    "enabled": true,
    "invert": false,
    "params": {
      "metric": "priceReturn",
      "mode": "meanRevert",
      "legA": "",
      "legB": "",
      "lookbackBars": 1,
      "zScoreWindow": 48,
      "threshold": 0.005,
      "convergeExitEnabled": false,
      "exitThreshold": 0.001
    }
  }
}
correlationThreshold
Needs: symbolB
directionalLearn
Example
{
  "correlationThreshold": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "window": 20,
      "compare": "gt",
      "threshold": 0.7,
      "eqEpsilon": 0.01,
      "side": "buy"
    }
  }
}
residualZScore
Needs: symbolB
directionalLearn
Example
{
  "residualZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "window": 60,
      "zScoreWindow": 20,
      "threshold": 2
    }
  }
}
betaThreshold
Needs: symbolB
directionalLearn
Example
{
  "betaThreshold": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "window": 20,
      "compare": "gt",
      "threshold": 1,
      "eqEpsilon": 0.05,
      "side": "buy"
    }
  }
}
priceRatio
Needs: symbolB
directionalLearn
Example
{
  "priceRatio": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "mode": "raw",
      "window": 20,
      "compare": "gt",
      "threshold": 1,
      "eqEpsilon": 0.01,
      "side": "buy"
    }
  }
}
rollingSharpedirectionalLearn
Example
{
  "rollingSharpe": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 20,
      "compare": "gt",
      "threshold": 0,
      "eqEpsilon": 0.05,
      "side": "buy"
    }
  }
}
rollingSortinodirectionalLearn
Example
{
  "rollingSortino": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 20,
      "compare": "gt",
      "threshold": 0,
      "eqEpsilon": 0.05,
      "side": "buy"
    }
  }
}
dcadirectionalLearn
Example
{
  "dca": {
    "enabled": true,
    "invert": false,
    "params": {
      "schedule": "daily",
      "intervalUnit": "hours",
      "intervalHours": 24,
      "intervalMinutes": 60,
      "timeUtc": "12:00",
      "quantityMultiplier": 1
    }
  }
}
llmDecision
Needs: instructions
signalOnlyLearn
Example
{
  "llmDecision": {
    "enabled": true,
    "invert": false,
    "params": {
      "instructions": "",
      "lookbackBars": 24,
      "minConfidence": 0.65,
      "includeIndicators": true,
      "featureIndicators": [
        "rsi",
        "adx",
        "returns"
      ]
    }
  }
}
pricePredictsignalOnlyLearn
Example
{
  "pricePredict": {
    "enabled": true,
    "invert": false,
    "params": {
      "horizonBars": 3,
      "minProb": 0.58,
      "modelId": "latest"
    }
  }
}
customLogic
Needs: onBar
signalOnlyLearn
Example
{
  "customLogic": {
    "enabled": true,
    "invert": false,
    "params": {
      "version": 1,
      "vars": {},
      "state": {},
      "onBar": [],
      "summary": ""
    }
  }
}

increase

RuleKindLearnExample
crossoverdirectionalLearn
Example
{
  "crossover": {
    "enabled": true,
    "invert": false,
    "params": {
      "shortMA": 5,
      "longMA": 100
    }
  }
}
priceDistancedirectionalLearn
Example
{
  "priceDistance": {
    "enabled": true,
    "invert": false,
    "params": {
      "maPeriod": 20,
      "type": "percentage",
      "value": 1
    }
  }
}
movingAveragedirectionalLearn
Example
{
  "movingAverage": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20
    }
  }
}
rsidirectionalLearn
Example
{
  "rsi": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 14,
      "oversold": 30,
      "overbought": 70
    }
  }
}
macddirectionalLearn
Example
{
  "macd": {
    "enabled": true,
    "invert": false,
    "params": {
      "fast": 12,
      "slow": 26,
      "signal": 9
    }
  }
}
adxdirectionalLearn
Example
{
  "adx": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 14,
      "threshold": 25
    }
  }
}
atrdirectionalLearn
Example
{
  "atr": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 14,
      "multiplier": 1.5
    }
  }
}
breakoutdirectionalLearn
Example
{
  "breakout": {
    "enabled": true,
    "invert": false,
    "params": {
      "referenceMode": "lookback",
      "fixedPrice": 0,
      "lookback": 20,
      "source": "channel",
      "breakSide": "both",
      "offsetType": "absolute",
      "offsetValue": 0
    }
  }
}
bollingerBandsdirectionalLearn
Example
{
  "bollingerBands": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20,
      "dev": 2
    }
  }
}
priceZScoredirectionalLearn
Example
{
  "priceZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "lookback": 20,
      "threshold": 2,
      "source": "close"
    }
  }
}
returnZScoredirectionalLearn
Example
{
  "returnZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "lookback": 20,
      "returnBars": 1,
      "threshold": 2
    }
  }
}
indicatorZScoredirectionalLearn
Example
{
  "indicatorZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "indicator": "rsi",
      "period": 14,
      "lookback": 20,
      "threshold": 2
    }
  }
}
bbSqueezeBreakoutdirectionalLearn
Example
{
  "bbSqueezeBreakout": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20,
      "dev": 2,
      "squeezeLookback": 100,
      "squeezePercentile": 20,
      "squeezeRecentBars": 5,
      "breakSide": "both"
    }
  }
}
sardirectionalLearn
Example
{
  "sar": {
    "enabled": true,
    "invert": false,
    "params": {
      "start": 0.02,
      "increment": 0.02,
      "maximum": 0.2
    }
  }
}
fibonaccidirectionalLearn
Example
{
  "fibonacci": {
    "enabled": true,
    "invert": false,
    "params": {
      "lookback": 20,
      "entryLevel": "0.618",
      "exitLevel": "0.382"
    }
  }
}
vwapdirectionalLearn
Example
{
  "vwap": {
    "enabled": true,
    "invert": false,
    "params": {
      "anchorMode": "session",
      "rollingPeriod": 20,
      "anchorTimeUtc": "",
      "anchorBarOffset": 0,
      "source": "hlc3",
      "compareMode": "position",
      "bandType": "percentage",
      "bandValue": 0
    }
  }
}
twapdirectionalLearn
Example
{
  "twap": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20,
      "source": "hlc3",
      "compareMode": "position",
      "bandType": "percentage",
      "bandValue": 0
    }
  }
}
fundingRatedirectionalLearn
Example
{
  "fundingRate": {
    "enabled": true,
    "invert": false,
    "params": {
      "mode": "fade",
      "threshold": 0.0001,
      "rateUnit": "eightHour",
      "lookbackPeriods": 1
    }
  }
}
fredSeriesdirectionalLearn
Example
{
  "fredSeries": {
    "enabled": true,
    "invert": false,
    "params": {
      "series": "DFF",
      "compare": "gte",
      "threshold": 5,
      "maxStaleDays": 7,
      "side": "buy"
    }
  }
}
candlePatterndirectionalLearn
Example
{
  "candlePattern": {
    "enabled": true,
    "invert": false,
    "params": {
      "pattern": "bullishEngulfing",
      "dojiBodyRatio": 0.1,
      "side": "buy"
    }
  }
}
pairsSpread
Needs: legA, legB
directionalLearn
Example
{
  "pairsSpread": {
    "enabled": true,
    "invert": false,
    "params": {
      "metric": "priceReturn",
      "mode": "meanRevert",
      "legA": "",
      "legB": "",
      "lookbackBars": 1,
      "zScoreWindow": 48,
      "threshold": 0.005,
      "convergeExitEnabled": false,
      "exitThreshold": 0.001
    }
  }
}
correlationThreshold
Needs: symbolB
directionalLearn
Example
{
  "correlationThreshold": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "window": 20,
      "compare": "gt",
      "threshold": 0.7,
      "eqEpsilon": 0.01,
      "side": "buy"
    }
  }
}
residualZScore
Needs: symbolB
directionalLearn
Example
{
  "residualZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "window": 60,
      "zScoreWindow": 20,
      "threshold": 2
    }
  }
}
betaThreshold
Needs: symbolB
directionalLearn
Example
{
  "betaThreshold": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "window": 20,
      "compare": "gt",
      "threshold": 1,
      "eqEpsilon": 0.05,
      "side": "buy"
    }
  }
}
priceRatio
Needs: symbolB
directionalLearn
Example
{
  "priceRatio": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "mode": "raw",
      "window": 20,
      "compare": "gt",
      "threshold": 1,
      "eqEpsilon": 0.01,
      "side": "buy"
    }
  }
}
rollingSharpedirectionalLearn
Example
{
  "rollingSharpe": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 20,
      "compare": "gt",
      "threshold": 0,
      "eqEpsilon": 0.05,
      "side": "buy"
    }
  }
}
rollingSortinodirectionalLearn
Example
{
  "rollingSortino": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 20,
      "compare": "gt",
      "threshold": 0,
      "eqEpsilon": 0.05,
      "side": "buy"
    }
  }
}
incrementalScalingdirectionalLearn
Example
{
  "incrementalScaling": {
    "enabled": true,
    "invert": false,
    "params": {
      "type": "distance",
      "trendSide": false,
      "levels": [
        1,
        2,
        3
      ],
      "multipliers": [
        1,
        1,
        1
      ]
    }
  }
}
dcadirectionalLearn
Example
{
  "dca": {
    "enabled": true,
    "invert": false,
    "params": {
      "schedule": "daily",
      "intervalUnit": "hours",
      "intervalHours": 24,
      "intervalMinutes": 60,
      "timeUtc": "12:00",
      "quantityMultiplier": 1
    }
  }
}
customLogic
Needs: onBar
signalOnlyLearn
Example
{
  "customLogic": {
    "enabled": true,
    "invert": false,
    "params": {
      "version": 1,
      "vars": {},
      "state": {},
      "onBar": [],
      "summary": ""
    }
  }
}

decrease

RuleKindLearnExample
crossoverdirectionalLearn
Example
{
  "crossover": {
    "enabled": true,
    "invert": false,
    "params": {
      "shortMA": 5,
      "longMA": 100
    }
  }
}
priceDistancedirectionalLearn
Example
{
  "priceDistance": {
    "enabled": true,
    "invert": false,
    "params": {
      "maPeriod": 20,
      "type": "percentage",
      "value": 1
    }
  }
}
movingAveragedirectionalLearn
Example
{
  "movingAverage": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20
    }
  }
}
rsidirectionalLearn
Example
{
  "rsi": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 14,
      "oversold": 30,
      "overbought": 70
    }
  }
}
macddirectionalLearn
Example
{
  "macd": {
    "enabled": true,
    "invert": false,
    "params": {
      "fast": 12,
      "slow": 26,
      "signal": 9
    }
  }
}
adxdirectionalLearn
Example
{
  "adx": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 14,
      "threshold": 25
    }
  }
}
atrdirectionalLearn
Example
{
  "atr": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 14,
      "multiplier": 1.5
    }
  }
}
breakoutdirectionalLearn
Example
{
  "breakout": {
    "enabled": true,
    "invert": false,
    "params": {
      "referenceMode": "lookback",
      "fixedPrice": 0,
      "lookback": 20,
      "source": "channel",
      "breakSide": "both",
      "offsetType": "absolute",
      "offsetValue": 0
    }
  }
}
bollingerBandsdirectionalLearn
Example
{
  "bollingerBands": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20,
      "dev": 2
    }
  }
}
priceZScoredirectionalLearn
Example
{
  "priceZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "lookback": 20,
      "threshold": 2,
      "source": "close"
    }
  }
}
returnZScoredirectionalLearn
Example
{
  "returnZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "lookback": 20,
      "returnBars": 1,
      "threshold": 2
    }
  }
}
indicatorZScoredirectionalLearn
Example
{
  "indicatorZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "indicator": "rsi",
      "period": 14,
      "lookback": 20,
      "threshold": 2
    }
  }
}
bbSqueezeBreakoutdirectionalLearn
Example
{
  "bbSqueezeBreakout": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20,
      "dev": 2,
      "squeezeLookback": 100,
      "squeezePercentile": 20,
      "squeezeRecentBars": 5,
      "breakSide": "both"
    }
  }
}
sardirectionalLearn
Example
{
  "sar": {
    "enabled": true,
    "invert": false,
    "params": {
      "start": 0.02,
      "increment": 0.02,
      "maximum": 0.2
    }
  }
}
fibonaccidirectionalLearn
Example
{
  "fibonacci": {
    "enabled": true,
    "invert": false,
    "params": {
      "lookback": 20,
      "entryLevel": "0.618",
      "exitLevel": "0.382"
    }
  }
}
vwapdirectionalLearn
Example
{
  "vwap": {
    "enabled": true,
    "invert": false,
    "params": {
      "anchorMode": "session",
      "rollingPeriod": 20,
      "anchorTimeUtc": "",
      "anchorBarOffset": 0,
      "source": "hlc3",
      "compareMode": "position",
      "bandType": "percentage",
      "bandValue": 0
    }
  }
}
twapdirectionalLearn
Example
{
  "twap": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20,
      "source": "hlc3",
      "compareMode": "position",
      "bandType": "percentage",
      "bandValue": 0
    }
  }
}
fundingRatedirectionalLearn
Example
{
  "fundingRate": {
    "enabled": true,
    "invert": false,
    "params": {
      "mode": "fade",
      "threshold": 0.0001,
      "rateUnit": "eightHour",
      "lookbackPeriods": 1
    }
  }
}
fredSeriesdirectionalLearn
Example
{
  "fredSeries": {
    "enabled": true,
    "invert": false,
    "params": {
      "series": "DFF",
      "compare": "gte",
      "threshold": 5,
      "maxStaleDays": 7,
      "side": "buy"
    }
  }
}
candlePatterndirectionalLearn
Example
{
  "candlePattern": {
    "enabled": true,
    "invert": false,
    "params": {
      "pattern": "bullishEngulfing",
      "dojiBodyRatio": 0.1,
      "side": "buy"
    }
  }
}
pairsSpread
Needs: legA, legB
directionalLearn
Example
{
  "pairsSpread": {
    "enabled": true,
    "invert": false,
    "params": {
      "metric": "priceReturn",
      "mode": "meanRevert",
      "legA": "",
      "legB": "",
      "lookbackBars": 1,
      "zScoreWindow": 48,
      "threshold": 0.005,
      "convergeExitEnabled": false,
      "exitThreshold": 0.001
    }
  }
}
correlationThreshold
Needs: symbolB
directionalLearn
Example
{
  "correlationThreshold": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "window": 20,
      "compare": "gt",
      "threshold": 0.7,
      "eqEpsilon": 0.01,
      "side": "buy"
    }
  }
}
residualZScore
Needs: symbolB
directionalLearn
Example
{
  "residualZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "window": 60,
      "zScoreWindow": 20,
      "threshold": 2
    }
  }
}
betaThreshold
Needs: symbolB
directionalLearn
Example
{
  "betaThreshold": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "window": 20,
      "compare": "gt",
      "threshold": 1,
      "eqEpsilon": 0.05,
      "side": "buy"
    }
  }
}
priceRatio
Needs: symbolB
directionalLearn
Example
{
  "priceRatio": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "mode": "raw",
      "window": 20,
      "compare": "gt",
      "threshold": 1,
      "eqEpsilon": 0.01,
      "side": "buy"
    }
  }
}
rollingSharpedirectionalLearn
Example
{
  "rollingSharpe": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 20,
      "compare": "gt",
      "threshold": 0,
      "eqEpsilon": 0.05,
      "side": "buy"
    }
  }
}
rollingSortinodirectionalLearn
Example
{
  "rollingSortino": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 20,
      "compare": "gt",
      "threshold": 0,
      "eqEpsilon": 0.05,
      "side": "buy"
    }
  }
}
incrementalDecScalingdirectionalLearn
Example
{
  "incrementalDecScaling": {
    "enabled": true,
    "invert": false,
    "params": {
      "type": "distance",
      "trendSide": false,
      "levels": [
        1,
        2,
        3
      ],
      "multipliers": [
        1,
        1,
        1
      ]
    }
  }
}
stopLosssignalOnlyLearn
Example
{
  "stopLoss": {
    "enabled": true,
    "invert": false,
    "params": {
      "type": "percentage",
      "value": 5,
      "exitQuantityMode": "full",
      "priceReference": "avgEntry"
    }
  }
}
takeProfitsignalOnlyLearn
Example
{
  "takeProfit": {
    "enabled": true,
    "invert": false,
    "params": {
      "type": "percentage",
      "value": 10,
      "exitQuantityMode": "full",
      "priceReference": "avgEntry"
    }
  }
}
customLogic
Needs: onBar
signalOnlyLearn
Example
{
  "customLogic": {
    "enabled": true,
    "invert": false,
    "params": {
      "version": 1,
      "vars": {},
      "state": {},
      "onBar": [],
      "summary": ""
    }
  }
}

reversal

RuleKindLearnExample
crossoverdirectionalLearn
Example
{
  "crossover": {
    "enabled": true,
    "invert": false,
    "params": {
      "shortMA": 5,
      "longMA": 100
    }
  }
}
priceDistancedirectionalLearn
Example
{
  "priceDistance": {
    "enabled": true,
    "invert": false,
    "params": {
      "maPeriod": 20,
      "type": "percentage",
      "value": 1
    }
  }
}
movingAveragedirectionalLearn
Example
{
  "movingAverage": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20
    }
  }
}
rsidirectionalLearn
Example
{
  "rsi": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 14,
      "oversold": 30,
      "overbought": 70
    }
  }
}
macddirectionalLearn
Example
{
  "macd": {
    "enabled": true,
    "invert": false,
    "params": {
      "fast": 12,
      "slow": 26,
      "signal": 9
    }
  }
}
adxdirectionalLearn
Example
{
  "adx": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 14,
      "threshold": 25
    }
  }
}
atrdirectionalLearn
Example
{
  "atr": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 14,
      "multiplier": 1.5
    }
  }
}
breakoutdirectionalLearn
Example
{
  "breakout": {
    "enabled": true,
    "invert": false,
    "params": {
      "referenceMode": "lookback",
      "fixedPrice": 0,
      "lookback": 20,
      "source": "channel",
      "breakSide": "both",
      "offsetType": "absolute",
      "offsetValue": 0
    }
  }
}
bollingerBandsdirectionalLearn
Example
{
  "bollingerBands": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20,
      "dev": 2
    }
  }
}
priceZScoredirectionalLearn
Example
{
  "priceZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "lookback": 20,
      "threshold": 2,
      "source": "close"
    }
  }
}
returnZScoredirectionalLearn
Example
{
  "returnZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "lookback": 20,
      "returnBars": 1,
      "threshold": 2
    }
  }
}
indicatorZScoredirectionalLearn
Example
{
  "indicatorZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "indicator": "rsi",
      "period": 14,
      "lookback": 20,
      "threshold": 2
    }
  }
}
bbSqueezeBreakoutdirectionalLearn
Example
{
  "bbSqueezeBreakout": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20,
      "dev": 2,
      "squeezeLookback": 100,
      "squeezePercentile": 20,
      "squeezeRecentBars": 5,
      "breakSide": "both"
    }
  }
}
sardirectionalLearn
Example
{
  "sar": {
    "enabled": true,
    "invert": false,
    "params": {
      "start": 0.02,
      "increment": 0.02,
      "maximum": 0.2
    }
  }
}
fibonaccidirectionalLearn
Example
{
  "fibonacci": {
    "enabled": true,
    "invert": false,
    "params": {
      "lookback": 20,
      "entryLevel": "0.618",
      "exitLevel": "0.382"
    }
  }
}
vwapdirectionalLearn
Example
{
  "vwap": {
    "enabled": true,
    "invert": false,
    "params": {
      "anchorMode": "session",
      "rollingPeriod": 20,
      "anchorTimeUtc": "",
      "anchorBarOffset": 0,
      "source": "hlc3",
      "compareMode": "position",
      "bandType": "percentage",
      "bandValue": 0
    }
  }
}
twapdirectionalLearn
Example
{
  "twap": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20,
      "source": "hlc3",
      "compareMode": "position",
      "bandType": "percentage",
      "bandValue": 0
    }
  }
}
fundingRatedirectionalLearn
Example
{
  "fundingRate": {
    "enabled": true,
    "invert": false,
    "params": {
      "mode": "fade",
      "threshold": 0.0001,
      "rateUnit": "eightHour",
      "lookbackPeriods": 1
    }
  }
}
fredSeriesdirectionalLearn
Example
{
  "fredSeries": {
    "enabled": true,
    "invert": false,
    "params": {
      "series": "DFF",
      "compare": "gte",
      "threshold": 5,
      "maxStaleDays": 7,
      "side": "buy"
    }
  }
}
candlePatterndirectionalLearn
Example
{
  "candlePattern": {
    "enabled": true,
    "invert": false,
    "params": {
      "pattern": "bullishEngulfing",
      "dojiBodyRatio": 0.1,
      "side": "buy"
    }
  }
}
pairsSpread
Needs: legA, legB
directionalLearn
Example
{
  "pairsSpread": {
    "enabled": true,
    "invert": false,
    "params": {
      "metric": "priceReturn",
      "mode": "meanRevert",
      "legA": "",
      "legB": "",
      "lookbackBars": 1,
      "zScoreWindow": 48,
      "threshold": 0.005,
      "convergeExitEnabled": false,
      "exitThreshold": 0.001
    }
  }
}
correlationThreshold
Needs: symbolB
directionalLearn
Example
{
  "correlationThreshold": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "window": 20,
      "compare": "gt",
      "threshold": 0.7,
      "eqEpsilon": 0.01,
      "side": "buy"
    }
  }
}
residualZScore
Needs: symbolB
directionalLearn
Example
{
  "residualZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "window": 60,
      "zScoreWindow": 20,
      "threshold": 2
    }
  }
}
betaThreshold
Needs: symbolB
directionalLearn
Example
{
  "betaThreshold": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "window": 20,
      "compare": "gt",
      "threshold": 1,
      "eqEpsilon": 0.05,
      "side": "buy"
    }
  }
}
priceRatio
Needs: symbolB
directionalLearn
Example
{
  "priceRatio": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "mode": "raw",
      "window": 20,
      "compare": "gt",
      "threshold": 1,
      "eqEpsilon": 0.01,
      "side": "buy"
    }
  }
}
rollingSharpedirectionalLearn
Example
{
  "rollingSharpe": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 20,
      "compare": "gt",
      "threshold": 0,
      "eqEpsilon": 0.05,
      "side": "buy"
    }
  }
}
rollingSortinodirectionalLearn
Example
{
  "rollingSortino": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 20,
      "compare": "gt",
      "threshold": 0,
      "eqEpsilon": 0.05,
      "side": "buy"
    }
  }
}
customLogic
Needs: onBar
signalOnlyLearn
Example
{
  "customLogic": {
    "enabled": true,
    "invert": false,
    "params": {
      "version": 1,
      "vars": {},
      "state": {},
      "onBar": [],
      "summary": ""
    }
  }
}

exit

RuleKindLearnExample
crossoverdirectionalLearn
Example
{
  "crossover": {
    "enabled": true,
    "invert": false,
    "params": {
      "shortMA": 5,
      "longMA": 100
    }
  }
}
priceDistancedirectionalLearn
Example
{
  "priceDistance": {
    "enabled": true,
    "invert": false,
    "params": {
      "maPeriod": 20,
      "type": "percentage",
      "value": 1
    }
  }
}
movingAveragedirectionalLearn
Example
{
  "movingAverage": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20
    }
  }
}
rsidirectionalLearn
Example
{
  "rsi": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 14,
      "oversold": 30,
      "overbought": 70
    }
  }
}
macddirectionalLearn
Example
{
  "macd": {
    "enabled": true,
    "invert": false,
    "params": {
      "fast": 12,
      "slow": 26,
      "signal": 9
    }
  }
}
adxdirectionalLearn
Example
{
  "adx": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 14,
      "threshold": 25
    }
  }
}
atrdirectionalLearn
Example
{
  "atr": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 14,
      "multiplier": 1.5
    }
  }
}
breakoutdirectionalLearn
Example
{
  "breakout": {
    "enabled": true,
    "invert": false,
    "params": {
      "referenceMode": "lookback",
      "fixedPrice": 0,
      "lookback": 20,
      "source": "channel",
      "breakSide": "both",
      "offsetType": "absolute",
      "offsetValue": 0
    }
  }
}
bollingerBandsdirectionalLearn
Example
{
  "bollingerBands": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20,
      "dev": 2
    }
  }
}
priceZScoredirectionalLearn
Example
{
  "priceZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "lookback": 20,
      "threshold": 2,
      "source": "close"
    }
  }
}
returnZScoredirectionalLearn
Example
{
  "returnZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "lookback": 20,
      "returnBars": 1,
      "threshold": 2
    }
  }
}
indicatorZScoredirectionalLearn
Example
{
  "indicatorZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "indicator": "rsi",
      "period": 14,
      "lookback": 20,
      "threshold": 2
    }
  }
}
bbSqueezeBreakoutdirectionalLearn
Example
{
  "bbSqueezeBreakout": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20,
      "dev": 2,
      "squeezeLookback": 100,
      "squeezePercentile": 20,
      "squeezeRecentBars": 5,
      "breakSide": "both"
    }
  }
}
sardirectionalLearn
Example
{
  "sar": {
    "enabled": true,
    "invert": false,
    "params": {
      "start": 0.02,
      "increment": 0.02,
      "maximum": 0.2
    }
  }
}
fibonaccidirectionalLearn
Example
{
  "fibonacci": {
    "enabled": true,
    "invert": false,
    "params": {
      "lookback": 20,
      "entryLevel": "0.618",
      "exitLevel": "0.382"
    }
  }
}
vwapdirectionalLearn
Example
{
  "vwap": {
    "enabled": true,
    "invert": false,
    "params": {
      "anchorMode": "session",
      "rollingPeriod": 20,
      "anchorTimeUtc": "",
      "anchorBarOffset": 0,
      "source": "hlc3",
      "compareMode": "position",
      "bandType": "percentage",
      "bandValue": 0
    }
  }
}
twapdirectionalLearn
Example
{
  "twap": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20,
      "source": "hlc3",
      "compareMode": "position",
      "bandType": "percentage",
      "bandValue": 0
    }
  }
}
fundingRatedirectionalLearn
Example
{
  "fundingRate": {
    "enabled": true,
    "invert": false,
    "params": {
      "mode": "fade",
      "threshold": 0.0001,
      "rateUnit": "eightHour",
      "lookbackPeriods": 1
    }
  }
}
fredSeriesdirectionalLearn
Example
{
  "fredSeries": {
    "enabled": true,
    "invert": false,
    "params": {
      "series": "DFF",
      "compare": "gte",
      "threshold": 5,
      "maxStaleDays": 7,
      "side": "buy"
    }
  }
}
candlePatterndirectionalLearn
Example
{
  "candlePattern": {
    "enabled": true,
    "invert": false,
    "params": {
      "pattern": "bullishEngulfing",
      "dojiBodyRatio": 0.1,
      "side": "buy"
    }
  }
}
pairsSpread
Needs: legA, legB
directionalLearn
Example
{
  "pairsSpread": {
    "enabled": true,
    "invert": false,
    "params": {
      "metric": "priceReturn",
      "mode": "meanRevert",
      "legA": "",
      "legB": "",
      "lookbackBars": 1,
      "zScoreWindow": 48,
      "threshold": 0.005,
      "convergeExitEnabled": false,
      "exitThreshold": 0.001
    }
  }
}
correlationThreshold
Needs: symbolB
directionalLearn
Example
{
  "correlationThreshold": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "window": 20,
      "compare": "gt",
      "threshold": 0.7,
      "eqEpsilon": 0.01,
      "side": "buy"
    }
  }
}
residualZScore
Needs: symbolB
directionalLearn
Example
{
  "residualZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "window": 60,
      "zScoreWindow": 20,
      "threshold": 2
    }
  }
}
betaThreshold
Needs: symbolB
directionalLearn
Example
{
  "betaThreshold": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "window": 20,
      "compare": "gt",
      "threshold": 1,
      "eqEpsilon": 0.05,
      "side": "buy"
    }
  }
}
priceRatio
Needs: symbolB
directionalLearn
Example
{
  "priceRatio": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "mode": "raw",
      "window": 20,
      "compare": "gt",
      "threshold": 1,
      "eqEpsilon": 0.01,
      "side": "buy"
    }
  }
}
rollingSharpedirectionalLearn
Example
{
  "rollingSharpe": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 20,
      "compare": "gt",
      "threshold": 0,
      "eqEpsilon": 0.05,
      "side": "buy"
    }
  }
}
rollingSortinodirectionalLearn
Example
{
  "rollingSortino": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 20,
      "compare": "gt",
      "threshold": 0,
      "eqEpsilon": 0.05,
      "side": "buy"
    }
  }
}
stopLosssignalOnlyLearn
Example
{
  "stopLoss": {
    "enabled": true,
    "invert": false,
    "params": {
      "type": "percentage",
      "value": 5,
      "exitQuantityMode": "full",
      "priceReference": "avgEntry"
    }
  }
}
trailingStopsignalOnlyLearn
Example
{
  "trailingStop": {
    "enabled": true,
    "invert": false,
    "params": {
      "type": "percentage",
      "value": 5,
      "exitQuantityMode": "full",
      "priceReference": "avgEntry"
    }
  }
}
takeProfitsignalOnlyLearn
Example
{
  "takeProfit": {
    "enabled": true,
    "invert": false,
    "params": {
      "type": "percentage",
      "value": 10,
      "exitQuantityMode": "full",
      "priceReference": "avgEntry"
    }
  }
}
dayTradeClosesignalOnlyLearn
Example
{
  "dayTradeClose": {
    "enabled": true,
    "invert": false,
    "params": {
      "closeTimeUtc": "21:00"
    }
  }
}
periodicClosesignalOnlyLearn
Example
{
  "periodicClose": {
    "enabled": true,
    "invert": false,
    "params": {
      "days": 7,
      "closeTimeUtc": "21:00"
    }
  }
}
holdTimesignalOnlyLearn
Example
{
  "holdTime": {
    "enabled": true,
    "invert": false,
    "params": {
      "minutes": 60
    }
  }
}
fundingCostFlattensignalOnlyLearn
Example
{
  "fundingCostFlatten": {
    "enabled": true,
    "invert": false,
    "params": {
      "thresholdType": "notional",
      "value": 0.15,
      "mode": "paid_only",
      "blockReentryHours": 0
    }
  }
}
customLogic
Needs: onBar
signalOnlyLearn
Example
{
  "customLogic": {
    "enabled": true,
    "invert": false,
    "params": {
      "version": 1,
      "vars": {},
      "state": {},
      "onBar": [],
      "summary": ""
    }
  }
}

filters

Gate and directional rules under filters.<reason>.rules (reasons: entry, increase, decrease, reversal, exit).

RuleKindLearnExample
utcTimeWindow
Needs: blockedWindows or allowedAfterUtc
gateLearn
Example
{
  "utcTimeWindow": {
    "enabled": true,
    "invert": false,
    "params": {
      "allowedAfterUtc": "",
      "blockedWindows": []
    }
  }
}
utcWeekdaysgateLearn
Example
{
  "utcWeekdays": {
    "enabled": true,
    "invert": false,
    "params": {
      "days": [
        "mon",
        "tue",
        "wed",
        "thu",
        "fri"
      ]
    }
  }
}
volumeThreshold
Needs: minVolume or minAvgVolume
gateLearn
Example
{
  "volumeThreshold": {
    "enabled": true,
    "invert": false,
    "params": {
      "minVolume": null,
      "minAvgVolume": null,
      "lookbackBars": 20,
      "volumeType": "base"
    }
  }
}
volumeZScoregateLearn
Example
{
  "volumeZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "lookbackBars": 20,
      "threshold": 2,
      "condition": "above",
      "volumeType": "base"
    }
  }
}
percentileRankgateLearn
Example
{
  "percentileRank": {
    "enabled": true,
    "invert": false,
    "params": {
      "metric": "close",
      "lookbackBars": 50,
      "threshold": 80,
      "condition": "above",
      "period": 14
    }
  }
}
volatilityRegimegateLearn
Example
{
  "volatilityRegime": {
    "enabled": true,
    "invert": false,
    "params": {
      "metric": "atrPct",
      "period": 14,
      "mode": "absolute",
      "threshold": 2,
      "condition": "above",
      "lookbackBars": 50
    }
  }
}
fundingRateThresholdgateLearn
Example
{
  "fundingRateThreshold": {
    "enabled": true,
    "invert": false,
    "params": {
      "threshold": 0.0001,
      "rateUnit": "eightHour",
      "compare": "abs_gte",
      "lookbackPeriods": 1
    }
  }
}
fredSeriesGategateLearn
Example
{
  "fredSeriesGate": {
    "enabled": true,
    "invert": false,
    "params": {
      "series": "DFF",
      "compare": "gte",
      "threshold": 5,
      "maxStaleDays": 7
    }
  }
}
fundingCostThresholdgateLearn
Example
{
  "fundingCostThreshold": {
    "enabled": true,
    "invert": false,
    "params": {
      "thresholdType": "notional",
      "value": 0.15,
      "mode": "paid_only"
    }
  }
}
correlationGate
Needs: symbolB
gateLearn
Example
{
  "correlationGate": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "window": 20,
      "compare": "gt",
      "threshold": 0.7,
      "eqEpsilon": 0.01
    }
  }
}
betaGate
Needs: symbolB
gateLearn
Example
{
  "betaGate": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "window": 20,
      "compare": "gt",
      "threshold": 1,
      "eqEpsilon": 0.05
    }
  }
}
priceRatioGate
Needs: symbolB
gateLearn
Example
{
  "priceRatioGate": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "mode": "raw",
      "window": 20,
      "compare": "gt",
      "threshold": 1,
      "eqEpsilon": 0.01
    }
  }
}
rollingSharpeGategateLearn
Example
{
  "rollingSharpeGate": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 20,
      "compare": "gt",
      "threshold": 0,
      "eqEpsilon": 0.05
    }
  }
}
skewGategateLearn
Example
{
  "skewGate": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 20,
      "compare": "gt",
      "threshold": 0,
      "eqEpsilon": 0.05
    }
  }
}
kurtosisGategateLearn
Example
{
  "kurtosisGate": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 20,
      "compare": "lt",
      "threshold": 3,
      "eqEpsilon": 0.05
    }
  }
}
hurstGategateLearn
Example
{
  "hurstGate": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 64,
      "compare": "lt",
      "threshold": 0.5,
      "eqEpsilon": 0.05
    }
  }
}
autocorrGategateLearn
Example
{
  "autocorrGate": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 64,
      "compare": "gt",
      "threshold": 0,
      "eqEpsilon": 0.05
    }
  }
}
halfLifeGategateLearn
Example
{
  "halfLifeGate": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 64,
      "compare": "lt",
      "threshold": 48,
      "eqEpsilon": 0.05
    }
  }
}
rollingSortinoGategateLearn
Example
{
  "rollingSortinoGate": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 20,
      "compare": "gt",
      "threshold": 0,
      "eqEpsilon": 0.05
    }
  }
}
adxGategateLearn
Example
{
  "adxGate": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 14,
      "compare": "gte",
      "threshold": 25,
      "eqEpsilon": 0.05
    }
  }
}
efficiencyRatioGategateLearn
Example
{
  "efficiencyRatioGate": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 20,
      "compare": "gt",
      "threshold": 0.3,
      "eqEpsilon": 0.05
    }
  }
}
varianceRatioGategateLearn
Example
{
  "varianceRatioGate": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 64,
      "compare": "gt",
      "threshold": 1,
      "eqEpsilon": 0.05
    }
  }
}
rangePositionGategateLearn
Example
{
  "rangePositionGate": {
    "enabled": true,
    "invert": false,
    "params": {
      "lookbackBars": 20,
      "compare": "lte",
      "threshold": 80,
      "eqEpsilon": 0.05
    }
  }
}
dailyTakeProfitgateLearn
Example
{
  "dailyTakeProfit": {
    "enabled": true,
    "invert": false,
    "params": {
      "type": "percentage",
      "value": 2
    }
  }
}
dailyStopLossgateLearn
Example
{
  "dailyStopLoss": {
    "enabled": true,
    "invert": false,
    "params": {
      "type": "percentage",
      "value": 2
    }
  }
}
maxDailyTradesgateLearn
Example
{
  "maxDailyTrades": {
    "enabled": true,
    "invert": false,
    "params": {
      "maxTrades": 3
    }
  }
}
maxWinningTradesgateLearn
Example
{
  "maxWinningTrades": {
    "enabled": true,
    "invert": false,
    "params": {
      "maxWins": 3
    }
  }
}
maxLosingTradesgateLearn
Example
{
  "maxLosingTrades": {
    "enabled": true,
    "invert": false,
    "params": {
      "maxLosses": 3
    }
  }
}
maxDrawdowngateLearn
Example
{
  "maxDrawdown": {
    "enabled": true,
    "invert": false,
    "params": {
      "type": "percentage",
      "value": 20,
      "latch": true
    }
  }
}
crossoverdirectionalLearn
Example
{
  "crossover": {
    "enabled": true,
    "invert": false,
    "params": {
      "shortMA": 5,
      "longMA": 100
    }
  }
}
priceDistancedirectionalLearn
Example
{
  "priceDistance": {
    "enabled": true,
    "invert": false,
    "params": {
      "maPeriod": 20,
      "type": "percentage",
      "value": 1
    }
  }
}
movingAveragedirectionalLearn
Example
{
  "movingAverage": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20
    }
  }
}
rsidirectionalLearn
Example
{
  "rsi": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 14,
      "oversold": 30,
      "overbought": 70
    }
  }
}
macddirectionalLearn
Example
{
  "macd": {
    "enabled": true,
    "invert": false,
    "params": {
      "fast": 12,
      "slow": 26,
      "signal": 9
    }
  }
}
adxdirectionalLearn
Example
{
  "adx": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 14,
      "threshold": 25
    }
  }
}
atrdirectionalLearn
Example
{
  "atr": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 14,
      "multiplier": 1.5
    }
  }
}
breakoutdirectionalLearn
Example
{
  "breakout": {
    "enabled": true,
    "invert": false,
    "params": {
      "referenceMode": "lookback",
      "fixedPrice": 0,
      "lookback": 20,
      "source": "channel",
      "breakSide": "both",
      "offsetType": "absolute",
      "offsetValue": 0
    }
  }
}
candlePatterndirectionalLearn
Example
{
  "candlePattern": {
    "enabled": true,
    "invert": false,
    "params": {
      "pattern": "bullishEngulfing",
      "dojiBodyRatio": 0.1,
      "side": "buy"
    }
  }
}
bollingerBandsdirectionalLearn
Example
{
  "bollingerBands": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20,
      "dev": 2
    }
  }
}
priceZScoredirectionalLearn
Example
{
  "priceZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "lookback": 20,
      "threshold": 2,
      "source": "close"
    }
  }
}
returnZScoredirectionalLearn
Example
{
  "returnZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "lookback": 20,
      "returnBars": 1,
      "threshold": 2
    }
  }
}
indicatorZScoredirectionalLearn
Example
{
  "indicatorZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "indicator": "rsi",
      "period": 14,
      "lookback": 20,
      "threshold": 2
    }
  }
}
bbSqueezeBreakoutdirectionalLearn
Example
{
  "bbSqueezeBreakout": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20,
      "dev": 2,
      "squeezeLookback": 100,
      "squeezePercentile": 20,
      "squeezeRecentBars": 5,
      "breakSide": "both"
    }
  }
}
vwapdirectionalLearn
Example
{
  "vwap": {
    "enabled": true,
    "invert": false,
    "params": {
      "anchorMode": "session",
      "rollingPeriod": 20,
      "anchorTimeUtc": "",
      "anchorBarOffset": 0,
      "source": "hlc3",
      "compareMode": "position",
      "bandType": "percentage",
      "bandValue": 0
    }
  }
}
twapdirectionalLearn
Example
{
  "twap": {
    "enabled": true,
    "invert": false,
    "params": {
      "period": 20,
      "source": "hlc3",
      "compareMode": "position",
      "bandType": "percentage",
      "bandValue": 0
    }
  }
}
sardirectionalLearn
Example
{
  "sar": {
    "enabled": true,
    "invert": false,
    "params": {
      "start": 0.02,
      "increment": 0.02,
      "maximum": 0.2
    }
  }
}
fibonaccidirectionalLearn
Example
{
  "fibonacci": {
    "enabled": true,
    "invert": false,
    "params": {
      "lookback": 20,
      "entryLevel": "0.618",
      "exitLevel": "0.382"
    }
  }
}
incrementalScalingdirectionalLearn
Example
{
  "incrementalScaling": {
    "enabled": true,
    "invert": false,
    "params": {
      "type": "distance",
      "trendSide": false,
      "levels": [
        1,
        2,
        3
      ],
      "multipliers": [
        1,
        1,
        1
      ]
    }
  }
}
incrementalDecScalingdirectionalLearn
Example
{
  "incrementalDecScaling": {
    "enabled": true,
    "invert": false,
    "params": {
      "type": "distance",
      "trendSide": false,
      "levels": [
        1,
        2,
        3
      ],
      "multipliers": [
        1,
        1,
        1
      ]
    }
  }
}
fundingRatedirectionalLearn
Example
{
  "fundingRate": {
    "enabled": true,
    "invert": false,
    "params": {
      "mode": "fade",
      "threshold": 0.0001,
      "rateUnit": "eightHour",
      "lookbackPeriods": 1
    }
  }
}
fredSeriesdirectionalLearn
Example
{
  "fredSeries": {
    "enabled": true,
    "invert": false,
    "params": {
      "series": "DFF",
      "compare": "gte",
      "threshold": 5,
      "maxStaleDays": 7,
      "side": "buy"
    }
  }
}
correlationThreshold
Needs: symbolB
directionalLearn
Example
{
  "correlationThreshold": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "window": 20,
      "compare": "gt",
      "threshold": 0.7,
      "eqEpsilon": 0.01,
      "side": "buy"
    }
  }
}
residualZScore
Needs: symbolB
directionalLearn
Example
{
  "residualZScore": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "window": 60,
      "zScoreWindow": 20,
      "threshold": 2
    }
  }
}
betaThreshold
Needs: symbolB
directionalLearn
Example
{
  "betaThreshold": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "window": 20,
      "compare": "gt",
      "threshold": 1,
      "eqEpsilon": 0.05,
      "side": "buy"
    }
  }
}
priceRatio
Needs: symbolB
directionalLearn
Example
{
  "priceRatio": {
    "enabled": true,
    "invert": false,
    "params": {
      "symbolA": "",
      "dataSourceA": "",
      "timeframeA": "",
      "symbolB": "",
      "dataSourceB": "",
      "timeframeB": "",
      "mode": "raw",
      "window": 20,
      "compare": "gt",
      "threshold": 1,
      "eqEpsilon": 0.01,
      "side": "buy"
    }
  }
}
rollingSharpedirectionalLearn
Example
{
  "rollingSharpe": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 20,
      "compare": "gt",
      "threshold": 0,
      "eqEpsilon": 0.05,
      "side": "buy"
    }
  }
}
rollingSortinodirectionalLearn
Example
{
  "rollingSortino": {
    "enabled": true,
    "invert": false,
    "params": {
      "window": 20,
      "compare": "gt",
      "threshold": 0,
      "eqEpsilon": 0.05,
      "side": "buy"
    }
  }
}