Phase 1: Add MAE/MFE tracking and analytics schema
- Added 20+ analytics fields to Trade model (MAE/MFE, fill tracking, timing, market context, slippage) - Implemented real-time MAE/MFE tracking in Position Manager (updates every 5s) - Enhanced database schema with comprehensive trade analytics - Updated all API endpoints to initialize MAE/MFE fields - Modified updateTradeState() to persist MAE/MFE in configSnapshot Database changes: - maxFavorableExcursion/maxAdverseExcursion track best/worst profit % - maxFavorablePrice/maxAdversePrice track exact price levels - Fill tracking: tp1Filled, tp2Filled, softSlFilled, hardSlFilled - Timing metrics: timeToTp1, timeToTp2, timeToSl - Market context: atrAtEntry, adxAtEntry, volumeAtEntry, fundingRateAtEntry, basisAtEntry - Slippage tracking: expectedEntryPrice, entrySlippagePct, expectedExitPrice, exitSlippagePct Position Manager changes: - Track MAE/MFE on every price check (2s interval) - Throttled database updates (5s interval) via updateTradeMetrics() - Persist MAE/MFE in trade state snapshots for recovery Next: Phase 2 (market context capture) or Phase 3 (analytics API)
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "Trade" ADD COLUMN "adxAtEntry" DOUBLE PRECISION,
|
||||
ADD COLUMN "atrAtEntry" DOUBLE PRECISION,
|
||||
ADD COLUMN "basisAtEntry" DOUBLE PRECISION,
|
||||
ADD COLUMN "entrySlippagePct" DOUBLE PRECISION,
|
||||
ADD COLUMN "exitSlippagePct" DOUBLE PRECISION,
|
||||
ADD COLUMN "expectedEntryPrice" DOUBLE PRECISION,
|
||||
ADD COLUMN "expectedExitPrice" DOUBLE PRECISION,
|
||||
ADD COLUMN "fundingRateAtEntry" DOUBLE PRECISION,
|
||||
ADD COLUMN "hardSlFilled" BOOLEAN NOT NULL DEFAULT false,
|
||||
ADD COLUMN "maxAdverseExcursion" DOUBLE PRECISION,
|
||||
ADD COLUMN "maxAdversePrice" DOUBLE PRECISION,
|
||||
ADD COLUMN "maxFavorableExcursion" DOUBLE PRECISION,
|
||||
ADD COLUMN "maxFavorablePrice" DOUBLE PRECISION,
|
||||
ADD COLUMN "slFillPrice" DOUBLE PRECISION,
|
||||
ADD COLUMN "softSlFilled" BOOLEAN NOT NULL DEFAULT false,
|
||||
ADD COLUMN "timeToSl" INTEGER,
|
||||
ADD COLUMN "timeToTp1" INTEGER,
|
||||
ADD COLUMN "timeToTp2" INTEGER,
|
||||
ADD COLUMN "tp1FillPrice" DOUBLE PRECISION,
|
||||
ADD COLUMN "tp1Filled" BOOLEAN NOT NULL DEFAULT false,
|
||||
ADD COLUMN "tp2FillPrice" DOUBLE PRECISION,
|
||||
ADD COLUMN "tp2Filled" BOOLEAN NOT NULL DEFAULT false,
|
||||
ADD COLUMN "volumeAtEntry" DOUBLE PRECISION;
|
||||
Reference in New Issue
Block a user