Ne işe yarar?
30m 15m 5m 3m 1m LC HC beliler renklendirir ve Rsi gösterir aşırı alım veya aşırı satım varsa yanına uyarı ekler.

hızlı işlem sevenler için ..
HF LF sevmiyorum ben likidite tuzağı dolu o yüzden artık lc hc çalışıyorum size de tavsiye ederim.

Ücretli üyeliğim olmadığı için yayınlamaya izin vermiyor. burada birilerine yarar umarım ben baktım göremedim aklı başında bir şey kendim yazdırdım.

//@version=5
indicator("Scalping HF/LF + Conditional RSI", overlay=true)

// --- 1. RSI Ayarları (İsteğe bağlı olarak girdi yapılabilir) ---
rsiPeriod = input.int(14, "RSI Periyodu", minval=1) // RSI hesaplama periyodu
rsiOverbought = input.int(60, "RSI Aşırı Alım Seviyesi (Üstü)", minval=50, maxval=90) // 60 olarak değiştirildi
rsiOversold = input.int(35, "RSI Aşırı Satım Seviyesi (Altı)", minval=10, maxval=50) // 35 olarak değiştirildi

// Fonksiyon: Belirtilen zaman dilimi için Mum Gövdesi Yüksek/Düşük seviyelerini ve RSI'ı alır
getHfLfAndRSI(timeframe, rsiLen) =>
    // Belirtilen zaman dilimindeki barın açılış, kapanış, yüksek ve düşük fiyatlarını alalım
    float tfOpen = request.security(syminfo.tickerid, timeframe, open[1], lookahead=barmerge.lookahead_on)
    float tfClose = request.security(syminfo.tickerid, timeframe, close[1], lookahead=barmerge.lookahead_on)
    
    // Mum gövdesi yüksek (Higher Body) ve düşük (Lower Body) seviyelerini hesaplayalım
    float bodyHigh = math.max(tfOpen, tfClose)
    float bodyLow = math.min(tfOpen, tfClose)
    
    // Belirtilen zaman diliminin RSI'ını hesaplayalım
    float tfRSI = request.security(syminfo.tickerid, timeframe, ta.rsi(close[1], rsiLen), lookahead=barmerge.lookahead_on)
    
    [bodyHigh, bodyLow, tfRSI] // Sadece HC/LC ve RSI dönüyoruz

// Her bir seviye için etiket değişkenlerini tanımlayalım ve `na` ile başlatalım
var label label_30M_high = na
var label label_30M_low = na
var label label_15M_high = na
var label label_15M_low = na
var label label_5M_high = na
var label label_5M_low = na
var label label_3M_high = na
var label label_3M_low = na
var label label_1M_high = na
var label label_1M_low = na


// Fonksiyon: Sadece yatay çizgi çizer.
drawLine(price, color) =>
    line.new(bar_index[1], price, bar_index, price, xloc=xloc.bar_index, extend=extend.both, color=color, width=2)


// Ana kod bloğu
// Her bir zaman dilimi için HF/LF hesaplamaları ve RSI
// ÇİZGİLERİN çizilmesi ve ETİKETLERİN güncellenmesi.

// 30 Dakika HF/LF (Kırmızı)
[high_30M, low_30M, rsi_30M] = getHfLfAndRSI("30", rsiPeriod)
drawLine(high_30M, color.red) 
drawLine(low_30M, color.red)

string rsiCondition30M = ""
if rsi_30M > rsiOverbought
    rsiCondition30M := " (Aşırı Alım)"
else if rsi_30M < rsiOversold
    rsiCondition30M := " (Aşırı Satım)"

if na(label_30M_high)
    label_30M_high := label.new(x=bar_index, y=high_30M, text="[30m] HC - RSI:" + str.tostring(rsi_30M, "#.0") + rsiCondition30M, xloc=xloc.bar_index, yloc=yloc.price, color=color.new(color.red, 20), textcolor=color.black, style=label.style_label_left)
else
    label.set_xy(label_30M_high, x=bar_index, y=high_30M)
    label.set_text(label_30M_high, "[30m] HC - RSI:" + str.tostring(rsi_30M, "#.0") + rsiCondition30M)
    label.set_color(label_30M_high, color.new(color.red, 20))
    label.set_textcolor(label_30M_high, color.black)

