//
@version=6
indicator("Reuters Eikon - Kurumsal PROFESYONEL 9.3", overlay=true, max_bars_back=1000, max_lines_count=500, max_labels_count=500)
// ==========================================
// 1. ALPHATREND (Kıvanç Özbilgiç Standart Hesaplama)
// ==========================================
grp_alpha = "AlphaTrend Ayarları"
coeff = input.float(1.0, "Çarpan", step=0.1, group=grp_alpha)
ap =
input.int(14, "Periyot", group=grp_alpha)
novolumedata = input.bool(false, "Hacim Verisi Yok mu?", group=grp_alpha)
src = close
atr_val = ta.sma(
ta.tr, ap)
upT = low - atr_val * coeff
downT = high atr_val * coeff
float AlphaTrend = 0.0
AlphaTrend := (novolumedata ? ta.rsi(src, ap) >= 50 : ta.mfi(hlc3, ap) >= 50) ? (upT < nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : upT) : (downT > nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : downT)
color1 = AlphaTrend > AlphaTrend[2] ?
#00E60F : (AlphaTrend < AlphaTrend[2] ?
#80000B : (AlphaTrend[1] > AlphaTrend[3] ?
#00E60F :
#80000B))
k1 = plot(AlphaTrend, color=
color.new(
#0022FC, 0), linewidth=3, title="AlphaTrend Ana")
k2 = plot(AlphaTrend[2], color=
color.new(
#FC0400, 0), linewidth=3, title="AlphaTrend Gecikmeli")
fill(k1, k2, color=
color.new(color1, 80), title="AlphaTrend Bulutu")
buySignalk = ta.crossover(AlphaTrend, AlphaTrend[2])
sellSignalk = ta.crossunder(AlphaTrend, AlphaTrend[2])
K1 = ta.barssince(buySignalk)
K2 = ta.barssince(sellSignalk)
O1 = ta.barssince(buySignalk[1])
O2 = ta.barssince(sellSignalk[1])
plotshape(buySignalk and O1 > K2 ? AlphaTrend[2] : na, title="Buy", text="BUY", location=location.absolute, style=shape.labelup, size=size.tiny, color=
color.new(
#0022FC, 0), textcolor=color.white)
plotshape(sellSignalk and O2 > K1 ? AlphaTrend[2] : na, title="Sell", text="SELL", location=location.absolute, style=shape.labeldown, size=size.tiny, color=
color.new(
#80000B, 0), textcolor=color.white)
// ==========================================
// 2. TILLSON T3 (VFactor 0.7 Standardı)
// ==========================================
grp_t3 = "Tillson T3 Ayarları"
t3Len =
input.int(8, "T3 Period", group=grp_t3)
vFact = input.float(0.7, "VFactor", group=grp_t3)
t3Calc(source, len, vf) =>
e1 = ta.ema(source, len)
e2 = ta.ema(e1, len)
e3 = ta.ema(e2, len)
e4 = ta.ema(e3, len)
e5 = ta.ema(e4, len)
e6 = ta.ema(e5, len)
c1 = -(vf * vf * vf)
c2 = 3 * (vf * vf) 3 * (vf * vf * vf)
c3 = -6 * (vf * vf) - 3 * vf - 3 * (vf * vf * vf)
c4 = 1 3 * vf (vf * vf * vf) 3 * (vf * vf)
c1 * e6 c2 * e5 c3 * e4 c4 * e3
t3 = t3Calc(close, t3Len, vFact)
bool t3_is_bull = t3 > nz(t3[1])
plot(t3, color=t3_is_bull ?
#00FFFF :
#FF9800, linewidth=2, title="Tillson T3")
// ==========================================
// 3. TRP (TD Sequential)
// ==========================================
var int buySetup = 0
var int sellSetup = 0
buySetup := close < nz(close[4]) ? buySetup 1 : 0
sellSetup := close > nz(close[4]) ? sellSetup 1 : 0
plotshape(buySetup == 9, title="TRP 9 Buy", text="9", style=shape.triangleup, location=location.belowbar, color=
color.green, textcolor=
color.green, size=size.tiny)
plotshape(sellSetup == 9, title="TRP 9 Sell", text="9", style=shape.triangledown, location=location.abovebar, color=
color.red, textcolor=
color.red, size=size.tiny)
// ==========================================
// 4. HACİM BAZLI RENKLİ BARLAR (VCB)
// ==========================================
grp_vol = "Hacim Ayarları"
avgl =
input.int(21, "Hacim SMA Periyodu", minval=1, group=grp_vol)
v_sma = ta.sma(volume, avgl)
bool vold1 = volume > v_sma * 1.5 and close < open
bool vold2 = volume >= v_sma * 0.5 and volume <= v_sma * 1.5 and close < open
bool vold3 = volume < v_sma * 0.5 and close < open
bool volu1 = volume > v_sma * 1.5 and close > open
bool volu2 = volume >= v_sma * 0.5 and volume <= v_sma * 1.5 and close > open
bool volu3 = volume < v_sma * 0.5 and close > open
color vColor = vold1 ? #800000 : vold2 ?
#FF0000 : vold3 ?
color.orange : volu1 ? #006400 : volu2 ? color.lime : volu3 ?
#7FFFD4 : na
barcolor(vColor)
// ==========================================
// 5. PİYASA YAPISI & YATAY FİLTRE
// ==========================================
[diplus, diminus, adx_val] = ta.dmi(14, 14)
float chop_val = 100 * math.log10(math.sum(
ta.tr, 14) / (ta.highest(high, 14) - ta.lowest(low, 14))) / math.log10(14)
bool is_sideways = adx_val < 22 or chop_val > 61.8
float lowest_20 = ta.lowest(low[1], 20)
bool structure_broken = close < lowest_20
// ==========================================
// 6. DASHBOARD
// ==========================================
var table vt =
table.new(position.bottom_right, 2, 6, frame_color=
#2a2e39, frame_width=2, border_width=1, border_color=
#2a2e39)
if barstate.islast or barstate.isrealtime
c_bg_dark = #131722, c_bg_light =
#1e222d, c_bull =
#00e676, c_bear =
#ff5252, c_neutral =
#787b86, s = size.small
table.cell(vt, 0, 0, "REUTERS", bgcolor=#000000, text_color=
#ff9800, text_size=s, text_halign=text.align_left)
table.cell(vt, 1, 0, "V12 PRO", bgcolor=#000000, text_color=
#ff9800, text_size=s, text_halign=text.align_right)
bool at_bull = AlphaTrend > AlphaTrend[2]
bool trend_bull = at_bull and t3_is_bull
bool trend_bear = not at_bull and not t3_is_bull
string trend_txt = trend_bull ? "GÜÇLÜ BOĞA ↗" : trend_bear ? "GÜÇLÜ AYI ↘" : "KARIŞIK ↔"
table.cell(vt, 0, 1, "Ana Trend", bgcolor=c_bg_dark, text_color=
#64b5f6, text_size=s, text_halign=text.align_left)
table.cell(vt, 1, 1, trend_txt, bgcolor=c_bg_dark, text_color=trend_bull ? c_bull : trend_bear ? c_bear : c_neutral, text_size=s, text_halign=text.align_right)
string trp_txt = buySetup == 9 ? "GÜÇLÜ AL (9)" : sellSetup == 9 ? "GÜÇLÜ SAT (9)" : buySetup > 0 ? "Düşüş (" str.tostring(buySetup) ")" : sellSetup > 0 ? "Yükseliş (" str.tostring(sellSetup) ")" : "NÖTR"
table.cell(vt, 0, 2, "TD Kurulum", bgcolor=c_bg_light, text_color=
#ffd600, text_size=s, text_halign=text.align_left)
table.cell(vt, 1, 2, trp_txt, bgcolor=c_bg_light, text_color=(buySetup == 9 or sellSetup > 0) ? c_bull : (sellSetup == 9 or buySetup > 0) ? c_bear : c_neutral, text_size=s, text_halign=text.align_right)
bool vol_active = volume > v_sma
table.cell(vt, 0, 3, "Hacim İvmesi", bgcolor=c_bg_dark, text_color=
#00e5ff, text_size=s, text_halign=text.align_left)
table.cell(vt, 1, 3, vol_active ? "YÜKSEK ⚡" : "DÜŞÜK 💤", bgcolor=c_bg_dark, text_color=vol_active ?
#ff9800 : c_neutral, text_size=s, text_halign=text.align_right)
table.cell(vt, 0, 4, "Piyasa Yapısı", bgcolor=c_bg_light, text_color=
#ffffff, text_size=s, text_halign=text.align_left)
table.cell(vt, 1, 4, structure_broken ? "BOZULDU ⚠️" : "KORUNUYOR 🛡️", bgcolor=c_bg_light, text_color=structure_broken ? c_bear : c_bull, text_size=s, text_halign=text.align_right)
bool isGoldenBuy = trend_bull and vol_active and not structure_broken and not is_sideways
bool isGoldenSell = trend_bear and vol_active and structure_broken and not is_sideways
string final_sig = is_sideways ? "YATAY (İZLE)" : isGoldenBuy ? "GÜÇLÜ AL" : isGoldenSell ? "GÜÇLÜ SAT" : "BEKLE / NÖTR"
color final_col = is_sideways ? #313339 : isGoldenBuy ? c_bull : isGoldenSell ? c_bear : c_neutral
table.cell(vt, 0, 5, "NİHAİ KARAR", bgcolor=final_col, text_color=color.white, text_size=size.normal, text_halign=text.align_left)
table.cell(vt, 1, 5, final_sig, bgcolor=final_col, text_color=color.white, text_size=size.normal, text_halign=text.align_right)
// ==========================================
// 7. FİBONACCİ (DÜZELTİLDİ)
// ==========================================
grp_fib = "Fibonacci Ayarları"
showFib = input.bool(true, "Fib Seviyelerini Çiz", group=grp_fib)
fibLen =
input.int(100, "Geriye Dönük Periyot", minval=10, group=grp_fib)
highPrice = ta.highest(high, fibLen)
lowPrice = ta.lowest(low, fibLen)
diff = highPrice - lowPrice
var line[] fibLines =
array.new<line>()
var label[] fibLabels =
array.new<label>()
if showFib and barstate.islast
// Eski çizimleri temizleme döngüsü düzeltildi
if array.size(fibLines) > 0
for i = 0 to array.size(fibLines) - 1
line.delete(array.get(fibLines, i))
array.clear(fibLines)
if array.size(fibLabels) > 0
for i = 0 to array.size(fibLabels) - 1
label.delete(array.get(fibLabels, i))
array.clear(fibLabels)
float[] levels = array.from(0.0, 0.236, 0.382, 0.5, 0.618, 0.786, 1.0)
color[] colors = array.from(
color.red, color.gray,
color.orange,
color.green,
color.orange,
color.blue,
color.red)
string[] names = array.from("1.0 (Zirve)", "0.236", "0.382", "0.5", "0.618", "0.786", "0.0 (Dip)")
for i = 0 to array.size(levels) - 1
float val = highPrice - (diff * array.get(levels, i))
color current_col = array.get(colors, i)
line n_line =
line.new(bar_index - fibLen, val, bar_index 10, val, color=
color.new(current_col, 30), width=1)
label n_lab =
label.new(bar_index 10, val, array.get(names, i) " (" str.tostring(val, format.mintick) ")", style=
label.style_label_left, textcolor=current_col, size=size.small)
array.push(fibLines, n_line)
array.push(fibLabels, n_lab)