- Removed 6 unused metrics: ATR, RSI, volumeRatio, pricePosition, maGap, volume - Systems only use: currentPrice (Smart Validation Queue) + ADX (adaptive trailing + revenge) - Result: 75% smaller webhook payload (may fix 5-min signal skipping issue) - Backward compatible: n8n parser handles missing fields gracefully - Testing: Upload to TradingView and monitor if 5-min signals process normally
36 lines
1.8 KiB
Plaintext
36 lines
1.8 KiB
Plaintext
//@version=6
|
|
indicator("Money Line - 1min Data Feed (OPTIMIZED)", overlay=false)
|
|
|
|
// ==========================================
|
|
// PURPOSE: Send ONLY essential market data every 1 minute (price + ADX)
|
|
// OPTIMIZED (Dec 4, 2025): Reduced from 8 metrics to 2 metrics (75% smaller payload)
|
|
//
|
|
// WHY: Systems only use currentPrice and ADX from 1-minute data:
|
|
// - Price: Smart Validation Queue price confirmation
|
|
// - ADX: Adaptive trailing stop (Phase 7.3) + Revenge system validation
|
|
// - Removed: ATR, RSI, volumeRatio, pricePosition, maGap, volume (NOT used)
|
|
//
|
|
// USAGE: Create alert on indicator with "alert() function calls"
|
|
// WEBHOOK: https://flow.egonetix.de/webhook/tradingview-bot-v4 (SAME as trading signals)
|
|
// FORMAT: Uses trading signal format with timeframe="1" (gets filtered like 15min/1H/Daily)
|
|
// ==========================================
|
|
|
|
// Calculate ONLY what we actually use
|
|
[diPlus, diMinus, adx] = ta.dmi(14, 14) // ADX for adaptive trailing + revenge validation
|
|
|
|
// Display ADX (visual confirmation)
|
|
plot(adx, "ADX", color=color.blue, linewidth=2)
|
|
plot(close, "Price", color=color.white, linewidth=1)
|
|
hline(20, "ADX 20", color=color.gray, linestyle=hline.style_dashed)
|
|
hline(25, "ADX 25", color=color.orange, linestyle=hline.style_dashed)
|
|
|
|
// Build OPTIMIZED message - ONLY price + ADX (75% smaller than old format)
|
|
// Direction doesn't matter - bot filters by timeframe before executing
|
|
// This follows same pattern as 15min/1H/Daily data collection
|
|
// CRITICAL: Include @ price format so n8n parser extracts signalPrice correctly
|
|
jsonMessage = 'SOLUSDT buy 1 @ ' + str.tostring(close) + ' | ADX:' + str.tostring(adx) + ' | IND:v9'
|
|
|
|
// Send alert every bar close (every 1 minute on 1min chart)
|
|
if barstate.isconfirmed
|
|
alert(jsonMessage, alert.freq_once_per_bar)
|