Untitled

 avatar
unknown
plain_text
a month ago
5.6 kB
2
Indexable
xu100 = request.security('BIST:XU100', timeframe.period, close)
// Zaman dilimi seçimi (menüdeki değerlerle)
selected_timeframe_str = input.string("1 Gün", title="Zaman Dilimi Seç", options=[    "1 Kademe", "10 Kademe", "4100 Kademe", "41000 Kademe",     "4 saniye", "5 saniye", "10 saniye", "15 saniye", "30 saniye",     "1 dakika", "2 dakika", "3 dakika", "5 dakika", "8 dakika", "9 dakika",     "10 dakika", "15 dakika", "19 dakika", "29 dakika", "30 dakika",     "31 dakika", "44 dakika", "45 dakika", "50 dakika", "64 dakika",     "118 dakika", "165 dakika", "170 dakika", "235 dakika", "535 dakika",     "1 saat", "2 saat", "3 saat", "4 saat", "6 saat", "8 saat", "12 saat",     "1 Gün", "2 Gün", "3 Gün", "1 Hafta", "1 Ay"])

// Zaman dilimini Pine Script formatına çeviren fonksiyon
f_convert_timeframe(tf_str) =>
    if tf_str == "1 Kademe"
        "1"
    else if tf_str == "10 Kademe"
        "10"
    else if tf_str == "4100 Kademe"
        "4100"
    else if tf_str == "41000 Kademe"
        "41000"
    else if tf_str == "4 saniye"
        "4S"
    else if tf_str == "5 saniye"
        "5S"
    else if tf_str == "10 saniye"
        "10S"
    else if tf_str == "15 saniye"
        "15S"
    else if tf_str == "30 saniye"
        "30S"
    else if tf_str == "1 dakika"
        "1"
    else if tf_str == "2 dakika"
        "2"
    else if tf_str == "3 dakika"
        "3"
    else if tf_str == "5 dakika"
        "5"
    else if tf_str == "8 dakika"
        "8"
    else if tf_str == "9 dakika"
        "9"
    else if tf_str == "10 dakika"
        "10"
    else if tf_str == "15 dakika"
        "15"
    else if tf_str == "19 dakika"
        "19"
    else if tf_str == "29 dakika"
        "29"
    else if tf_str == "30 dakika"
        "30"
    else if tf_str == "31 dakika"
        "31"
    else if tf_str == "44 dakika"
        "44"
    else if tf_str == "45 dakika"
        "45"
    else if tf_str == "50 dakika"
        "50"
    else if tf_str == "64 dakika"
        "64"
    else if tf_str == "118 dakika"
        "118"
    else if tf_str == "165 dakika"
        "165"
    else if tf_str == "170 dakika"
        "170"
    else if tf_str == "235 dakika"
        "235"
    else if tf_str == "535 dakika"
        "535"
    else if tf_str == "1 saat"
        "60"
    else if tf_str == "2 saat"
        "120"
    else if tf_str == "3 saat"
        "180"
    else if tf_str == "4 saat"
        "240"
    else if tf_str == "6 saat"
        "360"
    else if tf_str == "8 saat"
        "480"
    else if tf_str == "12 saat"
        "720"
    else if tf_str == "1 Gün"
        "D"
    else if tf_str == "2 Gün"
        "2D"
    else if tf_str == "3 Gün"
        "3D"
    else if tf_str == "1 Hafta"
        "W"
    else if tf_str == "1 Ay"
        "M"
    else
        "D"  // Varsayılan olarak 1 dakika

// Seçilen zaman dilimini Pine Script formatına çevir
selected_timeframe = f_convert_timeframe(selected_timeframe_str)

// XU100 fiyatı ve EMA uzunlukları
compEmaLength34mtf = input.int(34, title='MTF KOMP 34', group="MTF COMP EMA Display", inline="MTF 34 233")
compEmaLength233mtf = input.int(233, title='MTF KOMP 233', group="MTF COMP EMA Display", inline="MTF 34 233")

// Seçilen zaman dilimine göre EMA hesaplama
comp_ema34mtf = request.security(syminfo.tickerid, selected_timeframe, ta.ema(close / xu100, compEmaLength34mtf))
comp_ema233mtf = request.security(syminfo.tickerid, selected_timeframe, ta.ema(close / xu100, compEmaLength233mtf))

// Çizgi ve etiketler için değişkenler
var line ema_line34mtf = na
var label ema_label34mtf = na

var line ema_line233mtf = na
var label ema_label233mtf = na

// Çizgileri ve etiketleri oluşturma
if bar_index > 6
    // EMA 34
    if na(ema_line34mtf)
        ema_line34mtf := line.new(x1=bar_index, y1=comp_ema34mtf * xu100, x2=bar_index + 6, y2=comp_ema34mtf * xu100, color=#52d4ff, width=2)
        ema_label34mtf := label.new(x=bar_index + 7, y=comp_ema34mtf * xu100, text=selected_timeframe_str + " KOMP-34: " + str.tostring(comp_ema34mtf * xu100, '#.##'), style=label.style_label_left, color=color.new(color.white, 100), textcolor=#52d4ff, size=size.normal)
    else
        line.set_xy1(ema_line34mtf, bar_index, comp_ema34mtf * xu100)
        line.set_xy2(ema_line34mtf, bar_index + 6, comp_ema34mtf * xu100)
        label.set_x(ema_label34mtf, bar_index + 6)
        label.set_y(ema_label34mtf, comp_ema34mtf * xu100)
        label.set_text(ema_label34mtf, selected_timeframe_str + " KOMP-34: " + str.tostring(comp_ema34mtf * xu100, '#.##'))
        label.set_size(ema_label34mtf, size.normal)
    
    // EMA 233
    if na(ema_line233mtf)
        ema_line233mtf := line.new(x1=bar_index, y1=comp_ema233mtf * xu100, x2=bar_index + 6, y2=comp_ema233mtf * xu100, color=#0b61a9, width=2)
        ema_label233mtf := label.new(x=bar_index + 7, y=comp_ema233mtf * xu100, text=selected_timeframe_str + " KOMP-233: " + str.tostring(comp_ema233mtf * xu100, '#.##'), style=label.style_label_left, color=color.new(color.white, 100), textcolor=#0b61a9, size=size.normal)
    else
        line.set_xy1(ema_line233mtf, bar_index, comp_ema233mtf * xu100)
        line.set_xy2(ema_line233mtf, bar_index + 6, comp_ema233mtf * xu100)
        label.set_x(ema_label233mtf, bar_index + 6)
        label.set_y(ema_label233mtf, comp_ema233mtf * xu100)
        label.set_text(ema_label233mtf, selected_timeframe_str + " KOMP-233: " + str.tostring(comp_ema233mtf * xu100, '#.##'))
        label.set_size(ema_label233mtf, size.normal)

Leave a Comment