SEBZECI v1.0 - Taze Taze EMAs!
BulanikSu
javascript
a year ago
5.4 kB
266
Indexable
//@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))Editor is loading...
Leave a Comment