From 22c84187b2389ccc9469de79eec24d9bb23a8b1b Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 12 Jun 2026 08:39:20 +0000 Subject: [PATCH] feat: Trump-Backtest-Wrapper (gleicher Code-Pfad wie Live) Co-Authored-By: Claude Fable 5 --- src/server/backtest/trump.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/server/backtest/trump.ts diff --git a/src/server/backtest/trump.ts b/src/server/backtest/trump.ts new file mode 100644 index 0000000..292d5cd --- /dev/null +++ b/src/server/backtest/trump.ts @@ -0,0 +1,14 @@ +import type { Candle, Pair } from '../types'; +import { processTrumpCycle, type TrumpCycleConfig, type TrumpCycleResult, type TrumpEventInput } from '../live/trump-cycle'; + +/** Backtest = ein Cycle-Lauf von frischem State. Gleicher Code-Pfad wie Live (Spec ยง5). */ +export function runTrumpBacktest( + candles15ByPair: Map, + events: TrumpEventInput[], + startCapital: number, + cfg: TrumpCycleConfig, +): TrumpCycleResult { + let minTs = Infinity; + for (const cs of candles15ByPair.values()) if (cs.length > 0) minTs = Math.min(minTs, cs[0].ts); + return processTrumpCycle(candles15ByPair, events, { cash: startCapital, positions: [], cursorTs: minTs - 1 }, cfg); +}