if na(label_30M_low)
    label_30M_low := label.new(x=bar_index, y=low_30M, text="[30m] LC - RSI:" + str.tostring(rsi_30M, "#.0") + rsiCondition30M, xloc=xloc.bar_index, yloc=yloc.price, color=color.new(color.red, 20), textcolor=color.black, style=label.style_label_left)
else
    label.set_xy(label_30M_low, x=bar_index, y=low_30M)
    label.set_text(label_30M_low, "[30m] LC - RSI:" + str.tostring(rsi_30M, "#.0") + rsiCondition30M)
    label.set_color(label_30M_low, color.new(color.red, 20))
    label.set_textcolor(label_30M_low, color.black)


// 15 Dakika HF/LF (Mavi)
[high_15M, low_15M, rsi_15M] = getHfLfAndRSI("15", rsiPeriod)
drawLine(high_15M, color.blue) 
drawLine(low_15M, color.blue)

string rsiCondition15M = ""
if rsi_15M > rsiOverbought
    rsiCondition15M := " (Aşırı Alım)"
else if rsi_15M < rsiOversold
    rsiCondition15M := " (Aşırı Satım)"

if na(label_15M_high)
    label_15M_high := label.new(x=bar_index, y=high_15M, text="[15m] HC - RSI:" + str.tostring(rsi_15M, "#.0") + rsiCondition15M, xloc=xloc.bar_index, yloc=yloc.price, color=color.new(color.blue, 20), textcolor=color.black, style=label.style_label_left)
else
    label.set_xy(label_15M_high, x=bar_index, y=high_15M)
    label.set_text(label_15M_high, "[15m] HC - RSI:" + str.tostring(rsi_15M, "#.0") + rsiCondition15M)
    label.set_color(label_15M_high, color.new(color.blue, 20))
    label.set_textcolor(label_15M_high, color.black)

if na(label_15M_low)
    label_15M_low := label.new(x=bar_index, y=low_15M, text="[15m] LC - RSI:" + str.tostring(rsi_15M, "#.0") + rsiCondition15M, xloc=xloc.bar_index, yloc=yloc.price, color=color.new(color.blue, 20), textcolor=color.black, style=label.style_label_left)
else
    label.set_xy(label_15M_low, x=bar_index, y=low_15M)
    label.set_text(label_15M_low, "[15m] LC - RSI:" + str.tostring(rsi_15M, "#.0") + rsiCondition15M)
    label.set_color(label_15M_low, color.new(color.blue, 20))
    label.set_textcolor(label_15M_low, color.black)

// 5 Dakika HF/LF (Yeşil)
[high_5M, low_5M, rsi_5M] = getHfLfAndRSI("5", rsiPeriod)
drawLine(high_5M, color.green) 
drawLine(low_5M, color.green)

string rsiCondition5M = ""
if rsi_5M > rsiOverbought
    rsiCondition5M := " (Aşırı Alım)"
else if rsi_5M < rsiOversold
    rsiCondition5M := " (Aşırı Satım)"

if na(label_5M_high)
    label_5M_high := label.new(x=bar_index, y=high_5M, text="[5m] HC - RSI:" + str.tostring(rsi_5M, "#.0") + rsiCondition5M, xloc=xloc.bar_index, yloc=yloc.price, color=color.new(color.green, 20), textcolor=color.black, style=label.style_label_left)
else
    label.set_xy(label_5M_high, x=bar_index, y=high_5M)
    label.set_text(label_5M_high, "[5m] HC - RSI:" + str.tostring(rsi_5M, "#.0") + rsiCondition5M)
    label.set_color(label_5M_high, color.new(color.green, 20))
    label.set_textcolor(label_5M_high, color.black)

if na(label_5M_low)
    label_5M_low := label.new(x=bar_index, y=low_5M, text="[5m] LC - RSI:" + str.tostring(rsi_5M, "#.0") + rsiCondition5M, xloc=xloc.bar_index, yloc=yloc.price, color=color.new(color.green, 20), textcolor=color.black, style=label.style_label_left)
