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.