- Upgraded to @version=6 (v5 outdated) - Fixed ADX: ta.dmi() returns tuple [diPlus, diMinus, adx] - must destructure - Fixed alertMessage: Added 'var string' declaration for proper scoping - Now compiles without errors Errors fixed: - Line 1: Version 5 outdated → v6 - Line 6: ADX tuple assignment → [diPlus, diMinus, adx] = ta.dmi(14, 14) - Line 12: plot() argument type → adx now properly extracted from tuple - Line 16: String concatenation → var string declaration added
41 lines
1.7 KiB
Plaintext
41 lines
1.7 KiB
Plaintext
//@version=6
|
|
indicator("Money Line - 1min Data Feed", overlay=false)
|
|
|
|
// ==========================================
|
|
// PURPOSE: Send market data every 1 minute
|
|
// USAGE: Create alert with "Once Per Bar Close"
|
|
// WEBHOOK: https://flow.egonetix.de/webhook/tradingview-bot-v4
|
|
// ==========================================
|
|
|
|
// Calculate indicators (same as v9 for consistency)
|
|
atr = ta.atr(14)
|
|
[diPlus, diMinus, adx] = ta.dmi(14, 14) // ADX returns tuple in Pine v5+
|
|
rsi = ta.rsi(close, 14)
|
|
volumeRatio = volume / ta.sma(volume, 20)
|
|
pricePosition = (close - ta.lowest(low, 100)) / (ta.highest(high, 100) - ta.lowest(low, 100)) * 100
|
|
|
|
// Moving averages for MA gap analysis
|
|
ma50 = ta.sma(close, 50)
|
|
ma200 = ta.sma(close, 200)
|
|
maGap = math.abs((ma50 - ma200) / ma200 * 100)
|
|
|
|
// Display values (optional - for visual confirmation)
|
|
plot(adx, "ADX", color=color.blue, linewidth=2)
|
|
hline(20, "ADX 20", color=color.gray, linestyle=hline.style_dashed)
|
|
hline(25, "ADX 25", color=color.orange, linestyle=hline.style_dashed)
|
|
|
|
// Alert message - JSON format
|
|
// Note: Use action "market_data_1min" to distinguish from trend-change alerts
|
|
var string alertMessage = '{"action":"market_data_1min","symbol":"' + syminfo.ticker +
|
|
'","timeframe":"1","atr":' + str.tostring(atr) +
|
|
',"adx":' + str.tostring(adx) +
|
|
',"rsi":' + str.tostring(rsi) +
|
|
',"volumeRatio":' + str.tostring(volumeRatio) +
|
|
',"pricePosition":' + str.tostring(pricePosition) +
|
|
',"currentPrice":' + str.tostring(close) +
|
|
',"maGap":' + str.tostring(maGap) +
|
|
',"indicatorVersion":"v9"}'
|
|
|
|
// Alert condition: Every bar close (fires every 1 minute on 1-min chart)
|
|
alertcondition(true, title="1min Data Feed", message=alertMessage)
|