DEV · /dev only · Testing Processes · RESEARCH ONLY · main site untouched
Strategies SMT Advanced Hunter 7 Python Twin ZZ Strategy ORB ICT SMT Roman Edgeful 9 NQ stats LIVE A+ SetUp
Farm · symbol-remap testing · /dev

Testing Processes

RESEARCH ONLY · NOT PROMOTED. Nothing on this page is approved for live or demo trading. Demo accounts only; no live trades.
Rules for every result on this page: Every result is net of REAL broker fees, stated with the result: Global Prime XAUUSD $3.50/lot/side ($7 RT); IBKR MGC $1.92 RT, GC $5.02 RT; NinjaTrader Lifetime ES/NQ $4.34 RT, MES/MNQ $1.28 RT; custom symbols show $0 so fees are added after. An equity curve beside every stat; if a curve is missing the cell says so. Known data gaps excluded and listed with each result. Demo accounts and the MT5 tester only: no live trades. Nothing is promoted unless David says “promote”.

Shared A+ setup library CURRENT · 18 OCT 2026

Procedures before testing. Added per David (voice, 18 Oct 2026, 3:19 PM AEST). Every strategy builder reads and writes one shared library — never a private or forked copy. If a second Playbook Builder is added, both use this same library.

One library: /workspace/nitro-setups/top_traders/_setup_library/ — LIBRARY_RULES.md, VERSION, INDEX.csv, CHANGELOG.md.
No A+ ships until checked: before publish, entry-contract handoff, Hunter 7 preset change, or starting a test lane, check the A+ definition against the library's current VERSION and log the check in CHANGELOG.md (date, builder, trader, version checked, what changed). Conflicts that cannot be resolved are marked NEEDS-REVIEW for David; never overwrite silently.

Same rule on the End-to-end testing loop (v1.6).

Stage One: testing instruments and timeframes · definition CURRENT · 18 OCT 2026

The current Stage One definition, set by David on 18 Oct 2026. Stage One only: no Stage Two or beyond is defined here. Strategy: Hunter 7 (All-in-One Setup v7) run across all 28 base combinations (7 instruments × 4 timeframes) before any parameter variation, with every result sifted by the Guardian Intelligence layer. The symbol-remap matrix in sections 1–6 below stays as it was and runs alongside this.

Needs confirming: David listed “US 30 (YM)” and “YM” separately; read as GP US30 CFD + YM futures to keep 7 instruments — confirm.

Base instruments (7)

1 · XAUUSDGlobal Prime gold
2 · XAGUSDGlobal Prime silver
3 · BTCUSDBitcoin
4 · US30Global Prime US 30 CFD (Dow)
5 · ESE-mini S&P 500 futures
6 · YMDow futures
7 · MGCMicro gold futures

Base grid: 7 instruments × 4 timeframes = 28 combinations

Timeframes 1, 3, 5 and 15 minute. Each cell is one Hunter 7 base run before parameter variation; all 28 are pending.

Instrument1 min3 min5 min15 min
1 · XAUUSD
Global Prime gold (CFD)
pending
#1 · XAUUSD 1m
pending
#2 · XAUUSD 3m
pending
#3 · XAUUSD 5m
pending
#4 · XAUUSD 15m
2 · XAGUSD
Global Prime silver (CFD)
pending
#5 · XAGUSD 1m
pending
#6 · XAGUSD 3m
pending
#7 · XAGUSD 5m
pending
#8 · XAGUSD 15m
3 · BTCUSD
Bitcoin
pending
#9 · BTCUSD 1m
pending
#10 · BTCUSD 3m
pending
#11 · BTCUSD 5m
pending
#12 · BTCUSD 15m
4 · US30 confirm
Global Prime US 30 CFD (Dow)
pending
#13 · US30 1m
pending
#14 · US30 3m
pending
#15 · US30 5m
pending
#16 · US30 15m
5 · ES
E-mini S&P 500 futures
pending
#17 · ES 1m
pending
#18 · ES 3m
pending
#19 · ES 5m
pending
#20 · ES 15m
6 · YM confirm
Dow futures (E-mini Dow)
pending
#21 · YM 1m
pending
#22 · YM 3m
pending
#23 · YM 5m
pending
#24 · YM 15m
7 · MGC
Micro gold futures
pending
#25 · MGC 1m
pending
#26 · MGC 3m
pending
#27 · MGC 5m
pending
#28 · MGC 15m
Stage One rules: real broker fees only, stated with every result, as in the page rules above (GP XAUUSD $3.50/lot/side; IBKR MGC $1.92 RT; NinjaTrader Lifetime ES $4.34 RT; others per their broker). An equity curve beside every stat. Known data gaps excluded and listed with each result. Research only until David says “promote”.

Hunter 7 bias timeframe combos as MoonDog direction filter

Hunter 7's bias on the listed timeframe(s) used as the direction filter for MoonDog trades: a trade is taken only when it agrees with the bias. All five are pending.

