πŸ“ˆ Moomoo Strategy Replay / Backtest Harness

Re-runs the 72 historical paper trades (2026-02-03 β†’ 2026-03-18) under configurable rules β€” validate a change against real history before touching the live engine. Only one run executes at a time; every run is saved below for comparison.

How to use this (4 steps)

  1. Set the rules below β€” or just click a preset button (Cut TSLA, Delay entry, etc.) to pre-fill the form. You don't need to touch every field; anything you leave alone uses a sensible default. To test specific months, check them in the new "Months to include" box (leave all unchecked = every month).
  2. Click "β–Ά Run Backtest." A yellow banner appears right under the Run button saying it's running β€” ~2 seconds for a base run, up to a minute or two if you selected many Extended-range dates (each date replays real tick data).
  3. When it finishes, that banner turns green, and the full result β€” net P&L, win rate, every trade, an equity curve β€” opens automatically in the "Your Latest Result" panel right below it.
  4. It's also added to the "Saved Runs" table further down, sorted by Net P&L (best on top β€” marked πŸ†). Click View on any past run to reopen its detail, then βš™ Copy variables to load that run's settings back into the form and tweak from there.

Configure a run

Months to include ?

Leave all unchecked to run every month (default). Check specific months to run only those β€” the run is restricted to them, and each month's Extended-range dates get auto-selected so its trades are included.

Loading months…
Entry filters
Exit rules
Tier premium ≀Hard stop %T1 gain %T2 gain %Post-T1 trail %Post-T2 trail %
Extended date range ?

By default this backtest only uses the 72 real historical trades (Feb 3 – Mar 18). Check any date below to also include synthetic trades built from that day's signal levels + real market data. Dates marked bot-archive came from signals pasted into #signals-copied on Discord (paste more there β€” with the date in the title β€” and they appear here on refresh). Dates whose days already have real trades are excluded automatically to prevent double-counting.

select all  Β·  none  Β·  all after Mar 23
Loading available dates…
~2s base; up to a couple of minutes with many extended dates selected. Status appears just below.
βœ• close

Your Latest Result

Equity curve β€” cumulative P&L ($, left axis) across trades in date order (bottom axis). β–² peak Β· β–Ό deepest drawdown Β· ● final. Hover any point for its trade details.
Loads this run's exact settings (including its extended-date selection) back into the form above, so you can tweak and re-run from it.
By ticker / direction:
TickerDirEntry timeEntry $Contracts Exit $P&LExit reasonSource

πŸ“ Paper-trading comparison (live rules vs Josh-aligned, same signal & same data, no real orders)

Runs automatically every trading day and logs what each rule set would have done β€” an out-of-sample track record built before changing anything live. Days with no signal are logged as "no signal" and trade nothing.
Loading…
Cumulative paper P&L per rule set across logged signal days. β–  live rules   β–  Josh-aligned.
DateSignal Live: tradesLive: P&L Josh: tradesJosh: P&LΞ”
Loading…

Saved runs (sorted by net P&L β€” best combination floats to the top)

πŸ‘‡ Every run you complete lands here automatically, sorted best-to-worst by Net P&L (πŸ† = best so far). Click View to reopen its full detail above.
LabelTradesNet P&LWin % Profit FactorExpectancyMax DDWhenActions
No runs yet β€” configure params above and click Run Backtest.