Strategies for use in freqtrade
- Python 93.3%
- Jupyter Notebook 6.7%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| configs | ||
| data/kraken | ||
| docker | ||
| hyperopts | ||
| notebooks | ||
| scripts | ||
| strategies | ||
| .gitattributes | ||
| .gitignore | ||
| AGENTS.md | ||
| docker_compose_backtest.yml | ||
| docker_compose_dryrun.yml | ||
| freqtrade.sublime-project | ||
| pyproject.toml | ||
| pyrightconfig.json | ||
| README.md | ||
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; installgit lfsbefore 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).