Untitled
Anonymous
plain_text
02/12/2026 3:49 PM
13.9 KB
46
Indexable
//@version=5
indicator("Çoklu Koşul AL Sinyali", overlay=true)
// ============================================================================
// PARAMETRELER
// ============================================================================
// KOŞUL ENABLE/DISABLE
enable_hacim = input.bool(true, "1️⃣ Hacim Kontrolü", group="Koşulları Aktif/Pasif Et")
enable_rvol = input.bool(true, "2️⃣ RVOL Kontrolü", group="Koşulları Aktif/Pasif Et")
enable_rsi = input.bool(true, "3️⃣ RSI Kesişim Kontrolü", group="Koşulları Aktif/Pasif Et")
enable_ozkan = input.bool(true, "4️⃣ Özkan 8 Kontrolü", group="Koşulları Aktif/Pasif Et")
enable_momentum = input.bool(true, "5️⃣ Momentum Kontrolü", group="Koşulları Aktif/Pasif Et")
enable_stok_rsi = input.bool(true, "6️⃣ Stokastik RSI Kontrolü", group="Koşulları Aktif/Pasif Et")
enable_adx = input.bool(true, "7️⃣ ADX Kontrolü", group="Koşulları Aktif/Pasif Et")
// PARAMETRE AYARLARI
hacim_carpan = input.float(10.0, "Hacim Çarpanı", minval=1.0, group="Hacim Ayarları")
rvol_esik = input.float(0.75, "RVOL Eşik Değeri", minval=0.1, step=0.05, group="RVOL Ayarları")
rsi_uzunluk = input.int(14, "RSI Uzunluğu", minval=1, group="RSI Ayarları")
rsi_alt_sinir = input.int(30, "RSI Alt Sınır", minval=0, maxval=100, group="RSI Ayarları")
rsi_ust_sinir = input.int(30, "RSI Üst Sınır (Kesişim)", minval=0, maxval=100, group="RSI Ayarları")
ozkan_periyot = input.int(8, "Özkan Periyodu", minval=1, group="Özkan Ayarları")
stok_rsi_uzunluk = input.int(14, "Stochastic RSI Uzunluğu", minval=1, group="Stokastik RSI Ayarları")
stok_rsi_k = input.int(3, "Stochastic RSI K", minval=1, group="Stokastik RSI Ayarları")
stok_rsi_d = input.int(3, "Stochastic RSI D", minval=1, group="Stokastik RSI Ayarları")
adx_uzunluk = input.int(14, "ADX Uzunluğu", minval=1, group="ADX Ayarları")
adx_esik = input.int(15, "ADX Eşik Değeri", minval=1, group="ADX Ayarları")
// GÖRSELLEŞTİRME
goster_tablo = input.bool(true, "Bilgi Tablosunu Göster", group="Görselleştirme")
goster_arka_plan = input.bool(true, "Arka Plan Rengini Göster", group="Görselleştirme")
goster_etiket = input.bool(true, "AL Etiketini Göster", group="Görselleştirme")
goster_ok = input.bool(true, "AL Okunu Göster", group="Görselleştirme")
// ============================================================================
// HESAPLAMALAR
// ============================================================================
// 1. HACİM KONTROLÜ - 10 günlük hacimden fazla olsun
hacim_ortalama_10 = ta.sma(volume, 10)
hacim_kosul = volume > (hacim_ortalama_10 * hacim_carpan)
// 2. RVOL HESAPLAMA - 0.75 olsun
rvol = volume / hacim_ortalama_10
rvol_kosul = rvol >= rvol_esik
// 3. RSI KONTROLÜ - 30'un altından 30'u yukarı kessin
rsi = ta.rsi(close, rsi_uzunluk)
rsi_onceki = rsi[1]
rsi_kesisim = ta.crossover(rsi, rsi_ust_sinir) and rsi_onceki < rsi_alt_sinir
// 4. ÖZKAN 8 AL SİNYALİ YAKSIN
ozkan_8 = ta.mom(close, ozkan_periyot)
ozkan_al_sinyali = ozkan_8 > 0 and ozkan_8[1] <= 0
// 5. MOMENTUM 0 ÜZERİNE ATSIN
momentum = ta.mom(close, 10)
momentum_kosul = ta.crossover(momentum, 0)
// 6. STOKASTIK RSI AL VERSİN
rsi_for_stoch = ta.rsi(close, stok_rsi_uzunluk)
stoch_rsi = ta.stoch(rsi_for_stoch, rsi_for_stoch, rsi_for_stoch, stok_rsi_uzunluk)
stoch_rsi_k_line = ta.sma(stoch_rsi, stok_rsi_k)
stoch_rsi_d_line = ta.sma(stoch_rsi_k_line, stok_rsi_d)
stok_rsi_al = ta.crossover(stoch_rsi_k_line, stoch_rsi_d_line) and stoch_rsi_k_line < 20
// 7. ADX 15 ÜZERİNE ATSIN
[diPlus, diMinus, adx] = ta.dmi(adx_uzunluk, adx_uzunluk)
adx_kosul = ta.crossover(adx, adx_esik)
// ============================================================================
// 🎯 AL KOŞULU - ENABLE EDİLEN KOŞULLARIN BİRLEŞİMİ
// ============================================================================
hacim_kontrol = enable_hacim ? hacim_kosul : true
rvol_kontrol = enable_rvol ? rvol_kosul : true
rsi_kontrol = enable_rsi ? rsi_kesisim : true
ozkan_kontrol = enable_ozkan ? ozkan_al_sinyali : true
momentum_kontrol = enable_momentum ? momentum_kosul : true
stok_rsi_kontrol = enable_stok_rsi ? stok_rsi_al : true
adx_kontrol = enable_adx ? adx_kosul : true
al = hacim_kontrol and rvol_kontrol and rsi_kontrol and ozkan_kontrol and momentum_kontrol and stok_rsi_kontrol and adx_kontrol
// ============================================================================
// GÖRSELLEŞTİRME
// ============================================================================
// AL SİNYALİ - OK İŞARETİ (Grafikte net görünür)
plotshape(goster_ok and al, "AL SİNYALİ", shape.triangleup, location.belowbar, color=color.new(color.lime, 0), size=size.huge, text="AL")
// AL SİNYALİ - ETİKET (Detaylı bilgi)
if goster_etiket and al
label.new(bar_index, low * 0.995, "� AL SİNYALİ\n✅ TÜM KOŞULLAR SAĞLANDI\n💰 Fiylat: " + str.tostring(close, "#.##"), style=label.style_label_up, color=color.new(color.lime, 0), textcolor=color.black, size=size.large, textalign=text.align_center)
// Arka plan rengi - AL sinyali geldiğinde yeşil
bgcolor(goster_arka_plan and al ? color.new(color.lime, 85) : na, title="AL Sinyali Arka Plan")
// Bilgi tablosu
if goster_tablo
var table bilgi_tablo = table.new(position.top_right, 3, 9, bgcolor=color.new(color.black, 85), border_width=1)
if barstate.islast
// Başlık
table.cell(bilgi_tablo, 0, 0, "KOŞUL", text_color=color.white, bgcolor=color.new(color.gray, 50), text_size=size.normal)
table.cell(bilgi_tablo, 1, 0, "AKTİF", text_color=color.white, bgcolor=color.new(color.gray, 50), text_size=size.normal)
table.cell(bilgi_tablo, 2, 0, "DURUM", text_color=color.white, bgcolor=color.new(color.gray, 50), text_size=size.normal)
// Koşullar
table.cell(bilgi_tablo, 0, 1, "1. Hacim (10x)", text_color=color.white)
table.cell(bilgi_tablo, 1, 1, enable_hacim ? "✅" : "⏸️", text_color=enable_hacim ? color.green : color.gray, text_size=size.large)
table.cell(bilgi_tablo, 2, 1, enable_hacim ? (hacim_kosul ? "✅" : "❌") : "⏸️", text_color=enable_hacim ? (hacim_kosul ? color.green : color.red) : color.gray, text_size=size.large)
table.cell(bilgi_tablo, 0, 2, "2. RVOL ≥ 0.75", text_color=color.white)
table.cell(bilgi_tablo, 1, 2, enable_rvol ? "✅" : "⏸️", text_color=enable_rvol ? color.green : color.gray, text_size=size.large)
table.cell(bilgi_tablo, 2, 2, enable_rvol ? (rvol_kosul ? "✅" : "❌") : "⏸️", text_color=enable_rvol ? (rvol_kosul ? color.green : color.red) : color.gray, text_size=size.large)
table.cell(bilgi_tablo, 0, 3, "3. RSI 30 Kesişim", text_color=color.white)
table.cell(bilgi_tablo, 1, 3, enable_rsi ? "✅" : "⏸️", text_color=enable_rsi ? color.green : color.gray, text_size=size.large)
table.cell(bilgi_tablo, 2, 3, enable_rsi ? (rsi_kesisim ? "✅" : "❌") : "⏸️", text_color=enable_rsi ? (rsi_kesisim ? color.green : color.red) : color.gray, text_size=size.large)
table.cell(bilgi_tablo, 0, 4, "4. Özkan 8 Al", text_color=color.white)
table.cell(bilgi_tablo, 1, 4, enable_ozkan ? "✅" : "⏸️", text_color=enable_ozkan ? color.green : color.gray, text_size=size.large)
table.cell(bilgi_tablo, 2, 4, enable_ozkan ? (ozkan_al_sinyali ? "✅" : "❌") : "⏸️", text_color=enable_ozkan ? (ozkan_al_sinyali ? color.green : color.red) : color.gray, text_size=size.large)
table.cell(bilgi_tablo, 0, 5, "5. Momentum > 0", text_color=color.white)
table.cell(bilgi_tablo, 1, 5, enable_momentum ? "✅" : "⏸️", text_color=enable_momentum ? color.green : color.gray, text_size=size.large)
table.cell(bilgi_tablo, 2, 5, enable_momentum ? (momentum_kosul ? "✅" : "❌") : "⏸️", text_color=enable_momentum ? (momentum_kosul ? color.green : color.red) : color.gray, text_size=size.large)
table.cell(bilgi_tablo, 0, 6, "6. Stok RSI Al", text_color=color.white)
table.cell(bilgi_tablo, 1, 6, enable_stok_rsi ? "✅" : "⏸️", text_color=enable_stok_rsi ? color.green : color.gray, text_size=size.large)
table.cell(bilgi_tablo, 2, 6, enable_stok_rsi ? (stok_rsi_al ? "✅" : "❌") : "⏸️", text_color=enable_stok_rsi ? (stok_rsi_al ? color.green : color.red) : color.gray, text_size=size.large)
table.cell(bilgi_tablo, 0, 7, "7. ADX > 15", text_color=color.white)
table.cell(bilgi_tablo, 1, 7, enable_adx ? "✅" : "⏸️", text_color=enable_adx ? color.green : color.gray, text_size=size.large)
table.cell(bilgi_tablo, 2, 7, enable_adx ? (adx_kosul ? "✅" : "❌") : "⏸️", text_color=enable_adx ? (adx_kosul ? color.green : color.red) : color.gray, text_size=size.large)
// AL DURUMU
table.cell(bilgi_tablo, 0, 8, "🎯 AL SİNYALİ", text_color=color.white, bgcolor=color.new(color.blue, 70), text_size=size.large)
table.cell(bilgi_tablo, 1, 8, "", text_color=color.white, bgcolor=color.new(color.blue, 70))
table.cell(bilgi_tablo, 2, 8, al ? "✅ AL" : "❌ BEKLEYİN", text_color=al ? color.lime : color.red, bgcolor=al ? color.new(color.lime, 70) : color.new(color.red, 70), text_size=size.huge)
// ============================================================================
// UYARILAR
// ============================================================================
alertcondition(al, "AL SİNYALİ", "{{ticker}} - AL SİNYALİ! TÜM KOŞULLAR SAĞLANDI!")
// ============================================================================
// DEBUG BİLGİLERİ (İsteğe bağlı - yorumdan çıkarabilirsiniz)
// ============================================================================
// plot(hacim_kosul ? 1 : 0, "Hacim", color=color.blue, display=display.data_window)
// plot(rvol_kosul ? 1 : 0, "RVOL", color=color.orange, display=display.data_window)
// plot(rsi_kesisim ? 1 : 0, "RSI", color=color.purple, display=display.data_window)
// plot(ozkan_al_sinyali ? 1 : 0, "Özkan", color=color.yellow, display=display.data_window)
// plot(momentum_kosul ? 1 : 0, "Momentum", color=color.green, display=display.data_window)
// plot(stok_rsi_al ? 1 : 0, "Stok RSI", color=color.red, display=display.data_window)
// plot(adx_kosul ? 1 : 0, "ADX", color=color.maroon, display=display.data_window)
// plot(al ? 1 : 0, "AL", color=color.lime, linewidth=3, display=display.data_window)
Editor is loading...
Leave a Comment