#Bias timeframe(s)RuleStatus
B15m aloneTrade only with the 5m biaspending
B215m aloneTrade only with the 15m biaspending
B35m + 15mBoth must agree with the tradepending
B45m + 1HBoth must agree with the tradepending
B515m + 1HBoth must agree with the tradepending

Extra rules and ideas for Stage One: testing instruments and timeframes

  1. Regime tagging: each run's results are labelled by market regime (trending vs choppy), so the bias filter's year-dependent behaviour is measured per regime, not just per year. TBD Tagging method still to be decided; proposed: ADX or efficiency ratio on D1.
  2. Minimum trade-count floor: a filter that removes nearly all trades can't rank best. confirm Floor value still to be confirmed; proposed: at least 50% of the unfiltered trade count, plus a hard minimum number of trades.
  3. Session-mix testing is carried into Stage One: all sessions, Asia, London, NY and Asia+NY. London-only and all-sessions behaved differently on MGC.

Farm context

MT5 sessions16 live MT5 sessions: PC1 with 7 terminals, PC4 with 9 terminals
RedundancyPC3 as the redundancy backup
Scheduler triggerCompletion of the daily 31-instrument data download
Testing orderPython parameter grid → NinjaTrader fill validation → Guardian Intelligence hybrid
Forward testingSix EAs live on demo, each shadowing its backtest
Promotion gateNo EA is swapped without David's approval (“promote”)

1 · Symbol remap method

Purpose: test the gold EAs on other markets (EURUSD, GBPUSD, US 100, …) without touching their code, by feeding them another market's real ticks dressed up as gold. If an EA keeps an edge on markets it was never tuned on, that is evidence against curve-fitting; if it only works on 2026 gold, that is evidence for it.

  1. Source ticks: real broker ticks from a logged-in Global Prime demo terminal (the MT5 tester will not start without a saved login). Export the source symbol's ticks for the test window.
  2. Build an MT5 custom symbol (CustomSymbolCreate + CustomTicksReplace), copying gold's contract specs, then rescale prices into a gold-like range so stops/targets in points behave sensibly.
  3. Name it XAUUSD (or the closest name the terminal allows, e.g. XAUUSD.x), because several EAs check the symbol name.
  4. Sessions: broker gold hours Mon–Fri 01:02–23:59 (server time), not 24/7. MoonDog refuses to trade a symbol with 24/7 sessions.
  5. Run the EA unchanged in the tester (every tick based on real ticks), record whether it accepts the symbol, then export the trade list.
  6. Score the trade list in Python: net of real broker fees (added after, since custom symbols show $0), equity curve, H1/H2 split, data gaps excluded.

Gold specs copied onto the custom symbol

Contract size100 (oz per lot), as the broker's XAUUSD
Tick size / tick valueAs the broker's XAUUSD (e.g. 0.01 / $1 per lot). Both must be non-zero, or EAs divide by zero or refuse to size.
Digits2 (as XAUUSD)
MarginGold initial/maintenance margin and leverage of the account
Trade sessionsMon–Fri 01:02–23:59 (quote and trade), not 24/7
NameXAUUSD or closest allowed
Price mappingSource price rescaled into the gold range; the scale factor is recorded with each result

Current example: EURUSD-as-XAUUSD acceptance test, 1 week of 2026 (builder script BuildEurAsXau.mq5). Results will land in /workspace/nitro-setups/eurusd_as_xau_2026-10-17/.

2 · EAs under test (no code changes)

EANotesPage
Gold Reaper v4.1MQL5 port of the Python replica (compiles 0 errors); magic 8001–8009Gold Reaper
MoonDog v3.34Refuses 24/7 sessionsMoonDog
Ghost ScalperScalper: needs real ticks, 1m OHLC is optimisticGhost Scalper
My AI GoldCompounds lot size: fixed-lot runs neededMy AI Gold
Range Breakout v5.20Multi-symbol from one chartRange Breakout
CapitalX v1.8Will not start: needs outside DLLs (not allowed, resold/cracked file)CapitalX

3 · Intelligence wrappers (kept separate)

The EAs are always tested raw first. The wrappers are Python only and are applied afterwards to the EA's exported trade list, so a wrapper result can always be compared with the raw result on the same trades:

Each wrapped result is shown beside its raw result, each with its own curve, net of real broker fees.

4 · Test matrix: EA × symbol LIVE · 30 s

Loading…

Loading…

Statuses: pending running accepted (EA loaded and ran on the symbol) refused (EA rejected the symbol) trades (has a scored trade list). Data: /dev/data/testing_processes.json, edited on the box with tp.py.

5 · Results tracking

One row per cell that has been scored: accepted/refused, trades, net, PF, max DD, equity curve. Older results computed at the $25/lot placeholder; being re-stated at real fees.

Job timings

No results yet.

6 · Rules