CCI Tarama (İstek üzerine)

Başlatan CryptoCoderr, 03 Haziran 2023, 10:51:13

« önceki - sonraki »

CryptoCoderr

1.png
Beni takip eden ve pine script ile uğraşan bir dostumuz CCI indikatörü için bir tarayıcı yapmak istemiş ve bir hata almış benden yardım istedi ve içerisinde 5 pariteye kadar olan bir tarama eklentisi yaptım bu tarama 40 pariteye kadar çoğaltılabilir aslında sınırlaması 40 requesttir parite de sınır yok veri çekmede sınır var 2 farklı timeframe den veri çekerseniz 20 pariteyi tarayabilen bir aracınız olur.

2.png
CCI Tarayıcızının Ekran Görüntüsü yukarıdaki gibidir. Kodlarını da aşağıya ekliyorum içerisinde açıklamalar var incelediğinizde nasıl yapılacağını anlayabilirsiniz.

//@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)
//}
Daha iyisi için sürekli çalışıyoruz ...

Destek Olmak için Tıklayın

kapon

 emeğine sağlık hocam bide Accumulation bölgelerini gösteren bir gösterge olsa cok faydalı olur bence..

CryptoCoderr

Neler yapabileceğime bi bakarim belirli tanımları kuralları var bildiğim kadarı ile biraz araştırmak lazım ne arayacağımızı bilince gerisi kolay 👍
Daha iyisi için sürekli çalışıyoruz ...

Destek Olmak için Tıklayın