Skip to main content

Indicators

Indicators drive all analysis in Gopher. The same indicator set is used in:

  • Single backtests
  • Strategy evolution
  • Monte Carlo validation
  • Live trading (from the selected strategy/backtest)

This page explains how to configure indicators across the UI and CLI.

Supported Indicators​

Built-in indicators are grouped by category:

CategoryIndicators
Trendsma, ema, mma, trendline, aroon_up, aroon_down
Momentumrsi, macd, cci, relative_strength, rvi
Volatilitybollinger, atr, keltner, std_dev, variance, true_range
Oscillatorsstochastic_fast, stochastic_slow
Volumevolume
Statisticalmean_deviation, max_value, min_value, max_drawdown, typical_price

The desktop app shows all available indicators and their parameters in the selector UI.

Parameter Reference (Defaults)​

Use these parameter keys in config files:

IndicatorParametersDefaults
smasma.period50
emaema.period12
mmamma.period20
rsirsi.period14
macdmacd.fast_period, macd.slow_period, macd.signal_period12 / 26 / 9
bollingerbollinger.period, bollinger.multiplier20 / 2
atratr.period14
ccicci.period20
stochastic_faststochastic.period, stochastic.smooth_period14 / 3
stochastic_slowstochastic.period, stochastic.smooth_period14 / 3
aroon_uparoon.period14
aroon_downaroon.period14
keltnerkeltner.period, keltner.multiplier20 / 2
trendlinetrendline.period20
relative_strengthrelative_strength.period14
rvirvi.period10
std_devstd_dev.period20
variancevariance.period20
mean_deviationmean_deviation.period20
max_valuemax_value.period20
min_valuemin_value.period20
max_drawdownmax_drawdown.period50
volumewindow.period20
typical_pricenonen/a

Desktop UI (Backtest, Evolution, Monte Carlo)​

Indicators are configured per run:

  1. Open Backtest, Evolution, or Monte Carlo
  2. Scroll to Indicators
  3. Toggle indicators on/off
  4. Adjust parameters (periods, multipliers, smoothing, etc.)
  5. Run the job

The selected indicator set is stored with results and reused for live trading.

Presets​

Indicator selections are part of presets. When you save a preset in the Evolution tab, the indicator set is saved and restored with it.

CLI: Manual Live Trading​

Manual live trading supports indicator and interval overrides via traders.yaml or CLI flags.

traders.yaml example​

traders:
- id: "trader-1"
private_key_env: "TRADER_1_PRIVATE_KEY"
capital: 1000.0
asset: "BTC"
model_id: "qwen/qwen3-vl-8b-instruct"
eval_interval: 5m
leverage: 10
intervals: ["15m", "1h", "4h"]
indicators:
- type: "sma"
enabled: true
sma:
period: 50
- type: "rsi"
enabled: true
rsi:
period: 14
- type: "bollinger"
enabled: true
bollinger:
period: 20
multiplier: 2

CLI flags (manual mode only)​

gopher live \
--config traders.yaml \
--mode paper \
--intervals "15m,1h,4h" \
--indicators ./indicators.yaml

Notes:

  • --intervals and --indicators are ignored when --orchestrator is enabled.
  • If no overrides are provided, defaults are used.

Indicators file format​

The --indicators file is a list of EnabledIndicator objects in JSON or YAML.

- type: "macd"
enabled: true
macd:
fast_period: 12
slow_period: 26
signal_period: 9
- type: "atr"
enabled: true
atr:
period: 14

Custom Indicators (Developers)​

Developers can register custom indicators in Go via the indicator registry. This is a code-level extension point; the UI reads the registered catalog at runtime.