trademagic guides

Why backtests fail

We put it on our pricing page: backtests are history lessons. A curve fitted to the past is a description, not an edge. Here is exactly how beautiful backtests die in live trading, and what testing has to look like instead.

Start with a free trial. No credit card required.

Equity curve from a backtest diverging from live trading results

The four ways a backtest lies

  • Overfitting. Tune enough parameters against one history and you will always find a curve that loved the past. With every added rule the strategy learns the noise, and noise does not repeat.
  • Selection and survivorship. You see the hundredth variant, the one that survived. Ninety-nine siblings died quietly, which makes the winner's statistics close to meaningless on their own.
  • Regime change. Markets are non-stationary. A rule distilled from a zero-rate decade met 2022 and gave its profits back. The past is one draw from a distribution that keeps moving.
  • Frictionless fantasy. Perfect fills at the close, no spread widening, no slippage, no missed prints. Real execution costs compound against you on every single trade.

What testing looks like when it is honest

The cure is not a longer backtest; it is a harder gauntlet. At trademagic a specialist model must pass gold-standard testing and certification before its first signal reaches a subscriber: validation designed to catch overfitting rather than reward it, on driver data (flow, macro surprise, positioning, carry) rather than indicator arithmetic. Models that cannot prove an edge under that process do not ship. And the test never really ends, because every live signal resolves to a recorded outcome that subscribers can audit.

Positioning for the future, measurably

Our tagline is a testing philosophy: we do not polish the past, we position for the future. Concretely that means forward evidence outranks backward curves, and the API makes forward evidence something you can collect yourself:

Your own outcome journal in ~20 lines
# Build your own forward test: log every published outcome yourself.
import requests

API = "https://trademagic.ai/api/ext/v1"
HEADERS = {"Authorization": "Bearer tp_live_YOUR_KEY"}

def poll(cursor=None):
    params = {"after": cursor} if cursor else {}
    data = requests.get(f"{API}/signals/updates", headers=HEADERS,
                        params=params, timeout=10).json()
    for e in data["events"]:
        s = e["signal"]
        if e["type"] == "status_change" and s["status"] in ("tp_hit", "sl_hit"):
            journal(s["pair"], s["side"], s["entry"], s["sl"], s["tp"],
                    s["rr"], s["status"])     # your CSV, sheet, or DB
    return data["next_cursor"]

A few weeks of that during a free trial gives you a forward test nobody can polish, because you recorded it. That is the standard we are comfortable being held to.

Start with a free trial

Create an account and your API key is minutes away.

Start free trial

Frequently asked questions

Are backtests useless then?

No, they are necessary and insufficient. A backtest can falsify an idea cheaply; it cannot validate one on its own. Treat a great backtest as permission to run the expensive tests, never as the result.

What should I ask a signal service instead of 'show me the backtest'?

Ask what a model must survive before going live, whether outcomes are recorded immutably with timestamps, and whether you can watch the live feed on paper before paying. Process answers beat performance answers.

How does trademagic test its models?

Every specialist model passes gold-standard testing and certification before its first live signal, on data spanning flow, macro, positioning, and carry rather than indicator values. After going live, every signal resolves to a recorded outcome in your account. The methodology itself is proprietary.

How do I run my own forward test?

Take the trial, point a small script or an n8n workflow at the API, and journal every signal and resolution for a few weeks. Your own live journal outranks anyone's backtest, ours included.

Start with a free trial

Create an account and your API key is minutes away.

Start free trial