Quantum Sniper

//version=5
indicator('Quantum Sniper', overlay=true) // 1. INDICATOR NAME CHANGED TO "Quantum Sniper"
// -----------------------------------------------------------------------------
// 2. SECURITY HARDCODING (Inputs Removed or Fixed)
// -----------------------------------------------------------------------------
var ok = 0
var countBuy = 0
var countSell = 0
// src = input(close, title='OHLC Type') // REMOVED INPUT
src = close // FIXED: Assume close price
// --- EMA Lengths Hardcoded (Change these numbers to your secret settings!)
l_fastEMA = 14 // ⚠️ Change THIS to your Fast EMA length (e.g., 18)
l_slowEMA = 15 // ⚠️ Change THIS to your Slow EMA length (e.g., 35)
l_defEMA = 16 // ⚠️ Change THIS to your Consolidated EMA length
// Allow the option to show single or double EMA
// i_bothEMAs = input(title='Show Both EMAs', defval=true) // REMOVED INPUT
i_bothEMAs = true // FIXED: Always show both EMAs
// Define EMAs
v_fastEMA = ta.ema(src, l_fastEMA)
v_slowEMA = ta.ema(src, l_slowEMA)
v_biasEMA = ta.ema(src, l_defEMA)
// Color the EMAs
emaColor = v_fastEMA > v_slowEMA ? color.green : v_fastEMA < v_slowEMA ? color.red : #FF530D
// Plot EMAs
plot(i_bothEMAs ? na : v_biasEMA, color=emaColor, linewidth=3, title='Consolidated EMA')
plot(i_bothEMAs ? v_fastEMA : na, title='Fast EMA', color=emaColor)
plot(i_bothEMAs ? v_slowEMA : na, title='Slow EMA', color=emaColor)
// Colour the bars
buy = v_fastEMA > v_slowEMA
sell = v_fastEMA < v_slowEMA
if buy
countBuy += 1
countBuy
if buy
countSell := 0
countSell
if sell
countSell += 1
countSell
if sell
countBuy := 0
countBuy
buysignal = countBuy < 2 and countBuy > 0 and countSell < 1 and buy and not buy[1]
sellsignal = countSell > 0 and countSell < 2 and countBuy < 1 and sell and not sell[1]
barcolor(buysignal ? color.green : na)
barcolor(sellsignal ? color.red : na)
// -----------------------------------------------------------------------------
// 3. PLOT SIGNALS CHANGED TO "Long" and "Short"
// -----------------------------------------------------------------------------
plotshape(buysignal, title='Long', text='Long', style=shape.triangleup, location=location.belowbar, color=color.new(color.green, 0), textcolor=color.new(color.black, 0), size=size.tiny)
plotshape(sellsignal, title='Short', text='Short', style=shape.triangledown, location=location.abovebar, color=color.new(color.red, 0), textcolor=color.new(color.black, 0), size=size.tiny)
bull = countBuy > 1
bear = countSell > 1
barcolor(bull ? color.green : na)
barcolor(bear ? color.red : na)
// Set Alerts
alertcondition(ta.crossover(v_fastEMA, v_slowEMA), title='Bullish EMA Cross', message='Bullish EMA crossover')
alertcondition(ta.crossunder(v_fastEMA, v_slowEMA), title='Bearish EMA Cross', message='Bearish EMA Crossover')
// -----------------------------------------------------------------------------
// 4. STOCH RSI Hardcoding
// -----------------------------------------------------------------------------
// Note: All Stochastic/RSI inputs below are now hardcoded to common values (e.g., 3, 14).
// If you use custom StochRSI inputs, you must change these numbers as well.
smoothK = 3 // Hardcoded
smoothD = 3 // Hardcoded
lengthRSI = 14 // Hardcoded
lengthStoch = 14 // Hardcoded
rsi1 = ta.rsi(src, lengthRSI)
k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = ta.sma(k, smoothD)
bandno0 = 80 // Hardcoded
bandno2 = 50 // Hardcoded
bandno1 = 20 // Hardcoded
// Alerts
// Crossover Alert Toggles Hardcoded to their default values (false)
crossoverAlertBgColourMidOnOff = false
crossoverAlertBgColourOBOSOnOff = false
crossoverAlertBgColourGreaterThanOnOff = false
crossoverAlertBgColourLessThanOnOff = false
// Moving Average Inputs Hardcoded
maTypeChoice = 'EMA' // Hardcoded
maSrc = close // Hardcoded
maLen = 200 // Hardcoded
maValue = if maTypeChoice == 'EMA'
ta.ema(maSrc, maLen)
else if maTypeChoice == 'WMA'
ta.wma(maSrc, maLen)
else if maTypeChoice == 'SMA'
ta.sma(maSrc, maLen)
else
0
crossupCHECK = maTypeChoice == 'None' or open > maValue and maTypeChoice != 'None'
crossdownCHECK = maTypeChoice == 'None' or open < maValue and maTypeChoice != 'None'
crossupalert = crossupCHECK and ta.crossover(k, d) and (k < bandno2 or d < bandno2)
crossdownalert = crossdownCHECK and ta.crossunder(k, d) and (k > bandno2 or d > bandno2)
crossupOSalert = crossupCHECK and ta.crossover(k, d) and (k < bandno1 or d < bandno1)
crossdownOBalert = crossdownCHECK and ta.crossunder(k, d) and (k > bandno0 or d > bandno0)
aboveBandalert = ta.crossunder(k, bandno0)
belowBandalert = ta.crossover(k, bandno1)
bgcolor(color=crossupalert and crossoverAlertBgColourMidOnOff ? #4CAF50 : crossdownalert and crossoverAlertBgColourMidOnOff ? #FF0000 : na, title='Crossover Alert Background Colour (Middle Level)', transp=70)
bgcolor(color=crossupOSalert and crossoverAlertBgColourOBOSOnOff ? #fbc02d : crossdownOBalert and crossoverAlertBgColourOBOSOnOff ? #000000 : na, title='Crossover Alert Background Colour (OB/OS Level)', transp=70)
bgcolor(color=aboveBandalert and crossoverAlertBgColourGreaterThanOnOff ? #ff0014 : crossdownalert and crossoverAlertBgColourMidOnOff ? #FF0000 : na, title='Crossover Alert - K > Upper level', transp=70)
bgcolor(color=belowBandalert and crossoverAlertBgColourLessThanOnOff ? #4CAF50 : crossdownalert and crossoverAlertBgColourMidOnOff ? #FF0000 : na, title='Crossover Alert - K < Lower level', transp=70)
alertcondition(crossupalert or crossdownalert, title='Stoch RSI Crossover', message='STOCH RSI CROSSOVER')
Skrip jemputan sahaja
Hanya pengguna disahkan oleh penulis boleh mengakses skrip ini. Anda perlu memohon dan mendapatkan kebenaran untuk menggunakannya. Keizinan selalunya diberikan selepas pembayaran. Untuk lebih butiran, ikuti arahan penulis di bawah atau hubungi s6-mxoato8wje3 secara terus.
TradingView TIDAK menyarankan pembayaran atau penggunaan skrip kecuali anda mempercayai sepenuhnya penulis dan memahami bagaimana ia berfungsi. Anda juga boleh menjumpai alternatif sumber terbuka dan percuma yang lain di dalam skrip komuniti kami.
Arahan penulis
Penafian
Skrip jemputan sahaja
Hanya pengguna disahkan oleh penulis boleh mengakses skrip ini. Anda perlu memohon dan mendapatkan kebenaran untuk menggunakannya. Keizinan selalunya diberikan selepas pembayaran. Untuk lebih butiran, ikuti arahan penulis di bawah atau hubungi s6-mxoato8wje3 secara terus.
TradingView TIDAK menyarankan pembayaran atau penggunaan skrip kecuali anda mempercayai sepenuhnya penulis dan memahami bagaimana ia berfungsi. Anda juga boleh menjumpai alternatif sumber terbuka dan percuma yang lain di dalam skrip komuniti kami.