PHP Code:// © Kinetik Komuta Merkezi [V19.3 - Saf Ηekirdek & Yόzen Kuantum Aπύ]
//@version=6
indicator(":]", overlay = true, max_lines_count = 500)
// ─────────────────────────────────────────────────────────────────
// 0. GέRDέLER VE AYARLAR
// ─────────────────────────────────────────────────────────────────
group_l1 = "L1 Kinetik Filtre (Ana baseline)"
int atrLen = input.int(50, "L1 Hafύza (ATR)", group=group_l1)
float atrMult = input.float(3.5, "L1 Gόrόltό Duvarύ", step=0.1, group=group_l1)
float mu = input.float(0.6, "L1 Yakύnsaklύk (μ)", step=0.1, group=group_l1)
group_motor = "Kinetik Zeminler (Trinity)"
int len_fast = input.int(5, "Hύzlύ Zemin (Zemin 1)", group=group_motor)
int len_slow = input.int(20, "Yavaώ Zemin (Zemin 2)", group=group_motor)
group_dash = "Gφsterge Paneli"
bool show_dash = input.bool(true, "Paneli Gφster", group=group_dash)
string dash_pos = input.string("Top Right", "Panel Konumu", options=["Top Right", "Top Left", "Bottom Right", "Bottom Left"], group=group_dash)
group_kin = "Renk Paleti"
col_up = input.color(#00e676, "Destek (S) / Boπa", group=group_kin)
col_dn = input.color(#ff1744, "Direnη (R) / Ayύ", group=group_kin)
col_flat = input.color(#787b86, "Flat (Nφtr)", group=group_kin)
col_eq = input.color(#ff9800, "Merkez Pivot (Turuncu Denge)", group=group_kin)
// ─────────────────────────────────────────────────────────────────
// 1. MOTOR: L1 KέNETέK FέLTRE (ANA BASELINE)
// ─────────────────────────────────────────────────────────────────
float threshold = ta.atr(atrLen) * atrMult
var float z = na
var float v = 0.0
if bar_index == 0
z := close
else
float zPrev = z[1], float vPrev = v[1]
float zPred = zPrev + vPrev
float zTemp = zPred + mu * (close - zPred)
float diff = zTemp - zPrev
if math.abs(diff) > threshold
v := math.sign(diff) * (math.abs(diff) - threshold)
else
v := 0.0
z := zPrev + v
plot(z, "0", color=color.new(color.fuchsia, 0), linewidth=1, style=plot.style_stepline)
// ─────────────────────────────────────────────────────────────────
// 2. MOTOR: TRINITY ZEMέNLER (5 - 20)
// ─────────────────────────────────────────────────────────────────
float fast_floor = ta.hma(z, len_fast)
float slow_floor = ta.hma(z, len_slow)
p_fast = plot(fast_floor, color=color.rgb(223, 64, 251, 100), linewidth=1, title="1")
p_slow = plot(slow_floor, color=color.new(color.fuchsia, 100), linewidth=1, title="2")
// Kinetik Bulut
bool is_bull = fast_floor > slow_floor
//fill(p_fast, p_slow, is_bull ? color.new(col_up, 85) : color.new(col_dn, 85), title="Kinetik Bulut")
// Bar Renklendirme
color bar_col = close > math.max(fast_floor, slow_floor) ? col_up : close < math.min(fast_floor, slow_floor) ? col_dn : col_flat
barcolor(bar_col)
// ─────────────────────────────────────────────────────────────────
// 3. ANALέZ: άΗLά KAVUήUM (YάZEN PέVOT AΠI) VE SέNYAL TAKέBέ
// ─────────────────────────────────────────────────────────────────
isEq(v1, v2) => math.abs(v1 - v2) <= syminfo.mintick
bool trinity_aligned = isEq(z, fast_floor) and isEq(z, slow_floor)
var float last_eq_val = na
var float last_eq_step = na
// Ηizgi ve Etiket Deπiώkenleri
var line line_p = na, var label lbl_p = na
var line line_r1 = na, var label lbl_r1 = na
var line line_r2 = na, var label lbl_r2 = na
var line line_r3 = na, var label lbl_r3 = na
var line line_s1 = na, var label lbl_s1 = na
var line line_s2 = na, var label lbl_s2 = na
var line line_s3 = na, var label lbl_s3 = na
if trinity_aligned
last_eq_val := z
last_eq_step := threshold // L1'in kendi gόrόltό duvarύ mesafesi
// Kavuώum (Denge) deπeri varsa, yόzen aπύ her an gόncelle
if not na(last_eq_val)
int ext = 10 // Ηizgilerin uzayacaπύ bar sayύsύ
float val_p = last_eq_val
float val_r1 = last_eq_val + last_eq_step * 1
float val_r2 = last_eq_val + last_eq_step * 2
float val_r3 = last_eq_val + last_eq_step * 3
float val_s1 = last_eq_val - last_eq_step * 1
float val_s2 = last_eq_val - last_eq_step * 2
float val_s3 = last_eq_val - last_eq_step * 3
if na(line_p)
// Ηizgiler
line_p := line.new(bar_index, val_p, bar_index + ext, val_p, color=col_eq, width=2, style=line.style_dotted)
line_r1 := line.new(bar_index, val_r1, bar_index + ext, val_r1, color=color.new(col_dn, 30), width=1, style=line.style_dotted)
line_r2 := line.new(bar_index, val_r2, bar_index + ext, val_r2, color=color.new(col_dn, 30), width=1, style=line.style_dotted)
line_r3 := line.new(bar_index, val_r3, bar_index + ext, val_r3, color=color.new(col_dn, 30), width=1, style=line.style_dotted)
line_s1 := line.new(bar_index, val_s1, bar_index + ext, val_s1, color=color.new(col_up, 30), width=1, style=line.style_dotted)
line_s2 := line.new(bar_index, val_s2, bar_index + ext, val_s2, color=color.new(col_up, 30), width=1, style=line.style_dotted)
line_s3 := line.new(bar_index, val_s3, bar_index + ext, val_s3, color=color.new(col_up, 30), width=1, style=line.style_dotted)
// Etiketler
lbl_p := label.new(bar_index + ext, val_p, "P: " + str.tostring(val_p, format.mintick), color=color.new(color.white, 100), textcolor=col_eq, style=label.style_label_left, size=size.normal)
lbl_r1 := label.new(bar_index + ext, val_r1, "R1: " + str.tostring(val_r1, format.mintick), color=color.new(color.white, 100), textcolor=col_dn, style=label.style_label_left, size=size.normal)
lbl_r2 := label.new(bar_index + ext, val_r2, "R2: " + str.tostring(val_r2, format.mintick), color=color.new(color.white, 100), textcolor=col_dn, style=label.style_label_left, size=size.normal)
lbl_r3 := label.new(bar_index + ext, val_r3, "R3: " + str.tostring(val_r3, format.mintick), color=color.new(color.white, 100), textcolor=col_dn, style=label.style_label_left, size=size.normal)
lbl_s1 := label.new(bar_index + ext, val_s1, "S1: " + str.tostring(val_s1, format.mintick), color=color.new(color.white, 100), textcolor=col_up, style=label.style_label_left, size=size.normal)
lbl_s2 := label.new(bar_index + ext, val_s2, "S2: " + str.tostring(val_s2, format.mintick), color=color.new(color.white, 100), textcolor=col_up, style=label.style_label_left, size=size.normal)
lbl_s3 := label.new(bar_index + ext, val_s3, "S3: " + str.tostring(val_s3, format.mintick), color=color.new(color.white, 100), textcolor=col_up, style=label.style_label_left, size=size.normal)
else
// Aπύ ve etiketleri her bar saπa kaydύr
line.set_xy1(line_p, bar_index, val_p), line.set_xy2(line_p, bar_index + ext, val_p)
line.set_xy1(line_r1, bar_index, val_r1), line.set_xy2(line_r1, bar_index + ext, val_r1)
line.set_xy1(line_r2, bar_index, val_r2), line.set_xy2(line_r2, bar_index + ext, val_r2)
line.set_xy1(line_r3, bar_index, val_r3), line.set_xy2(line_r3, bar_index + ext, val_r3)
line.set_xy1(line_s1, bar_index, val_s1), line.set_xy2(line_s1, bar_index + ext, val_s1)
line.set_xy1(line_s2, bar_index, val_s2), line.set_xy2(line_s2, bar_index + ext, val_s2)
line.set_xy1(line_s3, bar_index, val_s3), line.set_xy2(line_s3, bar_index + ext, val_s3)
label.set_xy(lbl_p, bar_index + ext, val_p), label.set_text(lbl_p, "P: " + str.tostring(val_p, format.mintick))
label.set_xy(lbl_r1, bar_index + ext, val_r1), label.set_text(lbl_r1, "R1: " + str.tostring(val_r1, format.mintick))
label.set_xy(lbl_r2, bar_index + ext, val_r2), label.set_text(lbl_r2, "R2: " + str.tostring(val_r2, format.mintick))
label.set_xy(lbl_r3, bar_index + ext, val_r3), label.set_text(lbl_r3, "R3: " + str.tostring(val_r3, format.mintick))
label.set_xy(lbl_s1, bar_index + ext, val_s1), label.set_text(lbl_s1, "S1: " + str.tostring(val_s1, format.mintick))
label.set_xy(lbl_s2, bar_index + ext, val_s2), label.set_text(lbl_s2, "S2: " + str.tostring(val_s2, format.mintick))
label.set_xy(lbl_s3, bar_index + ext, val_s3), label.set_text(lbl_s3, "S3: " + str.tostring(val_s3, format.mintick))
// Sinyal Takibi (L1 Yφn Deπiώimi)
var int trendL1 = 0
if z > z[1]
trendL1 := 1
else if z < z[1]
trendL1 := -1
var string last_sig_type = "-"
var float last_sig_price = na
if ta.change(trendL1) != 0
last_sig_type := trendL1 == 1 ? "AL" : "SAT"
last_sig_price := close
// ─────────────────────────────────────────────────────────────────
// 4. GΦRSEL TERMέNAL (DASHBOARD)
// ─────────────────────────────────────────────────────────────────
var pos = dash_pos == "Top Right" ? position.top_right : dash_pos == "Top Left" ? position.top_left : dash_pos == "Bottom Right" ? position.bottom_right : position.bottom_left
var table dash = table.new(pos, 2, 7, bgcolor=color.new(#131722, 10), border_width=1, border_color=color.new(#363a45, 50), frame_color=color.new(#363a45, 50), frame_width=1)
if show_dash and barstate.islast
// Baώlύk
table.cell(dash, 0, 0, "@yφrόk@ 2026 Gemini Pro Eπitim Ηalύώmasύdύr.", bgcolor=color.new(#2962ff, 50), text_color=color.white, text_size=size.normal, text_halign=text.align_center)
table.merge_cells(dash, 0, 0, 1, 0)
// Deπerler
table.cell(dash, 0, 1, "Fiyat", text_color=color.gray, text_size=size.normal)
table.cell(dash, 1, 1, str.tostring(close, format.mintick), text_color=color.white, text_size=size.normal)
table.cell(dash, 0, 2, "0", text_color=color.gray, text_size=size.normal)
table.cell(dash, 1, 2, str.tostring(z, format.mintick), text_color=color.silver, text_size=size.normal)
table.cell(dash, 0, 3, "(1) | (2)", text_color=color.gray, text_size=size.normal)
table.cell(dash, 1, 3, str.tostring(fast_floor, format.mintick) + " | " + str.tostring(slow_floor, format.mintick), text_color=color.aqua, text_size=size.normal)
// άηlό Kavuώum (Denge Noktasύ)
table.cell(dash, 0, 4, "(Denge)", text_color=color.gray, text_size=size.normal)
table.cell(dash, 1, 4, na(last_eq_val) ? "-" : str.tostring(last_eq_val, format.mintick), text_color=col_eq, text_size=size.normal)
// Son Sinyal
color sig_col = last_sig_type == "AL" ? col_up : last_sig_type == "SAT" ? col_dn : color.gray
table.cell(dash, 0, 5, "Son Sinyal", text_color=color.gray, text_size=size.normal)
table.cell(dash, 1, 5, last_sig_type + " (" + str.tostring(last_sig_price, format.mintick) + ")", text_color=sig_col, text_size=size.normal)
// Alt Bilgi
table.cell(dash, 0, 6, " Yatύrύm tavsiyesi DEΠέLDέR.", text_color=color.new(color.white, 0), text_size=size.normal)
table.merge_cells(dash, 0, 6, 1, 6)
/////////////
// ─────────────────────────────────────────────────────────────────
// 1. SAR HESAPLAMALARI
// ─────────────────────────────────────────────────────────────────
float roSarSlow = ta.sar(0.01, 0.01, 0.2)
float roSarModerate = ta.sar(0.01, 0.02, 0.2)
float roSarFast = ta.sar(0.01, 0.03, 0.2)
// ─────────────────────────────────────────────────────────────────
// 2. SAR ΗέZέMLERέ (Artύ έώareti, 1 Kalύnlύk, Sabit Renkler)
// ─────────────────────────────────────────────────────────────────
plot(roSarSlow, title="C", style=plot.style_cross, color=color.yellow, linewidth=1)
plot(roSarModerate, title="B", style=plot.style_cross, color=color.yellow, linewidth=1)
plot(roSarFast, title="A", style=plot.style_cross, color=color.yellow, linewidth=1)
// ─────────────────────────────────────────────────────────────────
// 5. MOTOR: MA KANAL PέVOTLARI VE ELMAS TETέK (RέSK MOTORU)
// ─────────────────────────────────────────────────────────────────
float sarMavi = ta.sar(0.0, 0.003, 0.02), sarSari = ta.sar(0.0, 0.001, 0.02), sarFusya = ta.sar(0.001, 0.0005, 0.02)
plot(sarMavi, "X", color.new(#040cfb, 0), 1, plot.style_cross)
plot(sarSari, "Y", color.new(#040cfb, 0), 1, plot.style_cross)
plot(sarFusya, "Z", color.new(#040cfb, 0), 1, plot.style_cross)
//////////////
// 6. MOTOR: GάVENLέ BΦLGE (8-34 POWER TREND FέLTRESέ)
// ─────────────────────────────────────────────────────────────────
group_pt = "Gόvenli Bφlge (8-34 PT Filtresi)"
bool show_pt_bg = input.bool(true, "Yeώil Arka Planύ Gφster", group=group_pt)
int pt_ema_len = input.int(21, "PT Hύzlύ (EMA)", group=group_pt)
int pt_sma_len = input.int(89, "PT Yavaώ (SMA)", group=group_pt)
float emaPT = ta.ema(close, pt_ema_len), float smaPT = ta.sma(close, pt_sma_len)
var int cL = 0
cL := (low > emaPT) ? nz(cL[1]) + 1 : 0
var bool ptOn = false
ptOn := ta.crossunder(emaPT, smaPT) ? false : (cL >= 5 and emaPT > smaPT ? true : ptOn)
bgcolor(show_pt_bg and ptOn ? color.new(color.gray, 68) : na, title="Gόvenli Bφlge Arka Planύ")
////////////////
// ─────────────────────────────────────────────────────────────────
// 0. GέRDέLER VE RENK PALETέ
col_up1 = input.color(#00e676, "Boπa Ana", group=group_kin)
col_dn1 = input.color(#ff1744, "Ayύ Ana", group=group_kin)
group_stat = "1σ έstatistiksel Hedef (Kutup Yύldύzύ)"
int volLength = input.int(500, "Volatilite Periyodu", group=group_stat)
int projBars = input.int(3, "έleriye Dφnόk Mum (T)", group=group_stat)
int barsPerYear = input.int(500, "Yύllύk Mum (1dk=525600)", group=group_stat)
group_ayna = "Makro Duvarlar (Yin-Yang Ayna)"
float h_start = input.float(0.06, "Hύzlύ SAR Baώlangύη", step=0.01, group=group_ayna)
float h_inc = input.float(0.06, "Hύzlύ SAR έvme", step=0.01, group=group_ayna)
float h_max = input.float(0.30, "Hύzlύ SAR Max", step=0.1, group=group_ayna)
int pivot_len = input.int(10, "Duvar Tespiti (Pivot Uzunluπu)", group=group_ayna)
// ─────────────────────────────────────────────────────────────────
// 1. MOTOR: YέN-YANG AYNASI VE MAKRO DUVARLAR
// ─────────────────────────────────────────────────────────────────
f_ozel_sar(src_h, src_l, _start, _inc, _max, _reset_hiz) =>
var int trend = 0
var float sar_val = 0.0
var float ep = 0.0
var float af = 0.0
if trend == 0 and not na(src_h[1])
trend := src_h >= src_h[1] or src_l >= src_l[1] ? 1 : -1
sar_val := trend > 0 ? src_l[1] : src_h[1]
ep := trend > 0 ? src_h[1] : src_l[1]
af := _start
else
if _reset_hiz
af := _start
float nextsar = sar_val
if trend > 0
if src_h[1] > ep
ep := src_h[1]
af := math.min(_max, af + _inc)
nextsar := sar_val + af * (ep - sar_val)
nextsar := math.min(math.min(src_l[1], src_l[2]), nextsar)
if nextsar > src_l
trend := -1
nextsar := ep
ep := src_l
af := _start
else
if src_l[1] < ep
ep := src_l[1]
af := math.min(_max, af + _inc)
nextsar := sar_val + af * (ep - sar_val)
nextsar := math.max(math.max(src_h[1], src_h[2]), nextsar)
if nextsar < src_h
trend := 1
nextsar := ep
ep := src_h
af := _start
sar_val := nextsar
[sar_val, trend]
bool yeni_gun = ta.change(time("W")) != 0
[sar_hizli, trend_hizli] = f_ozel_sar(high, low, h_start, h_inc, h_max, yeni_gun)
float ayna_hizli = trend_hizli > 0 ? close + math.abs(close - sar_hizli) : close - math.abs(close - sar_hizli)
float ph_ayna = ta.pivothigh(ayna_hizli, pivot_len, pivot_len)
float pl_ayna = ta.pivotlow(ayna_hizli, pivot_len, pivot_len)
var array<line> macro_up_walls = array.new<line>()
var array<line> macro_dn_walls = array.new<line>()
if not na(ph_ayna)
line w_up = line.new(bar_index[pivot_len], ph_ayna, bar_index, ph_ayna, color=col_up1, width=1, style=line.style_dotted, extend=extend.right)
array.push(macro_up_walls, w_up)
if array.size(macro_up_walls) > 2
line.delete(array.shift(macro_up_walls))
if not na(pl_ayna)
line w_dn = line.new(bar_index[pivot_len], pl_ayna, bar_index, pl_ayna, color=col_dn1, width=1, style=line.style_dotted, extend=extend.right)
array.push(macro_dn_walls, w_dn)
if array.size(macro_dn_walls) > 2
line.delete(array.shift(macro_dn_walls))
plot(ayna_hizli, "Ayna", color=color.new(color.gray, 0), linewidth=1, display=display.pane)
// ─────────────────────────────────────────────────────────────────
// 2. MOTOR: έSTATέSTέKSEL VOLATέLέTE (KUTUP YILDIZI)
// ─────────────────────────────────────────────────────────────────
logReturn = math.log(close / nz(close[1], close))
rawVol = ta.stdev(logReturn, volLength)
annualVol = rawVol * math.sqrt(barsPerYear)
conePrice(float basePrice, float vol, int t, float sigmaMultiplier, int direction) =>
drift = direction * sigmaMultiplier * vol * math.sqrt(float(t) / float(barsPerYear))
basePrice * math.exp(drift)
var label[] sigmaLabels = array.new<label>()
var line[] sigmaLines = array.new<line>()
if barstate.islast
if sigmaLabels.size() > 0
for i = 0 to sigmaLabels.size() - 1
label.delete(sigmaLabels.get(i))
line.delete(sigmaLines.get(i))
sigmaLabels.clear()
sigmaLines.clear()
float tip1up = conePrice(close, annualVol, projBars, 1.0, 1)
float tip1dn = conePrice(close, annualVol, projBars, 1.0, -1)
int tipX = bar_index + projBars
if trend_hizli > 0
sigmaLabels.push(label.new(tipX, tip1up, "YTD.\n" + str.tostring(tip1up, format.mintick), color=color.new(col_up1, 80), textcolor=col_up1, style=label.style_label_left, size=size.small))
sigmaLines.push(line.new(bar_index, close, tipX, tip1up, color=color.new(col_up1, 50), style=line.style_dotted))
else if trend_hizli < 0
sigmaLabels.push(label.new(tipX, tip1dn, "YTD.\n" + str.tostring(tip1dn, format.mintick), color=color.new(col_dn1, 80), textcolor=col_dn1, style=label.style_label_left, size=size.small))
sigmaLines.push(line.new(bar_index, close, tipX, tip1dn, color=color.new(col_dn1, 50), style=line.style_dotted))


Alύntύ yaparak yanύtla
Yer έmleri