Files
trade-kuns/CLAUDE.md
Claude 021049b259 feat: GridBot als zweite Paper-Engine — No-Stop-XRP-Grid live
processGridCycle (Paritätstest gegen runGridBacktest), GridEngine mit
DB-Recovery (grid_state/grid_lots, bot_state id=2), bot-Spalte in
paper_trades/equity_snapshots, /api/grid, Dashboard-Panel.
Bewusster Paper-Probelauf trotz Gate-Fail (User-Entscheidung 2026-06-10).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 07:29:42 +00:00

1.8 KiB
Raw Blame History

trade-kuns

Zwei Paper-Engines in einem Prozess (paper-only — keine Order-Ausführung):

  1. Trend-Bot (BTC/ETH/SOL/XRP_USDT): Donchian-20-Breakout auf 4h, EMA-200 + ADX-20-Filter, Chandelier-Trailing-Stop (3×ATR), long-only, fixe Parameter. State: bot_state id=1.
  2. GridBot (nur XRP): No-Stop-ATR-Grid — 8 Levels, Spacing 3×ATR(4h), nie Verlust-Verkäufe, verlustfreies Re-Center bei leerem Grid außerhalb der Range. State: bot_state id=2, grid_state/grid_lots. Spec/Validierung: docs/walkforward-grid-2026-06-10.md.

Stack & Befehle

  • Bun 1.3 + TypeScript, Drizzle (Postgres), Zod. Tests collocated (*.test.ts).
  • bun test · bun run start (Migration + Server) · bun run backfill · bun run walkforward --fixed · bun run db:generate / db:migrate
  • Env: DATABASE_URL (lokal: localhost:54320/tradekuns, siehe .env), PORT (default 8080)

Architektur

  • Ein Code-Pfad: live/process-cycle.ts (Live) und backtest/runner.ts (Backtest) nutzen dieselben puren Funktionen (strategy/, engine/, indicators/) mit identischer Semantik — Paritätstest in process-cycle.test.ts erzwingt das. Änderungen an Entry/Exit/Sizing immer in den geteilten Modulen, nie in Runner oder Live-Loop einzeln.
  • Live-State lebt in der DB (bot_state.cursor_ts = letzte verarbeitete 15m-Candle); der 5-min-Loop ist cursor-idempotent, Restart-Recovery gratis.
  • Specs: docs/specs/ · Walk-Forward-Ergebnisse: docs/walkforward-ergebnisse-2026-06-09.md (Gate nicht bestanden → bewusster Paper-Probelauf, User-Entscheidung 2026-06-10)

Deployment

  • https://trading.kuns.dev (Alias: trade.kuns.dev) · Coolify-App-UUID j7xbvfezctcxmeuon6gh6v5z · Port 8080
  • Redeploy: redeploy j7xbvfezctcxmeuon6gh6v5z "msg"
  • DB im Container: l8kogcggsc80sgcgk8kswww4:5432 (shared-postgres über Coolify-Netz; connect_to_docker_network=true)