PHP Code:// © Kinetik Komuta Merkezi [Nihai KKM V10 - Kuvvetler Ayrýlýðý]
//@version=6
indicator("Nihai KKM Sniper", shorttitle="KKM V10", overlay=true, max_labels_count=50, max_lines_count=50)
// ─────────────────────────────────────────────────────────────────
// 7. SAR HESAPLAMALARI VE ÇÝZÝMLER
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)
// 0. MERKEZÝ FONKSÝYONLAR (Sýfýr Gecikme Motoru)
// ─────────────────────────────────────────────────────────────────
f_zlema(series float src, simple int len) =>
float ema1 = ta.ema(src, len)
float ema2 = ta.ema(ema1, len)
ema1 + (ema1 - ema2)
// ─────────────────────────────────────────────────────────────────
// 1. GÝRDÝLER
// ─────────────────────────────────────────────────────────────────
group_l1 = "1. Kinetik Motor (Yörük)"
int atrLen = input.int(20, "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_vx = "2. Z-Vortex Barlar"
int vLen = input.int(30, "Vortex Periyodu", group=group_vx)
int zLen = input.int(5, "ZLEMA (Sýfýr Gecikme)", group=group_vx)
float vHot = input.float(1.1, "Patlama Eþiði", step=0.05, group=group_vx)
group_holy = "3. Kurumsal S-TWAP Filtresi"
float maxTension = input.float(2.0, "Maksimum Gerginlik Sýnýrý", step=0.1, group=group_holy)
// ─────────────────────────────────────────────────────────────────
// 2. ARKA PLAN HESAPLAMALARI (SAF YÖRÜK VE TWAP)
// ─────────────────────────────────────────────────────────────────
f_yoruk_pure() =>
float threshold = ta.atr(atrLen) * atrMult
var float z = na
var float v = 0.0
if bar_index == 0
z := hl2
else
float zPrev = z[1], float vPrev = v[1]
float zPred = zPrev + vPrev
float zTemp = zPred + mu * (hl2 - 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
z
// TWAP Katmanlarý
f_get_twap(string tf) =>
bool isNew = ta.change(time(tf)) != 0
var float sP = 0.0, var float bC = 0.0
if isNew or bar_index == 0
sP := hl2, bC := 1.0
else
sP += hl2, bC += 1.0
sP / bC
float curTwapH = f_get_twap("60")
float curTwapD = f_get_twap("D")
// ─────────────────────────────────────────────────────────────────
// 3. Z-VORTEX (KÝNETÝK IVME)
// ─────────────────────────────────────────────────────────────────
float vPlusBase = math.sum(math.abs(high - low[1]), vLen)
float vNegBase = math.sum(math.abs(low - high[1]), vLen)
float tRange = math.sum(ta.atr(1), vLen)
float plusZ = f_zlema(tRange > 0 ? vPlusBase / tRange : 0, zLen)
float negZ = f_zlema(tRange > 0 ? vNegBase / tRange : 0, zLen)
color vxColor = plusZ > vHot ? #00e676 : negZ > vHot ? #ff1744 : #787b86
barcolor(vxColor, title="Z-Vortex Barlar")
// ─────────────────────────────────────────────────────────────────
// 4. ÞELALE ÇÝZÝMLERÝ (Yörük MTF)
// ─────────────────────────────────────────────────────────────────
float y1 = f_yoruk_pure()
float y3 = request.security(syminfo.tickerid, "3", f_yoruk_pure(), lookahead=barmerge.lookahead_off)
float y5 = request.security(syminfo.tickerid, "5", f_yoruk_pure(), lookahead=barmerge.lookahead_off)
float y15 = request.security(syminfo.tickerid, "15", f_yoruk_pure(), lookahead=barmerge.lookahead_off)
float y60 = request.security(syminfo.tickerid, "60", f_yoruk_pure(), lookahead=barmerge.lookahead_off)
float y240 = request.security(syminfo.tickerid, "240", f_yoruk_pure(), lookahead=barmerge.lookahead_off)
float yD = request.security(syminfo.tickerid, "D", f_yoruk_pure(), lookahead=barmerge.lookahead_off)
plot(y1, "1m", color=color.new(#ffeb3b, 0), linewidth=1, style=plot.style_stepline)
//plot(y3, "3m", color=color.new(#ff9800, 00), linewidth=1, style=plot.style_stepline, display = display.pane)
//plot(y5, "5m", color=color.new(#e91e63, 100), linewidth=1, style=plot.style_stepline, display = display.pane)
//plot(y15, "15m", color=color.new(#9c27b0, 100), linewidth=2, style=plot.style_stepline, display = display.pane)
// ─────────────────────────────────────────────────────────────────
// 5. TERMINAL PUSULASI (HUD)
// ─────────────────────────────────────────────────────────────────
var table terminal = table.new(position.bottom_right, 2, 11, bgcolor=color.new(color.black, 60), border_color=color.new(color.gray, 80), border_width=1)
f_col(val) => close > val ? #00e676 : close < val ? #ff1744 : color.silver
if barstate.islast
table.cell(terminal, 0, 0, "AÝ GEMÝNÝ PRO 2026", text_color=color.yellow, bgcolor=color.new(color.black, 40))
table.merge_cells(terminal, 0, 0, 1, 0)
table.cell(terminal, 0, 2, "STOP (Y1/Y3 AVG)", text_color=color.white)
table.cell(terminal, 1, 2, str.tostring(math.round((y1+y3)/2, 2)), text_color=color.orange)
table.cell(terminal, 0, 3, "1m", text_color=color.white)
table.cell(terminal, 1, 3, str.tostring(math.round(y1, 2)), text_color=f_col(y1))
table.cell(terminal, 0, 4, "3m", text_color=color.white)
table.cell(terminal, 1, 4, str.tostring(math.round(y3, 2)), text_color=f_col(y3))
table.cell(terminal, 0, 5, "5m", text_color=color.white)
table.cell(terminal, 1, 5, str.tostring(math.round(y5, 2)), text_color=f_col(y5))
table.cell(terminal, 0, 6, "15m", text_color=color.white)
table.cell(terminal, 1, 6, str.tostring(math.round(y15, 2)), text_color=f_col(y15))
table.cell(terminal, 0, 7, "60m", text_color=color.white)
table.cell(terminal, 1, 7, str.tostring(math.round(y60, 2)), text_color=f_col(y60))
table.cell(terminal, 0, 8, "4S", text_color=color.white)
table.cell(terminal, 1, 8, str.tostring(math.round(y240, 2)), text_color=f_col(y240))
table.cell(terminal, 0, 9, "1G", text_color=color.white)
table.cell(terminal, 1, 9, str.tostring(math.round(yD, 2)), text_color=f_col(yD))
table.cell(terminal, 0, 10, "@yörük@ Yatýrým Tavsiyesi DEÐÝLDÝR.", text_color=color.white)
table.merge_cells(terminal, 0, 10, 1, 10)
// ─────────────────────────────────────────────────────────────────
// ─────────────────────────────────────────────────────────────────
// 7. PURE TWAP-DVDI (Kinetik Akýþ)
// ─────────────────────────────────────────────────────────────────
f_ema(float x, int t) =>
var float _ema = na
_ema := na(_ema[1]) ? x : (x - _ema[1]) * (2 / (t + 1)) + _ema[1]
f_twap_dvdi(float x, int t1, int t2) =>
var float pvi = 0.0, var float nvi = 0.0
pvi := x > nz(x[1]) ? pvi + (x - nz(x[1])) : pvi
nvi := x < nz(x[1]) ? nvi - (x - nz(x[1])) : nvi
[f_ema(pvi - f_ema(pvi, t1), t2), f_ema(nvi - f_ema(nvi, t1), t2)]
[pdiv, ndiv] = f_twap_dvdi(hl2, 200, 50)
color zemin = (pdiv > ndiv) ? (pdiv > 0 ? #05ffa6 : #05ffa6) : (ndiv > 0 ? #ff0a70 : #ff0a70)
bgcolor(color.new(zemin, 85), title="Kinetik Akýþ Zemini")
///////////
// ─────────────────────────────────────────────────────────────────
// 1. DÝNAMÝK YOÐUNLUK MOTORU (Zamaný Deðil, Maddeyi Ölçer)
// ─────────────────────────────────────────────────────────────────
// Bu motor ayný 1m verisini alýr ama ona farklý kutle dirençleri uygular.
f_kutu_kutle(int _atrLen, float _atrMult, float _mu) =>
float threshold = ta.atr(_atrLen) * _atrMult
var float z = na
var float v = 0.0
if bar_index == 0
z := hl2
else
float zPrev = z[1], float vPrev = v[1]
float zPred = zPrev + vPrev
float zTemp = zPred + _mu * (hl2 - 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
z
// ─────────────────────────────────────────────────────────────────
// 2. KÜTLE MATRÝSÝ (Camdan Çeliðe Kurumsal Maliyetler)
// ─────────────────────────────────────────────────────────────────
// Ayný 1 dakikalýk grafikte, merminin (fiyatýn) deleceði katmanlar:
float cam = f_kutu_kutle(1, 1.0, 0.05) // CAM: Çok kýrýlgan, mermi anýnda deler.
float tahta = f_kutu_kutle(1, 1.5, 0.5) // TAHTA: Standart perakende direnci.
float beton = f_kutu_kutle(1, 1.0, 0.1) // BETON: Orta ölçekli balina maliyeti.
float demir = f_kutu_kutle(1, 0.01, 0.1) // DEMÝR: Kurumsal fonlarýn aðýr duvarý.
float celik = f_kutu_kutle(1, 0.01, 0.01) // ÇELÝK: Komutanýn Tank Zýrhý! (Delinmesi en zor)
// ─────────────────────────────────────────────────────────────────
// 3. YOÐUNLUK ÇÝZÝMLERÝ (Ekraný Kirletmeden)
// ─────────────────────────────────────────────────────────────────
plot(celik, "Çelik", color=color.new(#d500f9, 0), linewidth=1, style=plot.style_stepline) // Mor
//plot(demir, "Demir", color=color.new(#ff9100, 0), linewidth=2, style=plot.style_stepline) // Turuncu
//plot(beton, "Beton", color=color.new(#2979ff, 00), linewidth=1, style=plot.style_stepline, display = display.pane) // Mavi
plot(tahta, "Tahta", color=color.new(#ffeb3b, 00), linewidth=1, style=plot.style_stepline, display = display.pane) // Yeþil
plot(cam, "Cam", color=color.new(#ffeb3b, 0), linewidth=1, style=plot.style_stepline) // Beyaz
// ─────────────────────────────────────────────────────────────────
// 4. SAR FÜZYONU VE AYNASI (Öncü Kalkan)
// ─────────────────────────────────────────────────────────────────
float af_start = 0.1
float af_step = 0.1
float af_max = 0.1
var bool is_long = true
var float ep = hl2
var float sar_f = na
var float af = af_start
if na(sar_f)
sar_f := close - ta.atr(14)
float prev_sar = sar_f
float prev_ep = ep
if is_long
sar_f := prev_sar + af * (prev_ep - prev_sar)
if hl2 > ep
ep := hl2
af := math.min(af + af_step, af_max)
if hl2 < sar_f
is_long := false
sar_f := ep
ep := hl2
af := af_start
else
sar_f := prev_sar + af * (prev_ep - prev_sar)
if hl2 < ep
ep := hl2
af := math.min(af + af_step, af_max)
if hl2 > sar_f
is_long := true
sar_f := ep
ep := hl2
af := af_start
// 🚀 AYNA SAR (Hedef ve Gerginlik Ölçer)
float sar_ayna = (2 * hl2) - sar_f
// Sinyaller
bool fuzyon_al = is_long and not is_long[1]
bool fuzyon_sat = not is_long and is_long[1]
// Görseller
color sar_renk = is_long ? color.new(color.yellow, 0) : color.new(#ff1744, 0)
//plot(sar_f, "SAR Füzyonu", color=sar_renk, style=plot.style_circles, linewidth=1)
color ayna_renk = is_long ? color.new(color.white, 0) : color.new(color.red, 0)
plot(sar_ayna, "Ayna SAR", color=ayna_renk, style=plot.style_line, linewidth=1)
//plotshape(fuzyon_sat, title="Sat", style=shape.diamond, location=location.abovebar, color=#ff1744, size=size.small)
//plotshape(fuzyon_al, title="Al", style=shape.diamond, location=location.belowbar, color=#00e676, size=size.small)
////
// ASYMMETRIC TREND ENGINE (GÖRÜNMEZ HESAPLAYICI)
// ─────────────────────────────────────────────────────────────────
float asy_src = hl2
int asy_lookback = 50
float asy_mult = 5.5
float asy_vol_threshold = ta.stdev(asy_src, asy_lookback) * asy_mult
var float asy_trend_line = na
var int asy_trend_dir = 0
var int asy_prev_dir = 0
if na(asy_trend_line)
asy_trend_line := asy_src
else
asy_prev_dir := asy_trend_dir
if asy_trend_dir >= 0
if asy_src > asy_trend_line + asy_vol_threshold * 0.5
asy_trend_line := math.max(asy_trend_line, asy_src - asy_vol_threshold * 0.25)
asy_trend_dir := 1
else if asy_src < asy_trend_line - asy_vol_threshold
asy_trend_line := asy_src + asy_vol_threshold * 0.25
asy_trend_dir := -1
else
if asy_src < asy_trend_line - asy_vol_threshold * 0.5
asy_trend_line := math.min(asy_trend_line, asy_src + asy_vol_threshold * 0.25)
asy_trend_dir := -1
else if asy_src > asy_trend_line + asy_vol_threshold
asy_trend_line := asy_src - asy_vol_threshold * 0.25
asy_trend_dir := 1
bool turned_bullish = asy_trend_dir == 1 and asy_trend_dir[1] == -1
bool turned_bearish = asy_trend_dir == -1 and asy_trend_dir[1] == 1
bool is_reversal = asy_trend_dir != asy_prev_dir and bar_index > 0
float yoruk_1m = ta.sma(hl2, 21)
//plot(yoruk_1m, "0", color=color.new(color.aqua, 20), linewidth=2)
color rev_color = asy_trend_dir == 1 ? #00ffaa : #ff0000
plotchar(is_reversal ? (asy_trend_dir == 1 ? low : high) : na, "KKM Reversal", "⦿", location = location.absolute, color = rev_color, size = size.small)
//plotshape(turned_bullish, style=shape.diamond, location=location.belowbar, color=#00ffaa, size=size.tiny, title="L Entry")
//plotshape(turned_bearish, style=shape.diamond, location=location.abovebar, color=#ff0000, size=size.tiny, title="S Entry")
alertcondition(turned_bullish, "KKM Bullish Reversal", "Kütle Ývmesi YUKARI döndü!")
alertcondition(turned_bearish, "KKM Bearish Reversal", "Kütle Ývmesi AÞAÐI döndü!")


Alýntý yaparak yanýtla
Yer Ýmleri