import type { Metadata } from "next"; import Link from "next/link"; export const metadata: Metadata = { title: "Backtest Results", description: "ARES v1.4.0 backtest results: M5 Momentum FVG scalper on XAUUSDm. ATR quality filter, EMA-20 trend filter, entry zone 75%, London session.", }; const results: Array<{ symbol: string; period: string; tf: string; risk: string; version: string; trades: number | null; wr: number; pf: number | null; ret: number | null; dd: number | null; highlight: boolean; note?: string; }> = [ { symbol: "XAUUSDm", period: "50k bars (~8 mo)", tf: "M5", risk: "5%", version: "v1.4.0", trades: 83, wr: 62.7, pf: 2.08, ret: 448.7, dd: null, highlight: true, note: "Session 08–13 UTC" }, { symbol: "XAUUSDm", period: "2025 Full Year", tf: "M5", risk: "5%", version: "v1.4.0", trades: 26, wr: 65.4, pf: 2.08, ret: 78.8, dd: null, highlight: false, note: "Session 08–13 UTC" }, { symbol: "XAUUSDm", period: "50k bars (~8 mo)", tf: "M5", risk: "1%", version: "v1.4.0", trades: 59, wr: 61.0, pf: 1.93, ret: 25.4, dd: -4.8, highlight: false, note: "Session 08–13 UTC" }, { symbol: "XAUUSDm", period: "50k bars (~8 mo)", tf: "M5", risk: "5%", version: "v1.3.0", trades: 224, wr: 50.0, pf: 1.17, ret: 174.7, dd: null, highlight: false, note: "No ATR filter" }, ]; const params = [ ["Timeframe", "M5"], ["Symbol", "XAUUSDm"], ["Session", "08:00–13:00 UTC"], ["EMA Period", "20"], ["ATR FVG Filter", "≥ 0.3× ATR(14)"], ["ATR Impulse Filter","≥ 1.0× ATR(14)"], ["Entry Zone", "75% into FVG"], ["Min RR", "1.5×"], ["FVG Expiry", "10 candles"], ["Body PCT Min", "50%"], ["Close PCT Min", "80%"], ]; // Simplified balance milestones for equity progression (50k bars, 5% risk, v1.4.0) // $5,000 start → $27,439 end const equityPoints = [ { label: "Start", value: 5000 }, { label: "Oct '25", value: 4953 }, { label: "Nov '25", value: 5173 }, { label: "Dec '25", value: 5901 }, { label: "Jan '26", value: 6902 }, { label: "Feb '26", value: 8240 }, { label: "Mar '26", value: 12440 }, { label: "Apr '26", value: 15600 }, { label: "May '26", value: 16038 }, { label: "Jun '26", value: 27439 }, ]; export default function BacktestPage() { const maxEquity = Math.max(...equityPoints.map(p => p.value)); const minEquity = Math.min(...equityPoints.map(p => p.value)); // Normalise to SVG viewBox height 80px const h = 80; const w = 340; const pts = equityPoints.map((p, i) => { const x = (i / (equityPoints.length - 1)) * w; const y = h - ((p.value - minEquity) / (maxEquity - minEquity)) * h; return `${x},${y}`; }).join(" "); return ( <>

Quantitative Analysis

Backtest Results

Historical simulation on real MT5 tick data. Includes spread, commission ($7/lot), and slippage. London session filter (08–13 UTC) applied.

{/* Highlight */}
v1.4.0 · Best Result

M5 · 50k Bars · 5% Risk

XAUUSDm · Sep 2025 – Jun 2026

View Live Trades →
{[ { label: "Profit Factor", value: "2.08", note: "> 2.0 = strong" }, { label: "Net Return", value: "+448.7%", note: "$5,000 → $27,439" }, { label: "Win Rate", value: "62.7%", note: "83 trades" }, { label: "vs v1.3.0", value: "+274pp", note: "v1.3.0 was +174.7%" }, ].map(({ label, value, note }) => (

{label}

{value}

{note}

))}
{/* Equity curve */}

Equity Progression

50k M5 bars · 5% risk · XAUUSDm

$27,439

from $5,000

{/* Grid lines */} {[0, 0.25, 0.5, 0.75, 1].map((t) => { const y = h - t * h; const val = Math.round(minEquity + t * (maxEquity - minEquity)); return ( ${(val / 1000).toFixed(0)}k ); })} {/* Area fill */} {/* Line */} {/* Dots + labels */} {equityPoints.map((p, i) => { const x = (i / (equityPoints.length - 1)) * w; const y = h - ((p.value - minEquity) / (maxEquity - minEquity)) * h; return ( {p.label} ); })}
{/* Filter impact */}

What Changed in v1.4.0

ATR Quality Gate

FVG zone ≥ 0.3× ATR(14) and impulse body ≥ 1.0× ATR(14). Weak, low-energy setups are discarded before entry.

Trades cut

224 → 83

PF impact

1.17 → 2.08

Entry Zone 75%

Limit order placed 75% deep into the FVG instead of the midpoint. Forces price to retest the level, confirming it as real support/resistance.

DD reduction

−63%

Win rate

50% → 62.7%

Session 08–13 UTC

Entries restricted to London open + early NY overlap. XAU liquidity and directional moves concentrate in this window — other hours produce noise.

vs all sessions

PF ↑ best

DD vs no filter

lowest

{/* Results table */}

All Runs

{["Symbol", "Period", "TF", "Risk", "Version", "Trades", "Win Rate", "Profit Factor", "Return", "Max DD", ""].map(h => ( ))} {results.map((r, i) => ( ))}
{h}
{r.symbol} {r.period} {r.tf} {r.risk} {r.version} {r.trades ?? "—"} {r.wr.toFixed(1)}% {r.pf != null ? = 1.3 ? "text-bull" : r.pf < 1 ? "text-bear" : "text-ink-md"}>{r.pf.toFixed(2)} : } {r.ret != null ? = 0 ? "text-bull" : "text-bear"}>{r.ret >= 0 ? "+" : ""}{r.ret.toFixed(1)}% : } {r.dd != null ? 30 ? "text-bear" : Math.abs(r.dd) > 15 ? "text-amber-400" : "text-ink-md"}>{r.dd.toFixed(1)}% : } {r.note ?? ""}
{/* Params + How it works */}

Parameters

{params.map(([k, v]) => (
{k}
{v}
))}

How It Works

    {[ ["Detect Impulse", "3-candle momentum: body ≥ 50% of range, close in top/bottom 20%."], ["ATR Quality Gate", "FVG zone ≥ 0.3× ATR(14). Impulse body ≥ 1.0× ATR(14). Weak setups discarded."], ["EMA-20 Filter", "Long only above EMA-20, short only below. Confirms short-term trend."], ["Entry Zone 75%", "Limit order at 75% depth inside FVG — waits for price to retrace before committing."], ["Manage Risk", "SL at FVG boundary, TP at ≥ 1.5× RR, position sized at exactly N% risk per trade."], ].map(([title, desc], i) => (
  1. {i + 1}

    {title}

    {desc}

  2. ))}
{/* Disclaimer */}

Disclaimer — Backtests simulate on historical data and do not account for requotes, broker restrictions, or changing market regimes. Past results do not guarantee future performance. For informational purposes only.

); }