PROTECTED SOURCE SCRIPT
Bands PRO++ Full

//version=5
indicator('Faytterro Bands PRO++ Full', overlay=true, max_lines_count=500, max_bars_back=500)
// ==== Inputlar ====
src = input(hlc3, title='Kaynak')
len = input.int(50, title='Bant Uzunluğu', minval=10, maxval=500)
mult = input.float(2.0, minval=0.1, maxval=50, title='StdDev Çarpanı')
atrLen = input.int(14, title='ATR Uzunluğu')
emaLen = input.int(200, title='Trend EMA Uzunluğu')
// Bant Renkleri
cu = input.color(color.rgb(255,50,50), 'Üst Bant Rengi')
cl = input.color(color.rgb(50,200,50), 'Alt Bant Rengi')
// ==== Orta Hat ve Bantlar ====
basis = ta.wma(src, len)
dev = mult * ta.stdev(src, len)
atr = ta.atr(atrLen)
upper = basis + dev + atr*0.2
lower = basis - dev - atr*0.2
plot(basis, color=color.yellow, linewidth=1)
p1 = plot(upper, color=cu, linewidth=2, title='Üst Bant')
p2 = plot(lower, color=cl, linewidth=2, title='Alt Bant')
fill(p1, p2, color=color.new(color.blue,85))
// ==== Trend filtresi (EMA200) ====
emaTrend = ta.ema(close, emaLen)
isUpTrend = close > emaTrend
isDownTrend = close < emaTrend
plot(emaTrend, color=color.new(color.orange,40), linewidth=1, title='EMA Trend Çizgisi')
// ==== Arka Plan ====
bgcolor(isUpTrend ? color.new(color.green,70) : na)
bgcolor(isDownTrend ? color.new(color.red,70) : na)
// ==== Hacim filtresi ====
volAvg = ta.sma(volume, 20)
volFilter = volume > volAvg
// ==== Sinyaller ====
longCond = ta.crossover(close, lower) and isUpTrend and volFilter
shortCond = ta.crossunder(close, upper) and isDownTrend and volFilter
plotshape(longCond, title='Long', location=location.belowbar, color=color.green, style=shape.triangleup, size=size.normal, text='LONG')
plotshape(shortCond, title='Short', location=location.abovebar, color=color.red, style=shape.triangledown, size=size.normal, text='SHORT')
// ==== Alt / Üst Band Dokunuşları ====
touchLower = ta.crossover(close, lower)
plotshape(touchLower, title='Alt Band Dokunuş', style=shape.circle, color=color.new(color.green,0), size=size.tiny, location=location.belowbar)
touchUpper = ta.crossunder(close, upper)
plotshape(touchUpper, title='Üst Band Dokunuş', style=shape.circle, color=color.new(color.red,0), size=size.tiny, location=location.abovebar)
// ==== Alarm Koşulları ====
alertcondition(longCond, title='Long Sinyali', message='Faytterro Bands PRO++ Full: Long sinyali!')
alertcondition(shortCond, title='Short Sinyali', message='Faytterro Bands PRO++ Full: Short sinyali!')
alertcondition(touchLower, title='Alt Band Dokunuş', message='Faytterro Bands PRO++ Full: Alt banda dokunuldu!')
alertcondition(touchUpper, title='Üst Band Dokunuş', message='Faytterro Bands PRO++ Full: Üst banda dokunuldu!')
indicator('Faytterro Bands PRO++ Full', overlay=true, max_lines_count=500, max_bars_back=500)
// ==== Inputlar ====
src = input(hlc3, title='Kaynak')
len = input.int(50, title='Bant Uzunluğu', minval=10, maxval=500)
mult = input.float(2.0, minval=0.1, maxval=50, title='StdDev Çarpanı')
atrLen = input.int(14, title='ATR Uzunluğu')
emaLen = input.int(200, title='Trend EMA Uzunluğu')
// Bant Renkleri
cu = input.color(color.rgb(255,50,50), 'Üst Bant Rengi')
cl = input.color(color.rgb(50,200,50), 'Alt Bant Rengi')
// ==== Orta Hat ve Bantlar ====
basis = ta.wma(src, len)
dev = mult * ta.stdev(src, len)
atr = ta.atr(atrLen)
upper = basis + dev + atr*0.2
lower = basis - dev - atr*0.2
plot(basis, color=color.yellow, linewidth=1)
p1 = plot(upper, color=cu, linewidth=2, title='Üst Bant')
p2 = plot(lower, color=cl, linewidth=2, title='Alt Bant')
fill(p1, p2, color=color.new(color.blue,85))
// ==== Trend filtresi (EMA200) ====
emaTrend = ta.ema(close, emaLen)
isUpTrend = close > emaTrend
isDownTrend = close < emaTrend
plot(emaTrend, color=color.new(color.orange,40), linewidth=1, title='EMA Trend Çizgisi')
// ==== Arka Plan ====
bgcolor(isUpTrend ? color.new(color.green,70) : na)
bgcolor(isDownTrend ? color.new(color.red,70) : na)
// ==== Hacim filtresi ====
volAvg = ta.sma(volume, 20)
volFilter = volume > volAvg
// ==== Sinyaller ====
longCond = ta.crossover(close, lower) and isUpTrend and volFilter
shortCond = ta.crossunder(close, upper) and isDownTrend and volFilter
plotshape(longCond, title='Long', location=location.belowbar, color=color.green, style=shape.triangleup, size=size.normal, text='LONG')
plotshape(shortCond, title='Short', location=location.abovebar, color=color.red, style=shape.triangledown, size=size.normal, text='SHORT')
// ==== Alt / Üst Band Dokunuşları ====
touchLower = ta.crossover(close, lower)
plotshape(touchLower, title='Alt Band Dokunuş', style=shape.circle, color=color.new(color.green,0), size=size.tiny, location=location.belowbar)
touchUpper = ta.crossunder(close, upper)
plotshape(touchUpper, title='Üst Band Dokunuş', style=shape.circle, color=color.new(color.red,0), size=size.tiny, location=location.abovebar)
// ==== Alarm Koşulları ====
alertcondition(longCond, title='Long Sinyali', message='Faytterro Bands PRO++ Full: Long sinyali!')
alertcondition(shortCond, title='Short Sinyali', message='Faytterro Bands PRO++ Full: Short sinyali!')
alertcondition(touchLower, title='Alt Band Dokunuş', message='Faytterro Bands PRO++ Full: Alt banda dokunuldu!')
alertcondition(touchUpper, title='Üst Band Dokunuş', message='Faytterro Bands PRO++ Full: Üst banda dokunuldu!')
Mã được bảo vệ
Tập lệnh này được đăng dưới dạng mã nguồn đóng. Tuy nhiên, bạn có thể tự do sử dụng tập lệnh mà không có bất kỳ hạn chế nào – tìm hiểu thêm tại đây.
Thông báo miễn trừ trách nhiệm
Thông tin và ấn phẩm không có nghĩa là và không cấu thành, tài chính, đầu tư, kinh doanh, hoặc các loại lời khuyên hoặc khuyến nghị khác được cung cấp hoặc xác nhận bởi TradingView. Đọc thêm trong Điều khoản sử dụng.
Mã được bảo vệ
Tập lệnh này được đăng dưới dạng mã nguồn đóng. Tuy nhiên, bạn có thể tự do sử dụng tập lệnh mà không có bất kỳ hạn chế nào – tìm hiểu thêm tại đây.
Thông báo miễn trừ trách nhiệm
Thông tin và ấn phẩm không có nghĩa là và không cấu thành, tài chính, đầu tư, kinh doanh, hoặc các loại lời khuyên hoặc khuyến nghị khác được cung cấp hoặc xác nhận bởi TradingView. Đọc thêm trong Điều khoản sử dụng.