NinjaTrader 8 ports — P1 Fast Method (LucidPro 25K)

rev 4 · 2026-08-17 night. Five strategies, one shared core (rev 4 core required by all). The $325 funded port is NT8-verified 2026-08-17 (726/726 on Arman's own Analyzer). Three more funded variants added — see the second table below. NEW: P1 Fast reBreak M1be $325 — funded port (LTF02582991480001), core verified 721/721 trades identical to engine variant 14767 (the funded-pro-25k battery cell) and 314/314 / $23,418.05 exact against the $400 funded book. The eval port is unchanged (222/222, $32,106.10 exact) but needs the rev-3 core — the core file is shared and there must be exactly one copy of it.

Downloads — the core plus whichever strategy you run (both strategies may coexist)

P1FastCore.csshared signal + management core (rev 3, required by both) P1FastLucidFunded25k.csNEW · funded reBreak M1be $325 · cap 20 · LTF…0001 P1FastLucidEval25k.cseval strategy (unchanged logic) P1FastLucidFunded25kRminusC2.csNEW · R_minus_c2_count3 · $400 · acct LTF…0002 · battery: failed kill bar 1 P1FastLucidFunded25kRminusC3.csNEW · R_minus_c3_count3 · $400 · acct LTF…0003 · battery: failed kill bar 1 P1FastLucidFunded25kCap700.csNEW · Fast reBreak $400 + $700 day cap

sha256 P1FastCore.cs = 4dd7b84e2f47ae2db5549eaf660334c4d0b39329beeee2e0156c9213ebf3e493 (rev 4, C# 6-safe; RearmMode/DayCapUsd/TakeCount)
sha256 P1FastLucidFunded25k.cs = 07a2afc641a8bf4a186d5732352ca7bafaf64142e93f67f80f002b689c8d5947 (rev 4: +TakeCount/ConfCountBits params + input validation, defaults unchanged)
sha256 P1FastLucidFunded25kRminusC2.cs = f523822ccfdb9f46164a853f0cf25f6c5907e8f06a5d05b28487da8e50c50085
sha256 P1FastLucidFunded25kRminusC3.cs = 617893d5bb8da577ab50bffd4fbb84fec8584d663e00f8540d801559c5a32838
sha256 P1FastLucidFunded25kCap700.cs = c18a2eca32a2547b7a0586602610653419eb768b7f2d1d4acb3892c4d495a83a
sha256 P1FastLucidEval25k.cs = f93ce7d82e9d15d1c89b9dc9d6cad2da59c47d2f40dfb021b8f13eda84390fc1 (rev 4: RealizedDayPnlForCap plumbing, logic unchanged)

The multi-year 1-minute MES data file (MES.Last.txt, 2019 → 2026-08-16, the verified engine series, re-exported 2026-08-17) is not hosted here — transfer it privately from the Mac: trading/nt8/out/MES.Last.txt.

Funded port — read this first. Same P1 Fast core as the eval port with three differences: reBreak re-arm (a used direction re-arms when a completed 5m close is strictly back inside the OR level — unlimited, so 2–3 trades a day and repeated same-direction entries DO happen; that is the measured method), flat $325 risk (floor(325 / stop$) contracts, cap 20), daily stop 2R (no new entries after −$650 realized). No LiveMode/taper. Lucid's account guards (EOD MLL floor, payout-ready pause, room check) are not in the script — you own them. Full protocol: trading/nt8/NT8-GUIDE.md §6.

Expected numbers — funded port (imported engine data, defaults)

WindowTradesEngine ceiling (raw)Tick-rounded (what NT8 should be near)
2023-08-01 → 2026-07-09 (battery page window)314–318$23,820 free / $18,563 @ $0.74/side$20,655 free / $15,328 @ $0.74/side
2023-08-01 → 2026-08-13320–324$24,090 / $18,765$20,928 / $15,533
2024-01-01 → 2026-08-13286–289$22,542 / $17,900$19,684 / $14,991
2026-01-01 → 2026-08-1363–64$8,453 / $7,702$7,503 / $6,736
2026-06-15 → 2026-08-13 (Tradovate front contract)15$511 / $350$504 / $342

Per year (raw, $0.74/side): 2019 −$1.5k · 2020 −$3.8k · 2021 −$1.8k · 2022 −$6.2k · 2023 +$52 · 2024 +$844 · 2025 +$9.4k · 2026 +$7.7k — the edge is 2025+, 2019–2022 lose. Fingerprints of a correct run: largest loss ≈ −$325…−$350 · breakeven exits ≈ $0 (−$9…−$12 with commission) · wins ≈ $570–640 · max 20 contracts · some days with 2–3 trades / repeated same-direction entries (2026-06-29 two longs at 7479, 2026-08-07 two longs at 7763.50) · flat by 15:56 ET · never more than one open position. Recent trades 2026-06-15+: 06-17 L SL, 06-17 S SL, 06-19 L SL, 06-25 S BE, 06-29 L SL, 06-29 L EOD-win, 06-30 L TP, 07-01 L TP, 07-08 S BE, 07-14 L SL, 07-15 L SL, 07-21 L TP, 07-24 S BE, 08-07 L SL, 08-07 L TP. Not TV-verified at $325 (the $400 sibling is). Optimistic fill model — ceilings, not live expectations. Sim ≠ live.

Expected numbers — second batch (imported engine data, tick-rounded = NT8 expectation)

Strategy2023-08 → 2026-08 tradescommission-free@ $0.74/sidefull 2019 → 2026 (free / $0.74)
P1FastLucidFunded25kRminusC2602–608≈ $6.7k (ceiling $16.1k)≈ −$5.5k (ceiling +$4.0k)−$7.5k / −$38.2k
P1FastLucidFunded25kRminusC3531–535≈ $24.3k (ceiling $30.4k)≈ $13.6k (ceiling $19.8k)+$16.4k / −$9.8k
P1FastLucidFunded25kCap700311–314≈ $27.4k (ceiling $30.3k)≈ $21.1k (ceiling $24.1k)+$19.7k / +$4.5k

Harness gates vs the engine books: c2 1432/1440 identical (+10 classified structural), c3 1233/1233, cap700 707/707. The R_minus books trade 1,200–1,400 times, so commissions swing them by ~$26–30k over the full window — compare against the column matching your commission setting. Day-cap parity: run commission-free (the overlay counts $0.50/side). Both R_minus cells are recorded on the battery page as failed kill bar 1. Not TV-verified. Sim ≠ live.

Below: the original eval-port notes (still valid).

Install (fresh copy every time the files change)

  1. Delete any old copies of the files from Documents\NinjaTrader 8\bin\Custom\Strategies\ (exactly ONE P1FastCore.cs, ever).
  2. Download the core + the strategy file(s) above into that folder.
  3. NT8 → New → NinjaScript Editor → press F5 (Compile). Must end with “Compile successful”, 0 errors.
  4. Only P1FastLucidFunded25k / P1FastLucidEval25k appear in the strategy lists — P1FastCore is its engine and never shows up anywhere. That is normal.
  5. Never edit the files in the NT8 editor. One stray keystroke = compile errors for everything.

Backtest settings (Strategy Analyzer → Backtest)

SettingValue
StrategyP1FastLucidEval25k, all parameters at defaults (LiveMode = False)
Data series1 Minute — anything else and the strategy disables itself (see Control Center → Log)
Trading hoursCME US Index Futures ETH (24h). An RTH template silently breaks the overnight levels — #1 mistake.
Slippage / Commission0 / off (compare against the commission-free numbers below)
Order fill resolutionStandard
Instrument + rangeTradovate data: front contract only, from when it became front month (MES Sep26 → 2026-06-15 onward; earlier bars are thin back-month garbage).
Imported engine data: plain MES (or a far contract as container), any range 2019 → Jul 2026.

Expected numbers (imported engine data, no commissions)

WindowTradesExpected net
2023-08-01 → 2026-07-01~222≈ $38,200 (at $0.74/side: ≈ $30.8k–32.1k)
2026-01-01 → 2026-07-01~37≈ $13,000
2026-06-15 → 2026-07-087≈ +$718 (Jun 17 ×2 losses, Jun 25 BE, Jun 29 loss, Jun 30 + Jul 1 wins, Jul 8 BE)

Sanity fingerprints of a correct run: largest loss ≈ −$800 (the 1R cap) · a batch of $0 “even” trades (breakeven exits) · wins ≈ $1,300–1,600 (2R) · entries only 09:36–16:00 ET · flat by 15:56 · max one long + one short per day.

Verifying a run

  1. Run the backtest, open the Trades tab (per-trade grid, not Summary).
  2. Right-click inside the grid → Export → save the CSV.
  3. Send the CSV back to the Mac (trading/nt8/incoming/) for the trade-by-trade diff against the verified book.
Before any live eval: the full go-live checklist (sim-account test, LiveMode sizing inputs, re-enable rules, contract roll, early-close dates) is in trading/nt8/NT8-GUIDE.md on the Mac. Backtest numbers here use an optimistic fill model — ceilings, not live expectations. Sim ≠ live.