← Back to blog list

Building a FreqBot for Futures Auto-Trading: 5 Lessons from 6 Months Live

From zero to one — practical lessons building a crypto futures trading bot: strategy choice, risk control, money management, API security, monitoring. A quant beginner's real retrospective.

·6 min read·by TOMMi

I've been using the Freqtrade framework + my own strategies to trade futures since late last year — 6 months in. This isn't a flex about making big money — it's a real record of pitfalls + reflection + adjustment. Today I'm distilling the 5 most practical lessons for beginners.

Lesson 1: More Strategies ≠ Better — Stability First, Variety Later

At first I ran every strategy I could find — trend following / mean reversion / arbitrage / grid / martingale… Backtested 200% return in 3 months.

In live trading? Lost 40% in two weeks.

Why?

The gap between backtest and live:

  • Slippage — backtest assumes you fill at target price, live costs 0.05-0.1% slippage
  • Latency — signal to order takes 200-500ms live, backtest assumes 0ms
  • Funding rate — futures settle every 8 hours, backtests often ignore this
  • Black swans — backtests don't see exchange outages / pulled network cables

The Lesson

Run one simple strategy live for 3 months. Not backtested 3 months — live 3 months.

I now run just 2 strategies:

  • Funding rate arbitrage (10-15% APY, 75% win rate)
  • Volume spike detection (30-80% APY, 55% win rate)

Simple, explainable, durable. Complex strategies are for institutions.

Lesson 2: Risk Control Is Life — Single Trade Stop-Loss ≤ 0.10

This is a hard rule bought with real money.

The First Big Loss

Before March 2026, my stop-loss was 0.03 (3%). One ETH flash crash (8% drop in 5 minutes) triggered a margin call — single trade lost 35% of principal.

My Rules Now

  • Per-trade stop-loss ≤ 0.10 (10% of notional, ~-3.33% actual with 3x leverage)
  • Daily total loss ≤ 5% of principal (auto-halt Bot when triggered)
  • Weekly total loss ≤ 10% of principal (manual review + parameter tuning)

Risk control > returns. A Bot with no risk control is no different from gambling.

How to Set the Stop-Loss

Don't look at technical indicators (support level / lower Bollinger band). Look at the strategy itself:

  • Funding rate arbitrage: 0.05 (no directional loss allowed)
  • Trend following: 0.10 (accept some drawdown)
  • Grid: no stop-loss needed, position-hedged

Different strategies, different stop-losses — don't use a one-size-fits-all.

Lesson 3: Money Management > Strategy Choice

Same strategy, different money management, 5× different 6-month result.

Three Money Management Styles Compared

| Style | Per-trade size | Monthly return (10% APY strategy) | Max drawdown | |---|---|---|---| | All-in | 100% | ±50% | -50% | | Pyramid add | 20% | +8% | -8% | | Fixed 5% | 5% | +2.5% | -2.5% |

The safest style for beginners is fixed 5% position size. Never go all-in.

My Capital Allocation

  • 70% — Funding rate arbitrage (stable)
  • 20% — Trend strategy (medium risk)
  • 10% — Reserved for black swans + add-on opportunities

Never borrow to add leverage.

Lesson 4: API Security Is the Baseline — Read-Only Keys Only

This shouldn't even be a question, but 90% of newcomers fail here.

A Real Incident

In February 2026 I saw someone on Discord sharing "high-frequency arbitrage 500% APY" — I got hot-headed and gave my exchange API key to their "tool". 2 hours later 12 ETH (~$50k) was withdrawn from my account.

My Lessons Learned

  • API key — read-only only (Read-only, never enable Trade permission)
  • IP whitelist (only your VPS IP can use this key)
  • Rotate regularly (monthly)
  • Don't use third-party "tools" (especially those shared by strangers in Discord groups)
  • Never enable withdrawal permission (this toggle is off by default — turning it on is like handing over your money)

99% of "tools" out there are scams. Write your own, or use battle-tested open-source projects (Freqtrade / Hummingbot / Jesse).

Lesson 5: Monitoring > Strategy — A Bot That Stays Alive Matters More Than How Much It Earns

One Bot crash = miss a week of market moves. I've had VPS reboots that took my Bot offline for 3 days, missing 8% of drawdown protection (could have been avoided with a manual close).

My Current Monitoring Stack

┌──────────────────────────────────────┐
│  VPS 24/7 (Tokyo)                    │
│  - 3 Bot instances (different strat) │
│  - 5-min cron health check           │
│  - Auto-restart dead processes       │
└──────────────────────────────────────┘
            ↓
┌──────────────────────────────────────┐
│  Telegram Alerts                     │
│  - Process down / abnormal position  │
│  - Daily report (sent 23:00)         │
└──────────────────────────────────────┘
            ↓
┌──────────────────────────────────────┐
│  Cloudflare Pages (Dashboard)        │
│  - Real-time PnL curve               │
│  - Remote close-position button      │
│    (for emergency use)               │
└──────────────────────────────────────┘

Key Monitoring Items

| Item | Threshold | Action | |---|---|---| | Process alive | 1 min | Auto-restart + alert | | Per-trade floating PnL | -0.08 | Telegram warning | | Daily total loss | -3% | Bot pause + alert | | API connectivity | 30s | Switch to backup exchange | | Holding duration | 7 days | Prompt manual review |

Don't stare at the screen. Let monitoring run 24/7, use your eyes only for monthly reviews.

Recommended Starter Stack (For Beginners)

If you want to start building, here's my minimum viable stack:

1. Framework: Freqtrade

  • ✅ Open source (MIT License)
  • ✅ Great docs (Chinese too)
  • ✅ Lots of strategy templates
  • ✅ 10+ exchange support
  • ✅ Backtest + live + dry-run in one
git clone https://github.com/freqtrade/freqtrade
cd freqtrade
./setup.sh --install

2. Exchange: Binance / OKX

  • ✅ Best liquidity
  • ✅ Stable API
  • ✅ Wide variety of futures pairs
  • ⚠️ KYC required (mandatory)

3. VPS: Tokyo / Singapore

  • ✅ Close to exchange servers (latency < 5ms)
  • ✅ 4GB RAM minimum
  • ✅ Recommended: AWS Lightsail / Vultr / Aliyun Lightweight

4. Monitoring: Telegram Bot + Cron

Skip the complex Prometheus / Grafana. A Telegram Bot + 5-min cron script is enough.

Final Thoughts

Quant trading is not a money-printing machine — it's a tool.

  • It frees you from staring at charts (runs 24/7 automatically)
  • It keeps you emotionally neutral (follows the strategy, not your mood)
  • It compounds over the long term (15-30% APY beats most salaries)

But it cannot make you rich overnight. What actually makes money is strategy + risk control + time.

If you want to try, start with paper trading (Freqtrade's dry_run=True) for 3 months. Once you're consistently profitable, go live with a small position (1,000 USDT).


Want to see my live trading records? Telegram me. Questions about building a FreqBot? Ask the AI assistant in the bottom-right corner (tommiai.xyz).