Strategies for use in freqtrade
  • Python 93.3%
  • Jupyter Notebook 6.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-19 04:44:02 -05:00
configs feat: add minimal local backtest config 2026-10-19 09:17:27 +00:00
data/kraken Initial commit 2026-10-19 02:03:54 -05:00
docker Initial commit 2026-10-19 02:03:54 -05:00
hyperopts Initial commit 2026-10-19 02:03:54 -05:00
notebooks Initial commit 2026-10-19 02:03:54 -05:00
scripts Initial commit 2026-10-19 02:03:54 -05:00
strategies chore: ignore compiled artifacts and untrack Numba cache 2026-10-19 08:07:48 +00:00
.gitattributes Initial commit 2026-10-19 02:03:54 -05:00
.gitignore chore: ignore compiled artifacts and untrack Numba cache 2026-10-19 08:07:48 +00:00
AGENTS.md docs: add AGENTS.md with environment and tooling notes 2026-10-19 09:42:39 +00:00
docker_compose_backtest.yml Initial commit 2026-10-19 02:03:54 -05:00
docker_compose_dryrun.yml Initial commit 2026-10-19 02:03:54 -05:00
freqtrade.sublime-project Initial commit 2026-10-19 02:03:54 -05:00
pyproject.toml Initial commit 2026-10-19 02:03:54 -05:00
pyrightconfig.json Initial commit 2026-10-19 02:03:54 -05:00
README.md docs: replace placeholder README with concise project description 2026-10-19 07:30:15 +00:00

Freqtrade Strategies

Personal Freqtrade user_data workspace: trading strategies, indicator helpers, hyperopt tooling, and configs for backtesting and dry-running on Kraken spot markets.

This directory is mounted into the Freqtrade container as /freqtrade/user_data, so paths here follow the Freqtrade user_data layout.

Layout

Path Purpose
strategies/ Strategy implementations (ChipsAndDips is the active one, sample_strategy.py is upstream boilerplate)
strategies/utilities/helpers.py Indicator/feature library (Numba-accelerated): ATR trend bands, echo/reversion levels, breakout segments, Donchian, HMA, Heikin Ashi
hyperopts/ Custom hyperopt loss functions
scripts/hyperopt_gauntlet.py Orchestrates many hyperopt runs across pairs/configs and collects the results
configs/ Bot configs: backtest_config.json, dryrun_root_config.json + dryrun_bot1_config.json (layered)
data/kraken/ OHLCV + trade data as Feather files (Git LFS), 1m/5m/1h
docker/ Dockerfile.custom for building the image with extra deps
notebooks/ Trade/strategy analysis notebooks
docker_compose_backtest.yml, docker_compose_dryrun.yml Compose files for the backtester webserver and dry-run bots

Getting started

Point FREQTRADE_DIR at this checkout, then bring up the service you want:

export FREQTRADE_DIR=/path/to/freqtrade_strategies

# Backtester webserver (port 8100)
docker compose -f docker_compose_backtest.yml up -d

# Dry-run bot (port 8101); root config is layered with a per-bot config
docker compose -f docker_compose_dryrun.yml up -d

Inside the container, run a backtest against the local data:

freqtrade backtesting \
  --config /freqtrade/user_data/configs/backtest_config.json \
  --strategy ChipsAndDips \
  --timeframe 5m --timerange 20240101-

Download or refresh data with freqtrade download-data using the same config. Hyperopt runs are driven through scripts/hyperopt_gauntlet.py, which shells out to freqtrade hyperopt per pair and writes results to hyperopt_gauntlet/.

Notes

  • Binary data (*.feather, *.parquet, ...) is tracked with Git LFS via .gitattributes; install git lfs before cloning if you need the data.
  • Result and log directories (backtest_results/, hyperopt_results/, hyperopt_gauntlet/, logs/, plot/, databases/) are gitignored.
  • Configs are dry-run only and hold no live trading credentials.
  • Python style is enforced with Ruff (pyproject.toml, line length 88).