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); +}