else
    label.set_xy(label_5M_low, x=bar_index, y=low_5M)
    label.set_text(label_5M_low, "[5m] LC - RSI:" + str.tostring(rsi_5M, "#.0") + rsiCondition5M)
    label.set_color(label_5M_low, color.new(color.green, 20))
    label.set_textcolor(label_5M_low, color.black)


// 3 Dakika HF/LF (Sarı)
[high_3M, low_3M, rsi_3M] = getHfLfAndRSI("3", rsiPeriod)
drawLine(high_3M, color.yellow) 
drawLine(low_3M, color.yellow)

string rsiCondition3M = ""
if rsi_3M > rsiOverbought
    rsiCondition3M := " (Aşırı Alım)"
else if rsi_3M < rsiOversold
    rsiCondition3M := " (Aşırı Satım)"

if na(label_3M_high)
    label_3M_high := label.new(x=bar_index, y=high_3M, text="[3m] HC - RSI:" + str.tostring(rsi_3M, "#.0") + rsiCondition3M, xloc=xloc.bar_index, yloc=yloc.price, color=color.new(color.yellow, 20), textcolor=color.black, style=label.style_label_left)
else
    label.set_xy(label_3M_high, x=bar_index, y=high_3M)
    label.set_text(label_3M_high, "[3m] HC - RSI:" + str.tostring(rsi_3M, "#.0") + rsiCondition3M)
    label.set_color(label_3M_high, color.new(color.yellow, 20))
    label.set_textcolor(label_3M_high, color.black)

if na(label_3M_low)
    label_3M_low := label.new(x=bar_index, y=low_3M, text="[3m] LC - RSI:" + str.tostring(rsi_3M, "#.0") + rsiCondition3M, xloc=xloc.bar_index, yloc=yloc.price, color=color.new(color.yellow, 20), textcolor=color.black, style=label.style_label_left)
else
    label.set_xy(label_3M_low, x=bar_index, y=low_3M)
    label.set_text(label_3M_low, "[3m] LC - RSI:" + str.tostring(rsi_3M, "#.0") + rsiCondition3M)
    label.set_color(label_3M_low, color.new(color.yellow, 20))
    label.set_textcolor(label_3M_low, color.black)


// 1 Dakika HF/LF (Pembe)
[high_1M, low_1M, rsi_1M] = getHfLfAndRSI("1", rsiPeriod)
drawLine(high_1M, color.fuchsia) 
drawLine(low_1M, color.fuchsia)

string rsiCondition1M = ""
if rsi_1M > rsiOverbought
    rsiCondition1M := " (Aşırı Alım)"
else if rsi_1M < rsiOversold
    rsiCondition1M := " (Aşırı Satım)"

if na(label_1M_high)
    label_1M_high := label.new(x=bar_index, y=high_1M, text="[1m] HC - RSI:" + str.tostring(rsi_1M, "#.0") + rsiCondition1M, xloc=xloc.bar_index, yloc=yloc.price, color=color.new(color.fuchsia, 20), textcolor=color.black, style=label.style_label_left)
else
    label.set_xy(label_1M_high, x=bar_index, y=high_1M)
    label.set_text(label_1M_high, "[1m] HC - RSI:" + str.tostring(rsi_1M, "#.0") + rsiCondition1M)
    label.set_color(label_1M_high, color.new(color.fuchsia, 20))
    label.set_textcolor(label_1M_high, color.black)

if na(label_1M_low)
    label_1M_low := label.new(x=bar_index, y=low_1M, text="[1m] LC - RSI:" + str.tostring(rsi_1M, "#.0") + rsiCondition1M, xloc=xloc.bar_index, yloc=yloc.price, color=color.new(color.fuchsia, 20), textcolor=color.black, style=label.style_label_left)
else
    label.set_xy(label_1M_low, x=bar_index, y=low_1M)
    label.set_text(label_1M_low, "[1m] LC - RSI:" + str.tostring(rsi_1M, "#.0") + rsiCondition1M)
    label.set_color(label_1M_low, color.new(color.fuchsia, 20))
    label.set_textcolor(label_1M_low, color.black)
ekran görüntüsü