SEBZECI v1.0 - Taze Taze EMAs!
//@version=6 indicator("🥗 SEBZECI v1.0 - Taze Taze EMAs!", overlay=true) // =================== SABIT DEĞERLER =================== var GRUP_KEK = "EMA Ayarları" var GRUP_LOL = "Stil Ayarları" var GRUP_BRUH = "Etiket Ayarları" var PERIYOT_MINIK = 34 var PERIYOT_KOCAMAN = 55 // =================== GIRIS PARAMETRELERI =================== // EMA Ayarları patatesGoster = input.bool(false, "34 Periyot EMA Göster", group=GRUP_KEK) domatesGoster = input.bool(false, "55 Periyot EMA Göster", group=GRUP_KEK) salatalikUzat = input.bool(true, "Çizgi Uzatmayı Göster", group=GRUP_KEK) havucGoster = input.bool(false, "Önceki Çizgiyi Göster", group=GRUP_KEK) // Stil Ayarları cizgiTipi = input.string("solid", "Çizgi Tipi", options=["solid", "dotted", "dashed"], group=GRUP_LOL) kalinlik = input.int(2, "Çizgi Kalınlığı", minval=1, maxval=4, group=GRUP_LOL) eskiKalinlik = input.int(1, "Geçmiş Çizgi Kalınlığı", minval=1, maxval=4, group=GRUP_LOL) patatesRenk = input.color(color.blue, "34 EMA Renk", group=GRUP_LOL) domatesRenk = input.color(color.green, "55 EMA Renk", group=GRUP_LOL) // Etiket Ayarları etiketKonum = input.string("left", "Etiket Yönü", options=["left", "center", "right"], group=GRUP_BRUH) etiketPozisyon = input.string("son", "Etiket Pozisyonu", options=["baş", "orta", "son"], group=GRUP_BRUH) etiketBoyut = input.string("normal", "Yazı Boyutu", options=["tiny", "small", "normal", "large", "huge"], group=GRUP_BRUH) patatesYazi = input.color(color.white, "34 EMA Yazı Rengi", group=GRUP_BRUH) domatesYazi = input.color(color.white, "55 EMA Yazı Rengi", group=GRUP_BRUH) // Zaman Ayarları zamanDilimi = input.timeframe(defval='', title='PERİYOT', group="Tarama yapmak istediğiniz periyotu seçin") // =================== YARDIMCI FONKSIYONLAR =================== cizgiStiliAl(tip) => switch tip "solid" => line.style_solid "dotted" => line.style_dotted "dashed" => line.style_dashed etiketStiliAl(konum) => switch konum "left" => label.style_label_left "center" => label.style_label_center "right" => label.style_label_right etiketBoyutuAl(boyut) => switch boyut "tiny" => size.tiny "small" => size.small "normal" => size.normal "large" => size.large "huge" => size.huge etiketOfsetiAl(pozisyon) => switch pozisyon "baş" => 0 "orta" => 3 "son" => 6 // =================== HESAPLAMALAR =================== // Zaman seçimi secilen_zaman = zamanDilimi == "" ? timeframe.period : zamanDilimi // Verileri al [_, lahmacunFiyat] = request.security(syminfo.tickerid, secilen_zaman, [close, close]) [_, pideFiyat] = request.security("BIST:XU100", secilen_zaman, [close, close]) // Göreceli güç hesaplama gucumKuvvetim = lahmacunFiyat / pideFiyat // EMA hesaplamaları patatesEMA = ta.ema(gucumKuvvetim, PERIYOT_MINIK) domatesEMA = ta.ema(gucumKuvvetim, PERIYOT_KOCAMAN) // Fiyat ayarlı EMA'lar patatesEMA_Fiyat = patatesEMA * pideFiyat domatesEMA_Fiyat = domatesEMA * pideFiyat // =================== CIZIMLER =================== // Eski çizgiler plot(patatesGoster and havucGoster ? patatesEMA_Fiyat : na, color=color.new(patatesRenk, 70), linewidth=eskiKalinlik, title="34 EMA Geçmiş") plot(domatesGoster and havucGoster ? domatesEMA_Fiyat : na, color=color.new(domatesRenk, 70), linewidth=eskiKalinlik, title="55 EMA Geçmiş") // Yeni çizgiler ve etiketler var line patatesCizgi = na var line domatesCizgi = na var label patatesEtiket = na var label domatesEtiket = na if patatesGoster line.delete(patatesCizgi) label.delete(patatesEtiket) if salatalikUzat patatesCizgi := line.new(bar_index, patatesEMA_Fiyat, bar_index + 6, patatesEMA_Fiyat, color=patatesRenk, width=kalinlik, style=cizgiStiliAl(cizgiTipi)) else patatesCizgi := line.new(bar_index - 1, patatesEMA_Fiyat[1], bar_index, patatesEMA_Fiyat, color=patatesRenk, width=kalinlik, style=cizgiStiliAl(cizgiTipi)) etiketOfset = salatalikUzat ? etiketOfsetiAl(etiketPozisyon) : 0 patatesEtiket := label.new(bar_index + etiketOfset, patatesEMA_Fiyat, text="34 EMA: " + str.tostring(patatesEMA_Fiyat, "#.##"), color=patatesRenk, textcolor=patatesYazi, style=etiketStiliAl(etiketKonum), size=etiketBoyutuAl(etiketBoyut)) if domatesGoster line.delete(domatesCizgi) label.delete(domatesEtiket) if salatalikUzat domatesCizgi := line.new(bar_index, domatesEMA_Fiyat, bar_index + 6, domatesEMA_Fiyat, color=domatesRenk, width=kalinlik, style=cizgiStiliAl(cizgiTipi)) else domatesCizgi := line.new(bar_index - 1, domatesEMA_Fiyat[1], bar_index, domatesEMA_Fiyat, color=domatesRenk, width=kalinlik, style=cizgiStiliAl(cizgiTipi)) etiketOfset = salatalikUzat ? etiketOfsetiAl(etiketPozisyon) : 0 domatesEtiket := label.new(bar_index + etiketOfset, domatesEMA_Fiyat, text="55 EMA: " + str.tostring(domatesEMA_Fiyat, "#.##"), color=domatesRenk, textcolor=domatesYazi, style=etiketStiliAl(etiketKonum), size=etiketBoyutuAl(etiketBoyut))
Leave a Comment