PHP Code://@version=6
indicator(".", overlay=true, max_bars_back=1000)
// ==========================================
// 1. DL MOTORU ÇEKİRDEĞİ
// ==========================================
tanh(v) => (1 - math.exp(-2 * v)) / (1 + math.exp(-2 * v))
td(s) => nz((s - nz(s[1])) / nz(s[1]))
w_c = array.from(22.4271, -26.6917, 4.9371, 9.0349, -10.6929, -38.2880, 10.0500, -44.7063, -17.8163, 30.5662, -33.9954, 14.5017, -43.2865, -13.3874, 24.7080, -14.3929, 28.4830, -22.9793, -7.6582, -5.6505, 28.8379, -26.3544, 0.5206, 25.0049, -17.8832, -4.8113, -4.0364, -8.3327, -1.1571, 0.4667, -22.0533, 3.6525, -4.3904, 2.1030, 20.0272, 11.5101, -0.4150)
n_in = array.from(tanh(td(open)), tanh(td(high)), tanh(td(low)), tanh(td(close)))
f_calc_dl(n_arr, w_arr) =>
float out = 0.0
for i = 0 to 5
float s = 0.0
for j = 0 to 3
s += array.get(n_arr, j) * array.get(w_arr, (i * 5) + j)
out += tanh(s + array.get(w_arr, (i * 5) + 4)) * array.get(w_arr, 30 + i)
tanh(out + array.get(w_arr, 36))
float dl_val = f_calc_dl(n_in, w_c)
// ==========================================
// 3. REAKTÖR VE ENERJİ TÜPLERİ
// ==========================================
float mtk_p89 = ta.sar(0.002, 0.02, 0.2)
float tork89 = ta.sma(math.abs(mtk_p89 - nz(mtk_p89[1])), 50) * 10
float doluluk = math.abs(close - mtk_p89) / (tork89 == 0 ? 1 : tork89) * 100
float mtk_p = ta.sar(0.02, 0.02, 0.2)
float tork = ta.sma(math.abs(mtk_p - nz(mtk_p[1])), 100) * 10
float bar_ust = close > mtk_p ? mtk_p + tork : mtk_p - tork
plotcandle(bar_ust, mtk_p, bar_ust, mtk_p, "KAPasite", color=color.rgb(255, 255, 255, 75), bordercolor=na)
plotcandle(close, mtk_p89, close, mtk_p89, "GÜÇlenme", color=doluluk >= 100 ? color.rgb(3, 3, 3, 100) : color.rgb(3, 3, 3, 100), bordercolor=na)
// ==========================================
///////////İMZA//////////////
var table ytd_table = table.new(position.bottom_center, 1, 1)
if barstate.islast
table.cell(ytd_table, 0, 0, "Eğitim çalışmasıdır. YATIRIM TAVSİYESİ olarak KULLANILAMAZ.", text_color=color.new(color.white, 00), text_size=size.normal)
// ==========================================
// 1. 9-SAR HESAPLAMA (ANA ÇEKİRDEK)
// ==========================================
// Sarı (0.02), Mavi (0.015), Kırmızı (0.01)
kv1 = ta.sar(0.02, 0.02, 0.2), kv2 = ta.sar(0.002, 0.002, 0.02), kv3 = ta.sar(0.0002, 0.0002, 0.002)
ov1 = ta.sar(0.015, 0.015, 0.15), ov2 = ta.sar(0.0015, 0.0015, 0.015), ov3 = ta.sar(0.00015, 0.00015, 0.0015)
uv1 = ta.sar(0.01, 0.01, 0.1), uv2 = ta.sar(0.001, 0.001, 0.01), uv3 = ta.sar(0.0001, 0.0001, 0.001)
plot(kv1, "1", color=color.yellow, style=plot.style_circles, linewidth=1)
plot(ov1, "2", color=color.blue, style=plot.style_circles, linewidth=1)
plot(uv1, "3", color=color.red, style=plot.style_circles, linewidth=1)
float KV11 = ta.sar(0.02, 0.002, 0.2)
float UV11 = ta.sar(0.01, 0.001, 0.1)
plot(KV11, "1-DÖNGÜ", color=color.white, style=plot.style_cross, linewidth=1)
plot(UV11, "2-DÖNGÜ", color=color.white, style=plot.style_cross, linewidth=1)
float KV111 = ta.sar(0.0002, 0.002, 0.2)
plot(KV111, "3-DÖNGÜ", color=color.white, style=plot.style_cross, linewidth=1)
// kısa vade Ortalama Hattı
float sur_agresif78 = ta.sar(0.02, 0.02, 0.2)
float sur_sabirli78 = ta.sar(0.015, 0.015, 0.15)
float sur_patron78 = ta.sar(0.01, 0.01, 0.1)
float trident_avg78 = math.avg(sur_agresif78, sur_sabirli78, sur_patron78)
plot(trident_avg78, "TREND", color=close > trident_avg78 ? #33ff00 : #ff0000, linewidth=2, style=plot.style_line)
// Sıkışma Motoru
float sur_hizli = ta.sar(0.02, 0.02, 0.2)
float sur_sabirli = ta.sar(0.002, 0.02, 0.2) // Senin sarsılmaz mizanın
float band_mesafe = math.abs(sur_hizli - sur_sabirli)
float ort_mesafe = ta.sma(band_mesafe, 2)
bool sikisma_var = band_mesafe < (ort_mesafe * 0.2)
// 2. PUANLAMA (9 PUAN ÜZERİNDEN - ANLIK & ORTA)
// ==========================================
// Anlıklar 1p, Ortalar 2p (Analar 3p değerinde ama rehber olarak ayrıldı)
int p_anlik = (close > kv1 ? 1 : 0) + (close > ov1 ? 1 : 0) + (close > uv1 ? 1 : 0)
int p_orta = (close > kv2 ? 2 : 0) + (close > ov2 ? 2 : 0) + (close > uv2? 2 : 0)
int total_puan = p_anlik + p_orta
// 3. LİKİT KANAL & AKSİYON RENGİ
// ==========================================
float omurga_hizli = (kv1 + kv2 + kv3 + ov1 + ov2 + ov3 + uv1 + uv2+ uv3) / 9
float omurga_yavas = (kv3 + ov3 + uv3) / 3
// ===============NİHAYET SON YÖRÜK 2026 YUNUS EMREYE HEDİYEMDİR.===========================
// Sıkışma Şiddeti (0-100 arası bir değer üretir)
//float sikisma_siddeti = math.min(100, (1 - (band_mesafe / (ort_mesafe > 0 ? ort_mesafe : 1))) * 100)
// ==========================================
// WIDGET (KONTROL PANELİ) ENTEGRASYONU
// ==========================================
var table widget = table.new(position.top_right, 2, 11, bgcolor = color.new(color.black, 20), border_width = 1, border_color = color.gray)
if barstate.islast
// Başlıklar
table.cell(widget, 0, 0, "SİSTEM VERİSİ", text_color = color.white, bgcolor = color.rgb(44, 62, 80))
table.cell(widget, 1, 0, "DEĞER / DURUM", text_color = color.white, bgcolor = color.rgb(44, 62, 80))
// 1. DL Motoru Çıkışı (Zeka)
table.cell(widget, 0, 1, "DL Motor Gücü", text_color = color.white)
table.cell(widget, 1, 1, str.tostring(dl_val, "#.####"), text_color = dl_val > 0 ? color.lime : color.red)
// 2. Reaktör Doluluk (Enerji)
table.cell(widget, 0, 2, "Enerji Doluluk", text_color = color.white)
table.cell(widget, 1, 2, "%" + str.tostring(doluluk, "#.#"), text_color = doluluk >= 100 ? color.lime : color.orange)
// 3. Toplam Sistem Puanı (Mizan)
table.cell(widget, 0, 3, "Sistem Puanı", text_color = color.white)
table.cell(widget, 1, 3, str.tostring(total_puan) + " / 9", bgcolor = total_puan >= 5 ? color.new(color.green, 00) : color.new(color.red, 00))
// 5. Ana Trend İstikameti
table.cell(widget, 0, 5, "Ana Trend", text_color = color.white)
table.cell(widget, 1, 5, close > trident_avg78 ? "YUKARI" : "AŞAĞI", bgcolor = close > trident_avg78 ? color.new(color.green, 00) : color.new(color.red, 00))
// ==========================================
// DÖNGÜ - KAPASİTE TEMAS ANALİZÖRÜ (MULTI-TOUCH)
// ==========================================
// 1. Kapasite Duvarlarını Tanımla (Mekânın Sınırları)
float k_alt = math.min(mtk_p, bar_ust)
float k_ust = math.max(mtk_p, bar_ust)
// 2. Hassasiyet (Temas Toleransı - Fiyatın binde 1.5'i)
// Çok katı olursak "1-2-3"ü yakalamak zorlaşır, o yüzden hafif esneklik (rahmet) payı bırakıyoruz.
float tol = close * 0.00015
// 3. Her Bir Döngünün Temas Kontrolü
// Hem alta hem üste bakıyoruz, çünkü mizan her iki uçta da kurulabilir.
bool t1 = (math.abs(k_alt - KV11) < tol) or (math.abs(k_ust - KV11) < tol)
bool t2 = (math.abs(k_alt - UV11) < tol) or (math.abs(k_ust - UV11) < tol)
bool t3 = (math.abs(k_alt - KV111) < tol) or (math.abs(k_ust - KV111) < tol)
// 4. Metin Oluşturma (String Builder)
string s_temas = ""
if t1
s_temas := "1"
if t2
// Eğer s_temas doluysa (yani 1 varsa) yanına tire koy, yoksa direkt "2" yaz
s_temas := s_temas != "" ? s_temas + "-2" : "2"
if t3
// Eğer s_temas doluysa (1 veya 2 varsa) yanına tire koy, yoksa direkt "3" yaz
s_temas := s_temas != "" ? s_temas + "-3" : "3"
// Hiçbiri yoksa
if s_temas == ""
s_temas := "YOK"
// 5. Renk Ataması (Durumun Ciddiyetine Göre)
color c_temas = color.gray
if s_temas == "1" or s_temas == "2" or s_temas == "3"
c_temas := color.yellow // Tekli Temas (Uyarı)
else if s_temas == "YOK"
c_temas := color.gray // Sakin
else
c_temas := color.lime // Çoklu Temas (1-2, 1-3, 1-2-3) -> KAVUŞMA!
// ==========================================
// WIDGET TABLOSUNA YAZDIRMA
// ==========================================
table.cell(widget, 0, 8, "Döngü Teması", text_color = color.white)
table.cell(widget, 1, 8, s_temas, bgcolor = s_temas != "YOK" ? color.new(c_temas, 30) : color.new(color.black, 0), text_color = color.white, text_size = size.small)
// 1. Üçlü Konum Kontrolü
// Fiyatın HEPSİNİN üstünde olması (AL Safı)
bool saf_al = (close > kv1) and (close > ov1) and (close > uv1)
// Fiyatın HEPSİNİN altında olması (SAT Safı)
bool saf_sat = (close < kv1) and (close < ov1) and (close < uv1)
// 2. Durum Metni ve Rengi
string saf_msg = "DAĞINIK / NÖTR"
color saf_renk = color.gray
if saf_al
saf_msg := "AL"
saf_renk := color.lime
else if saf_sat
saf_msg := "SAT"
saf_renk := color.red
// ==========================================
table.cell(widget, 0, 10, "PSAR ", text_color = color.white)
table.cell(widget, 1, 10, saf_msg, bgcolor = saf_msg != "DAĞINIK / NÖTR" ? saf_renk : color.new(color.gray, 80), text_color = color.white, text_size = size.small)
//////////

Alıntı yaparak yanıtla
Yer İmleri