Setting up a crypto trading bot sounds complicated, but with Freqtrade it took me less than an hour to go from zero to running trades.
Here's the exact process I followed.
Why Freqtrade?
- Free and open source (vs $30-100/mo for 3Commas, Cryptohopper)
- Python-based — full control over strategy logic
- Supports Bybit, Binance, and 15+ exchanges
- Built-in backtesting with real historical data
- Active community (7,000+ GitHub stars)
Quick Setup (Docker)
mkdir ft_userdata
cd ft_userdata
docker compose run --rm freqtrade create-userdir --userdir user_data
docker compose run --rm freqtrade new-config --config user_data/config.json
My Strategy in 30 Lines
The key insight: multi-timeframe confirmation eliminates most false signals.
class TrendRiderStrategy(IStrategy):
timeframe = '15m'
def populate_indicators(self, dataframe, metadata):
dataframe['rsi'] = ta.RSI(dataframe, timeperiod=14)
dataframe['ema_fast'] = ta.EMA(dataframe, timeperiod=8)
dataframe['ema_slow'] = ta.EMA(dataframe, timeperiod=21)
return dataframe
def populate_entry_trend(self, dataframe, metadata):
dataframe.loc[
(dataframe['rsi'] < 35) &
(dataframe['ema_fast'] > dataframe['ema_slow']) &
(dataframe['volume'] > dataframe['volume'].shift(1) * 1.5),
'enter_long'] = 1
return dataframe
This is simplified — the full strategy uses 4 timeframes (5m, 15m, 1h, 4h) and additional indicators (MACD, Bollinger Bands).
Backtesting Results
After testing across 10,000+ trades (Jan 2024 — Mar 2026):
| Metric | Value |
|---|---|
| Win Rate | 67.9% |
| Annual Return | +127% |
| Max Drawdown | 18.2% |
| Sharpe Ratio | 1.82 |
| Profit Factor | 2.12 |
5 Mistakes I Made (So You Don't Have To)
- Overfitting to one time period — always use walk-forward analysis
- Ignoring fees — 0.1% per trade adds up to 30%+ annually on active strategies
- Too many indicators — less is more, 3-4 indicators max
- No regime filter — your strategy should know when NOT to trade
- Skipping paper trading — run dry_run for at least 200 trades before going live
Going Live
The transition from backtest to live is where most bots fail. My checklist:
- ✅ 200+ paper trades matching backtest ±15%
- ✅ Stoploss on exchange (not just in code)
- ✅ Max 2% risk per trade
- ✅ VPS with 99.9% uptime
- ✅ Telegram alerts for every trade
Full Tutorial
I wrote a detailed step-by-step guide covering everything from installation to VPS deployment: Freqtrade Setup Tutorial 2026
What's your experience with Freqtrade? Any tips for optimizing execution on Bybit? Drop a comment below.
Top comments (0)