feat: Add signalSource field to identify manual vs TradingView trades
- Set signalSource='manual' for Telegram trades, 'tradingview' for TradingView - Updated analytics queries to exclude manual trades from indicator analysis - getTradingStats() filters manual trades (TradingView performance only) - Version comparison endpoint filters manual trades - Created comprehensive filtering guide: docs/MANUAL_TRADE_FILTERING.md - Ensures clean data for indicator optimization without contamination
This commit is contained in:
@@ -56,6 +56,7 @@ export async function GET() {
|
||||
WHERE "exitReason" IS NOT NULL
|
||||
AND "exitReason" NOT LIKE '%CLEANUP%'
|
||||
AND "isTestTrade" = false
|
||||
AND ("signalSource" IS NULL OR "signalSource" != 'manual')
|
||||
GROUP BY "indicatorVersion"
|
||||
ORDER BY version DESC
|
||||
`
|
||||
@@ -78,6 +79,7 @@ export async function GET() {
|
||||
WHERE "exitReason" IS NOT NULL
|
||||
AND "exitReason" NOT LIKE '%CLEANUP%'
|
||||
AND "isTestTrade" = false
|
||||
AND ("signalSource" IS NULL OR "signalSource" != 'manual')
|
||||
AND "pricePositionAtEntry" < 15
|
||||
GROUP BY "indicatorVersion"
|
||||
ORDER BY version DESC
|
||||
|
||||
@@ -650,6 +650,7 @@ export async function POST(request: NextRequest): Promise<NextResponse<ExecuteTr
|
||||
hardStopOrderTx: config.useDualStops ? exitOrderSignatures[3] : undefined,
|
||||
softStopPrice,
|
||||
hardStopPrice,
|
||||
signalSource: body.timeframe === 'manual' ? 'manual' : 'tradingview', // Identify manual Telegram trades
|
||||
signalStrength: body.signalStrength,
|
||||
timeframe: body.timeframe,
|
||||
// Context metrics from TradingView
|
||||
|
||||
Reference in New Issue
Block a user