//@version=5
indicator('CCI tarama', overlay=true, format=format.price, precision=2)
// inputlar{
length = input.int(20, minval=1)
src = input(hlc3, title="Source")
band1 = 100
band0 = -100
period1 = input.timeframe('60',"Period 1", options = ["240","120","60","30","D"], group = "ZAMAN")
period2 = input.timeframe('120',"Period 2", options = ["240","120","60","30","D"], group = "ZAMAN")
koin1 = input.symbol("BTCUSDT","Koin - 1", group = "KOINLER")
koin2 = input.symbol("SOLUSDT","Koin - 2", group = "KOINLER")
koin3 = input.symbol("XRPUSDT","Koin - 3", group = "KOINLER")
koin4 = input.symbol("ETHUSDT","Koin - 4", group = "KOINLER")
koin5 = input.symbol("AVAXUSDT","Koin - 5", group = "KOINLER")
//}
// inputlar dışındaki hesaplama kodlarını fonksiyon olarak yazmalıyız{
f_cci(src,length,koinAdi,zaman,band1) =>
ma = ta.sma(src, length)
cci = (src - ma) / (0.015 * ta.dev(src, length))
request.security(koinAdi,zaman,ta.crossover(cci,band1)) // Fonksiyonun son satırında dönen veri fonksiyonun çıktısı olur
//}
// Fonksiyonu çalıştırdık {
veriBTC = f_cci(src,length,koin1,period1,band1)
veriSOL = f_cci(src,length,koin2,period1,band1)
veriXRP = f_cci(src,length,koin3,period1,band1)
veriETH = f_cci(src,length,koin4,period1,band1)
veriAVAX = f_cci(src,length,koin5,period1,band1)
//}
// uygun şart sağlanırsa ve her şarta tek tek alarm kurulmuş ise bildirim verecek {
alertcondition(veriBTC,"ALARM BTC")
alertcondition(veriBTC,"ALARM SOL")
alertcondition(veriBTC,"ALARM XRP")
alertcondition(veriBTC,"ALARM ETH")
alertcondition(veriBTC,"ALARM AVAX")
//}
// Ben olsam alert kullanırdım alertcondition için tek tek bir sürü alarm gerekir tek alarm ile tüm bildirimleri alabilirsin {
if veriBTC
alert("ALARM BTC", alert.freq_once_per_bar_close)
if veriSOL
alert("ALARM SOL", alert.freq_once_per_bar_close)
if veriXRP
alert("ALARM XRP", alert.freq_once_per_bar_close)
if veriETH
alert("ALARM ETH", alert.freq_once_per_bar_close)
if veriAVAX
alert("ALARM AVAX", alert.freq_once_per_bar_close)
//}
// Toblo oluştur {
var tablo1 = table.new(position = position.top_right,columns = 3, rows = 6, bgcolor = color.gray, frame_color = color.gray, border_color = color.gray, border_width = 4)
table.cell(tablo1,0,0,"KOIN ADI",text_color = color.white, bgcolor = color.aqua)
zamanText = period1 =="D" ? " Gün" : " Dk."
sureText = period1 == "D" ? "1" : period1
zamanText2 = period2 =="D" ? " Gün" : " Dk."
sureText2 = period2 == "D" ? "1" : period2
table.cell(tablo1,1,0,"ST AL " + sureText +zamanText,text_color = color.white, bgcolor = color.green)
table.cell(tablo1,2,0,"ST AL " + sureText2 +zamanText2,text_color = color.white, bgcolor = color.green)
koinleriTabloyaEkle(koinAdi,zaman,zaman2,sira)=>
veri = f_cci(src,length,koinAdi,zaman,band1)
satirText = veri ? "AL" : "X"
veri2 = f_cci(src,length,koinAdi,zaman2,band1)
satirText2 = veri2 ? "AL" : "X"
isim = syminfo.ticker(koinAdi)
table.cell(tablo1,0,sira, bgcolor = color.black, text = isim, text_color = color.white)
table.cell(tablo1,1,sira,bgcolor = color.black, text = satirText , text_color = color.white)
table.cell(tablo1,2,sira,bgcolor = color.black, text = satirText2 , text_color = color.white)
koinleriTabloyaEkle(koin1,period1,period2,1)
koinleriTabloyaEkle(koin2,period1,period2,2)
koinleriTabloyaEkle(koin3,period1,period2,3)
koinleriTabloyaEkle(koin4,period1,period2,4)
koinleriTabloyaEkle(koin5,period1,period2,5)
//}