From a9ed8149607646844079391d14cd4975653cb21b Mon Sep 17 00:00:00 2001 From: mindesbunister Date: Fri, 14 Nov 2025 22:58:01 +0100 Subject: [PATCH] docs: Update copilot-instructions with manual trade filtering - Added signalSource field documentation - Emphasized CRITICAL exclusion from TradingView indicator analysis - Reference to MANUAL_TRADE_FILTERING.md for SQL queries - Manual Trading via Telegram section updated with contamination warning --- .github/copilot-instructions.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index a9a4654..eeeb844 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -63,7 +63,7 @@ **MAE/MFE Tracking:** Every trade tracks Maximum Favorable Excursion (best profit %) and Maximum Adverse Excursion (worst loss %) updated every 2s. Used for data-driven optimization of TP/SL levels. -**Manual Trading via Telegram:** Send plain-text messages like `long sol`, `short eth`, `long btc` to open positions instantly (bypasses n8n, calls `/api/trading/execute` directly with preset healthy metrics). +**Manual Trading via Telegram:** Send plain-text messages like `long sol`, `short eth`, `long btc` to open positions instantly (bypasses n8n, calls `/api/trading/execute` directly with preset healthy metrics). **CRITICAL:** Manual trades are marked with `signalSource='manual'` and excluded from TradingView indicator analysis (prevents data contamination). **Re-Entry Analytics System:** Manual trades are validated before execution using fresh TradingView data: - Market data cached from TradingView signals (5min expiry) @@ -630,6 +630,10 @@ Without this, order cancellations fail silently during TP1→breakeven order upd - `getBlockedSignalsForAnalysis()` - Fetch signals needing price analysis (future automation) **Important fields:** +- `signalSource` (String?) - Identifies trade origin: 'tradingview', 'manual', or NULL (old trades) + - **CRITICAL:** Manual Telegram trades are marked `signalSource='manual'` and excluded from TradingView indicator analysis + - Use filter: `WHERE ("signalSource" IS NULL OR "signalSource" != 'manual')` for indicator optimization queries + - See `docs/MANUAL_TRADE_FILTERING.md` for complete SQL filtering guide - `signalQualityScore` (Int?) - 0-100 score for data-driven optimization - `signalQualityVersion` (String?) - Tracks which scoring logic was used ('v1', 'v2', 'v3', 'v4') - v1: Original logic (price position < 5% threshold)