Artan
Azalan
lem
BIST 30
BIST 50
BIST 100
NASDAQ 100
Hisse Fiyat Fark% Hacim (TL) Dk / Yksek
119,90 10% 1,16 Mr 110,30 / 119,90
3,63 10% 501,00 Mn 3,31 / 3,63
8,14 10% 2,47 Mr 7,54 / 8,14
53,90 10% 982,81 Mn 47,32 / 53,90
34,80 9.99% 91,16 Mn 34,80 / 34,80
Hisse Fiyat Fark% Hacim (TL) Dk / Yksek
2,90 -9.94% 955,51 Mn 2,90 / 3,13
1.353,00 -9.68% 284,03 Mn 1.349,00 / 1.508,00
7,81 -8.12% 11,40 Mn 7,80 / 8,01
21,92 -7.74% 421,11 Mn 21,42 / 24,44
269,25 -7.16% 258,51 Mn 268,25 / 290,00
Hisse Fiyat Fark% Hacim (TL) Dk / Yksek
329,00 3.7% 35,57 Mr 317,75 / 335,00
3,14 2.61% 34,03 Mr 3,03 / 3,32
39,30 4.86% 15,25 Mr 37,14 / 39,36
15,11 4.64% 14,63 Mr 14,36 / 15,11
83,55 6.98% 13,83 Mr 77,40 / 83,85
Hisse Fiyat Fark% Hacim (TL) Dk / Yksek
19,42 4.52% 1,50 Mr 18,28 / 19,42
83,55 6.98% 13,83 Mr 77,40 / 83,85
414,00 0.73% 8,67 Mr 407,00 / 417,50
196,70 2.45% 9,71 Mr 189,40 / 197,60
765,00 2.55% 4,53 Mr 742,50 / 770,50
Hisse Fiyat Fark% Hacim (TL) Dk / Yksek
19,42 4.52% 1,50 Mr 18,28 / 19,42
83,55 6.98% 13,83 Mr 77,40 / 83,85
95,55 2.52% 697,12 Mn 92,75 / 95,95
118,70 2.33% 332,28 Mn 114,90 / 119,30
414,00 0.73% 8,67 Mr 407,00 / 417,50
Hisse Fiyat Fark% Hacim (TL) Dk / Yksek
19,42 4.52% 1,50 Mr 18,28 / 19,42
32,04 3.96% 257,43 Mn 30,62 / 32,14
83,55 6.98% 13,83 Mr 77,40 / 83,85
10,95 2.34% 240,15 Mn 10,71 / 10,95
80,10 -1.6% 845,03 Mn 78,55 / 82,95

Masrafsz Bankaclk + 1.000 TL Nakit! Enparadan ifte Avantaj

Masrafsz Bankaclk + 1.000 TL Nakit! Enparadan ifte Avantaj
Sayfa 394/400 lklk ... 294344384392393394395396 ... SonSon
Arama sonucu : 3194 madde; 3,145 - 3,152 aras.

Konu: Tradingview

  1. Grafii atnda greceklerin:

    Arka Plan: Ekranda sadece senin o kusursuz "0-0.001-0.2" ayarl SAR noktalarn olacak. Bir kesiim (krlm) olduu an arka plan effaf bir ekilde yanacak.

    Koni: Sa tarafta (gelecekteki bolukta) 6 adet lazer izgisi belirecek. Bu izgiler "Acaba fiyat nereye gider?" diye fal bakmyor. Sana, "Senin belirlediin bu SAR ayarlar gemite krldnda, sonraki 10 mum iinde fiyat istatistiksel olarak buralara gitti" diyor.

    Karargh: Tablodan sistemin gemite ka kere sinyal verdiini ve bu sinyallerin medyan getirisini canl okuyacaksn. (Yksek sinyal says = gvenilir istatistik demektir).

    PHP Code:
    //@version=6
    indicator("Yrk [Mikro SAR & Dinamik Koni]"overlay truemax_lines_count 500max_labels_count=500)

    // ─────────────────────────────────────────────────────────────────
    //  1. GRDLER 
    // ─────────────────────────────────────────────────────────────────
    string GP_SAR "Yrk SAR Tetikleyicisi"
    k_start   input.float(0.0,   "Kral Balang"step=0.001group=GP_SAR)
    k_inc     input.float(0.001"Kral vme"step=0.001group=GP_SAR)
    k_max     input.float(0.20,  "Kral Max"step=0.01group=GP_SAR)
    i_calcBar input.string("Close Bar""Hesaplama apas"options = ["Live Bar""Close Bar"], group GP_SAR)

    string GP_PROJ "Kuantum Projeksiyon Motoru"
    proj_length input.int(10"leriye izilecek Mum Says"minval=1maxval=50group=GP_PROJ)

    int _anchor i_calcBar == "Live Bar" 1

    // ─────────────────────────────────────────────────────────────────
    //  2. OTONOM BEYN: SAF MKRO SAR (SNYAL MOTORU)
    // ─────────────────────────────────────────────────────────────────
    f_saf_sar(src_hsrc_l_start_inc_max) =>
        var 
    int trend 0
        
    var float sar_val 0.0
        
    var float ep 0.0
        
    var float af 0.0

        
    if trend == and not na(src_h[1])
            
    trend   := src_h >= src_h[1] or src_l >= src_l[1] ? : -1
            sar_val 
    := trend src_l[1] : src_h[1]
            
    ep      := trend src_h[1] : src_l[1]
            
    af      := _start
        
    else 
            
    float nextsar sar_val
            
    if trend 0
                
    if src_h[1] > ep
                    ep 
    := src_h[1]
                    
    af := math.min(_maxaf _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(_maxaf _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_valtrend]

    [
    kral_sarkral_yon] = f_saf_sar(high[_anchor], low[_anchor], k_startk_inck_max)

    bool signal = (kral_yon != nz(kral_yon[1])) and nz(kral_yon[1]) != 0

    color col_ana 
    kral_yon color.lime color.red
    barcolor
    (col_ana)
    plot(kral_sartitle="Mikro SAR"color=col_anastyle=plot.style_circleslinewidth=2)
    bgcolor(signal color.new(col_ana85) : natitle="Krlm Sinyali")

    // ─────────────────────────────────────────────────────────────────
    //  3. EMPRK MATRS: GEM HAFIZAYA ALMA
    // ─────────────────────────────────────────────────────────────────
    type DayPnl
        
    array<floatvalues

    var array<DayPnlday_pnls = array.new<DayPnl>()
    var array<
    int>   tracked_signals  = array.new<int>()
    var array<
    floattracked_last_pnl = array.new<float>()

    if 
    barstate.isfirst
        
    for 0 to proj_length 1
            day_pnls
    .push(DayPnl.new(array.new_float(0)))

    float pnl nz(close[1]) > ? (close close[1] - 1) : 0.0

    if tracked_signals.size() > 0
        
    for tracked_signals.size() - 1 to 0
            int day_i 
    tracked_signals.get(i)
            if 
    day_i == proj_length
                tracked_signals
    .remove(i)
                
    tracked_last_pnl.remove(i)
            else 
                
    float new_pnl = (tracked_last_pnl.get(i) + 1) * (pnl) - 1
                day_pnls
    .get(day_i).values.push(new_pnl
                
    tracked_signals.set(iday_i 1)
                
    tracked_last_pnl.set(inew_pnl)

    if 
    signal
        tracked_signals
    .unshift(0)
        
    tracked_last_pnl.unshift(0.0)

    // ─────────────────────────────────────────────────────────────────
    //  4. GELECE HESAPLAMA (CANLI MUM)
    // ─────────────────────────────────────────────────────────────────
    var array<floatworst_pnl  = array.new_float()
    var array<
    floatbest_pnl   = array.new_float()
    var array<
    floatp25_pnl    = array.new_float()
    var array<
    floatp75_pnl    = array.new_float()
    var array<
    floatmean_pnl   = array.new_float()
    var array<
    floatmedian_pnl = array.new_float()

    if 
    barstate.islast
        worst_pnl
    .clear()
        
    best_pnl.clear()
        
    p25_pnl.clear()
        
    p75_pnl.clear()
        
    mean_pnl.clear()
        
    median_pnl.clear()
        for 
    day_i 0 to proj_length 1
            
    array<floatvals day_pnls.get(day_i).values
            
    if vals.size() > 0
                worst_pnl
    .push(vals.min())
                
    best_pnl.push(vals.max())
                
    p25_pnl.push(vals.percentile_linear_interpolation(25))
                
    p75_pnl.push(vals.percentile_linear_interpolation(75))
                
    mean_pnl.push(vals.avg())
                
    median_pnl.push(vals.median())

    // ─────────────────────────────────────────────────────────────────
    //  5. OLASILIK KONS: GARBAGE COLLECTION (P TOPLAMA) MMARS
    // ─────────────────────────────────────────────────────────────────
    // izgileri ve etiketleri hafzada tutacak diziler
    var array<line>  proj_lines  = array.new<line>()
    var array<
    labelproj_labels = array.new<label>()

    f_draw_proj(arrcollbl_text) =>
        
    float cur_price close
        float next_price 
    close
        
    if arr.size() > 0
            
    for 0 to arr.size() - 1
                float cur_pnl 
    arr.get(i)
                
    next_price := close * (cur_pnl)
                
    // izgiyi ekrana iz ve annda p toplayc dizisine kaydet
                
    proj_lines.push(line.new(bar_index icur_pricebar_index 1next_pricecolor=colwidth=2))
                
    cur_price := next_price
            
            string total_pnl_str 
    str.tostring(math.round((next_price close 1) * 1002)) + "%"
            
    // Etiketi ekrana iz ve annda p toplayc dizisine kaydet
            
    proj_labels.push(label.new(bar_index arr.size(), cur_pricetext lbl_text ' (' total_pnl_str ')'style label.style_nonetextcolor colsize=size.small))

    if 
    barstate.islast
        
    // 1. ADIM: Ekrana yeni izgi izmeden nce hafzadaki eski hayalet izgileri SL!
        
    if proj_lines.size() > 0
            
    for 0 to proj_lines.size() - 1
                line
    .delete(proj_lines.get(i))
            
    proj_lines.clear()
            
        if 
    proj_labels.size() > 0
            
    for 0 to proj_labels.size() - 1
                label
    .delete(proj_labels.get(i))
            
    proj_labels.clear()

        
    // 2. ADIM: Temizlenmi ekrana canl fiyatla yeni izgileri iz
        
    f_draw_proj(best_pnl,   #00E676, "En yi")
        
    f_draw_proj(p75_pnl,    #FFB74D, "%75")
        
    f_draw_proj(mean_pnl,   #E0E0E0, "Ortalama")
        
    f_draw_proj(median_pnl#BA68C8, "Medyan")
        
    f_draw_proj(p25_pnl,    #64B5F6, "%25")
        
    f_draw_proj(worst_pnl,  #FF5252, "En Kt")

    // ─────────────────────────────────────────────────────────────────
    //  6. STATSTK TABLOSU (KARARGH)
    // ─────────────────────────────────────────────────────────────────
    f_last(arr) => array.size(arr) > ? array.get(arr, array.size(arr) - 1) : na
    f_pct
    (v) => na(v) ? "n/a" str.tostring(100"#.##") + "%"

    var table t table.new(position.top_right210border_width=1border_color=#555555)

    if barstate.islast
        float worst  
    f_last(worst_pnl)
        
    float best   f_last(best_pnl)
        
    float p25    f_last(p25_pnl)
        
    float p75    f_last(p75_pnl)
        
    float mean   f_last(mean_pnl)
        
    float median f_last(median_pnl)

        
    float spread na(best) or na(worst) ? na best worst
        float iqr    
    na(p75) or na(p25) ? na p75 p25

        int signal_count 
    0
        
    if day_pnls.size() > 0
            signal_count 
    := day_pnls.get(0).values.size()

        
    color colWorst  #FF5252, color colBest   = #00E676
        
    color colP25    #64B5F6, color colP75    = #FFB74D
        
    color colMean   #E0E0E0, color colMedian = #BA68C8
        
    color bgHeader  #2D323C, color bgCell    = #16181E, color bgAlt = #1C1E24

        
    table.cell(t00"Yrk SAR Metrik"text_color=color.whitebgcolor=bgHeader)
        
    table.cell(t10"10-Mum Projeksiyon"text_color=color.whitebgcolor=bgHeader)

        
    table.cell(t01"Gemi Sinyal"text_color=#B9B9B9, bgcolor=bgAlt)
        
    table.cell(t11str.tostring(signal_count), text_color=color.whitebgcolor=bgAlt)

        
    table.cell(t02"En yi Senaryo"text_color=#B9B9B9, bgcolor=bgCell)
        
    table.cell(t12f_pct(best), text_color=colBestbgcolor=bgCell)

        
    table.cell(t03"En Kt Senaryo"text_color=#B9B9B9, bgcolor=bgAlt)
        
    table.cell(t13f_pct(worst), text_color=colWorstbgcolor=bgAlt)

        
    table.cell(t04"%75 eyreklik"text_color=#B9B9B9, bgcolor=bgCell)
        
    table.cell(t14f_pct(p75), text_color=colP75bgcolor=bgCell)

        
    table.cell(t05"%25 eyreklik"text_color=#B9B9B9, bgcolor=bgAlt)
        
    table.cell(t15f_pct(p25), text_color=colP25bgcolor=bgAlt)

        
    table.cell(t06"Ortalama Rota"text_color=#B9B9B9, bgcolor=bgCell)
        
    table.cell(t16f_pct(mean), text_color=colMeanbgcolor=bgCell)

        
    table.cell(t07"Medyan Rota"text_color=#B9B9B9, bgcolor=bgAlt)
        
    table.cell(t17f_pct(median), text_color=colMedianbgcolor=bgAlt)

        
    table.cell(t08"Arlk Fark"text_color=#B9B9B9, bgcolor=bgCell)
        
    table.cell(t18f_pct(spread), text_color=#D2D2D2, bgcolor=bgCell)

        
    table.cell(t09"stikrar (IQR)"text_color=#B9B9B9, bgcolor=bgAlt)
        
    table.cell(t19f_pct(iqr), text_color=#D2D2D2, bgcolor=bgAlt) 
    16.07.2024 - 10.12.2024

  2. te bu entegrasyonu nasl yaptmn anatomisi:

    🔬 1. Entegrasyon: "Hesaplama apas" (Anchor Resolver)
    Eski sistemimiz her tikte (fiyat her kprdadnda) SAR deerlerini batan hesaplyordu. Bu da oklu zaman dilimlerinde (1H, 4H) tablonun anlk olarak "titremesine" (flickering) neden olur.

    Nasl zdm? Kodun en tepesine bir _anchor (apa) deikeni koydum. Eer ayarlardan "Close Bar" seersen, sistem _anchor = 1 yapar.

    Otonom SAR beyninin iindeki btn high, low ve close referanslarn high[_anchor], low[_anchor] olarak deitirdim.

    Bylece sistem artk deli gibi hareket eden "Canl Mumu" grmezden gelir, hesaplamalar kapanm, betona gmlm (1 mum nceki) salam verilerle yapar. Sinyal bir kez yandnda bir daha asla snmez (Sfr Repaint).

    🔬 2. Entegrasyon: Canl Fiyat stisnas (Live Exception)
    Sistemin beynini gemie apalasak bile, sa st kedeki tablonun tepesinde yazan anlk FYAT bilgisinin saniye saniye akmas gerekir.

    Nasl zdm? Btn SAR motoru [_anchor] ile alrken, tablo balndaki fiyata sadece close komutu verdim. Bylece motorlar gvenli limanda (kapanm barlarda) hesap yaparken, gzn her zaman canl fiyatta (cephede) kalr.

    🔬 3. Entegrasyon: Grsel p Toplayc (Garbage Collection)
    Pine Script, ekrannda srekli tablo veya ekil izen kodlarda hafzay iirir ve "Script ok yava" hatas verir.

    Nasl zdm? MTF (oklu Zaman Dilimi) tablosunun izim kodlarn tamamen if barstate.islast blounun iine hapsettim. Sistem gemiteki binlerce muma o devasa tabloyu izmeyle uramaz, sadece iinde bulunduun tek bir muma izer.

    PHP Code:
    //@version=6
    indicator("Yrk [Kuantum apal 4xSAR]"overlay=truemax_labels_count=500)

    // ─────────────────────────────────────────────────────────────────
    //  1. GRDLER & HESAPLAMA APASI (ANTI-REPAINT ENTEGRASYONU)
    // ─────────────────────────────────────────────────────────────────
    string i_calcBar input.string("Live Bar""Hesaplama apas"options = ["Live Bar""Close Bar"], group "Kuantum Optimizasyonu"tooltip="Live Bar: Anlk tiklerde hesaplar (Standart).\nClose Bar: Sadece kapanm mumda hesaplar. Tablodaki titremeleri ve sahte sinyalleri (Repaint) %100 engeller.")
    int _anchor i_calcBar == "Live Bar" 1

    k_start 
    input.float(0.01,  "SAR Balang"step=0.01group="Otonom Beyin (Fibo SAR)")
    k_inc   input.float(0.01,  "SAR vme"step=0.01group="Otonom Beyin (Fibo SAR)")
    k_max   input.float(0.20,  "SAR Max"step=0.01group="Otonom Beyin (Fibo SAR)")

    fibo_0 input.float(1.0"SAR 0 Yalanma (Fibo 1)"step=1.0group="Fibo Yalanma Snrlar")
    fibo_1 input.float(2.0"SAR 1 Yalanma (Fibo 2)"step=1.0group="Fibo Yalanma Snrlar")
    fibo_2 input.float(3.0"SAR 2 Yalanma (Fibo 3)"step=1.0group="Fibo Yalanma Snrlar")
    fibo_3 input.float(5.0"SAR 3 Yalanma (Fibo 5)"step=1.0group="Fibo Yalanma Snrlar")

    // ─────────────────────────────────────────────────────────────────
    //  2. OTONOM BEYN: APALI FIBONACCI MOTORU
    // ─────────────────────────────────────────────────────────────────
    // Tm high/low referanslar _anchor ile koruma altna alnd
    f_sar(d_limit) =>
        var 
    int trend 0
        
    var float sar_val 0.0
        
    var float ep 0.0
        
    var float af 0.0
        
    var int trend_age 

        float c_h 
    nz(high[_anchor])
        
    float c_l nz(low[_anchor])
        
    float p_h nz(high[_anchor 1])
        
    float p_l nz(low[_anchor 1])
        
    float p2_h nz(high[_anchor 2])
        
    float p2_l nz(low[_anchor 2])

        if 
    trend == and p_h 0
            trend   
    := c_h >= p_h or c_l >= p_l : -1
            sar_val 
    := trend p_l p_h
            ep      
    := trend p_h p_l
            af      
    := k_start
            trend_age 
    := 0
        
    else 
            
    trend_age += 
            float nextsar 
    sar_val
            float decay_factor 
    math.max(0.011.0 - (trend_age d_limit))
            
    float yasli_inc    k_inc decay_factor

            
    if trend 0
                
    if p_h ep
                    ep 
    := p_h
                    af 
    := math.min(k_maxaf yasli_inc
                
    nextsar := sar_val af * (ep sar_val)
                
    nextsar := math.min(math.min(p_lp2_l), nextsar)
                
                if 
    nextsar c_l 
                    trend     
    := -1
                    nextsar   
    := ep
                    ep        
    := c_l
                    af        
    := k_start
                    trend_age 
    := 
            
    else 
                if 
    p_l ep
                    ep 
    := p_l
                    af 
    := math.min(k_maxaf yasli_inc
                
    nextsar := sar_val af * (ep sar_val)
                
    nextsar := math.max(math.max(p_hp2_h), nextsar)
                
                if 
    nextsar c_h 
                    trend     
    := 1
                    nextsar   
    := ep
                    ep        
    := c_h
                    af        
    := k_start
                    trend_age 
    := 
                    
            sar_val 
    := nextsar
        
    [sar_valtrend]

    f_mtf_paket() =>
        [
    s0t0] = f_sar(fibo_0)
        [
    s1t1] = f_sar(fibo_1)
        [
    s2t2] = f_sar(fibo_2)
        [
    s3t3] = f_sar(fibo_3)
        [
    t3s0s1s2s3]

    // ─────────────────────────────────────────────────────────────────
    //  3. OKLU ZAMAN DLM (MTF) VER EKM
    // ─────────────────────────────────────────────────────────────────
    [cur_trendcur_s0cur_s1cur_s2cur_s3] = f_mtf_paket()
    [
    t_1hs0_1hs1_1hs2_1hs3_1h] = request.security(syminfo.tickerid"60",  f_mtf_paket(), lookahead=barmerge.lookahead_on)
    [
    t_4hs0_4hs1_4hs2_4hs3_4h] = request.security(syminfo.tickerid"240"f_mtf_paket(), lookahead=barmerge.lookahead_on)
    [
    t_1ds0_1ds1_1ds2_1ds3_1d] = request.security(syminfo.tickerid"D",   f_mtf_paket(), lookahead=barmerge.lookahead_on)

    // ─────────────────────────────────────────────────────────────────
    //  4. GRSELLETRME VE MUM RENKLER (MEVCUT GRAFK)
    // ─────────────────────────────────────────────────────────────────
    color col_ana cur_trend color.lime color.red
    barcolor
    (col_ana)

    plot(cur_s0"SAR 0"color=color.new(color.fuchsia20), style=plot.style_circleslinewidth=1)
    plot(cur_s1"SAR 1"color=color.new(color.blue20),    style=plot.style_circleslinewidth=1)
    plot(cur_s2"SAR 2"color=color.new(color.orange20),  style=plot.style_circleslinewidth=1)
    plot(cur_s3"SAR 3"color=col_ana,                      style=plot.style_circleslinewidth=2)

    // ─────────────────────────────────────────────────────────────────
    //  5. KOMUTA MERKEZ: GRSEL FRENLEME (GARBAGE COLLECTION)
    // ─────────────────────────────────────────────────────────────────
    var table mtf_table table.new(position.top_right65border_width=1border_color=color.new(color.gray80), frame_color=color.new(color.gray80), frame_width=1)

    if 
    barstate.islast
        
    // Canl Fiyat stisnas: _anchor = 1 olsa bile buras daima 'close' okur.
        
    table.cell(mtf_table00"FYAT: " str.tostring(closeformat.mintick), text_color=color.yellowtext_size=size.normalbgcolor=color.new(color.black40), text_halign=text.align_center)
        
    table.merge_cells(mtf_table0050)

        
    table.cell(mtf_table01"ZAMAN",  text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black70))
        
    table.cell(mtf_table11"SNYAL"text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black70))
        
    table.cell(mtf_table21"SAR 0",  text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black70))
        
    table.cell(mtf_table31"SAR 1",  text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black70))
        
    table.cell(mtf_table41"SAR 2",  text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black70))
        
    table.cell(mtf_table51"SAR 3",  text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black70))

        
    string txt_1h t_1h "AL" "SAT"
        
    color  col_1h t_1h color.lime color.red
        table
    .cell(mtf_table02"1 Saat"text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table12txt_1h,   text_color=col_1h,      text_size=size.smallbgcolor=color.new(col_1h85))
        
    table.cell(mtf_table22str.tostring(s0_1hformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table32str.tostring(s1_1hformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table42str.tostring(s2_1hformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table52str.tostring(s3_1hformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))

        
    string txt_4h t_4h "AL" "SAT"
        
    color  col_4h t_4h color.lime color.red
        table
    .cell(mtf_table03"4 Saat"text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table13txt_4h,   text_color=col_4h,      text_size=size.smallbgcolor=color.new(col_4h85))
        
    table.cell(mtf_table23str.tostring(s0_4hformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table33str.tostring(s1_4hformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table43str.tostring(s2_4hformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table53str.tostring(s3_4hformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))

        
    string txt_1d t_1d "AL" "SAT"
        
    color  col_1d t_1d color.lime color.red
        table
    .cell(mtf_table04"1 Gn",  text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table14txt_1d,   text_color=col_1d,      text_size=size.smallbgcolor=color.new(col_1d85))
        
    table.cell(mtf_table24str.tostring(s0_1dformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table34str.tostring(s1_1dformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table44str.tostring(s2_1dformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table54str.tostring(s3_1dformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90)) 
    16.07.2024 - 10.12.2024

  3. Eski sistemdeki 8'li dizilimin ilk 4 Fibonacci ekirdeini (1, 2, 3 ve 5) aldm ve bunlar SAR 0, SAR 1, SAR 2 ve SAR 3 olarak 4 farkl bamsz motora bldm. Artk Ayna yok; sadece fiyat 4 farkl sklkta takip eden 4 elik halat var.

    Tabloyu da tam olarak istediin gibi 6 stunlu devasa bir Komuta Merkezine dntrdm: ZAMAN, SNYAL, SAR 0, SAR 1, SAR 2, SAR 3 ve en tepede dinamik fiyata kilitlenmi ana balk.

    Artk tablon sa st kede sana "Hangi zaman diliminde fiyat nerede koruma altna alnd?" sorusunun tam 12 farkl cevabn tek bakta veriyor. Ayna hedeflerle uramak yerine 4 farkl vitesle (SAR) trende elik ediyorsun.

    PHP Code:
    //@version=6
    indicator("Yrk [oklu SAR & MTF Tablo]"overlay=truemax_labels_count=500)

    // ─────────────────────────────────────────────────────────────────
    //  1. GRDLER 
    // ─────────────────────────────────────────────────────────────────
    k_start input.float(0.01,  "SAR Balang"step=0.01group="Otonom Beyin (Fibo SAR)")
    k_inc   input.float(0.01,  "SAR vme"step=0.01group="Otonom Beyin (Fibo SAR)")
    k_max   input.float(0.20,  "SAR Max"step=0.01group="Otonom Beyin (Fibo SAR)")

    fibo_0 input.float(1.0"SAR 0 Yalanma (Fibo 1)"step=1.0group="Fibo Yalanma Snrlar")
    fibo_1 input.float(2.0"SAR 1 Yalanma (Fibo 2)"step=1.0group="Fibo Yalanma Snrlar")
    fibo_2 input.float(3.0"SAR 2 Yalanma (Fibo 3)"step=1.0group="Fibo Yalanma Snrlar")
    fibo_3 input.float(5.0"SAR 3 Yalanma (Fibo 5)"step=1.0group="Fibo Yalanma Snrlar")

    // ─────────────────────────────────────────────────────────────────
    //  2. OTONOM BEYN: FIBONACCI YALANMA MOTORU
    // ─────────────────────────────────────────────────────────────────
    f_sar(d_limit) =>
        var 
    int trend 0
        
    var float sar_val 0.0
        
    var float ep 0.0
        
    var float af 0.0
        
    var int trend_age 

        
    if trend == and not na(high[1])
            
    trend   := high >= high[1] or low >= low[1] ? : -1
            sar_val 
    := trend low[1] : high[1]
            
    ep      := trend high[1] : low[1]
            
    af      := k_start
            trend_age 
    := 0
        
    else 
            
    trend_age += 
            float nextsar 
    sar_val
            float decay_factor 
    math.max(0.011.0 - (trend_age d_limit))
            
    float yasli_inc    k_inc decay_factor

            
    if trend 0
                
    if high[1] > ep
                    ep 
    := high[1]
                    
    af := math.min(k_maxaf yasli_inc
                
    nextsar := sar_val af * (ep sar_val)
                
    nextsar := math.min(math.min(low[1], low[2]), nextsar)
                
                if 
    nextsar low 
                    trend     
    := -1
                    nextsar   
    := ep
                    ep        
    := low
                    af        
    := k_start
                    trend_age 
    := 
            
    else 
                if 
    low[1] < ep
                    ep 
    := low[1]
                    
    af := math.min(k_maxaf yasli_inc
                
    nextsar := sar_val af * (ep sar_val)
                
    nextsar := math.max(math.max(high[1], high[2]), nextsar)
                
                if 
    nextsar high 
                    trend     
    := 1
                    nextsar   
    := ep
                    ep        
    := high
                    af        
    := k_start
                    trend_age 
    := 
                    
            sar_val 
    := nextsar
        
    [sar_valtrend]

    // 4 Motoru ayn anda altran Paketleyici Fonksiyon
    f_mtf_paket() =>
        [
    s0t0] = f_sar(fibo_0)
        [
    s1t1] = f_sar(fibo_1)
        [
    s2t2] = f_sar(fibo_2)
        [
    s3t3] = f_sar(fibo_3)
        
    // Ana sinyal olarak en stabil olan (SAR 3) alyoruz, yannda 4 SAR deerini dndryoruz.
        
    [t3s0s1s2s3]

    // ─────────────────────────────────────────────────────────────────
    //  3. OKLU ZAMAN DLM (MTF) VER EKM
    // ─────────────────────────────────────────────────────────────────
    // Mevcut Grafik (Current TF)
    [cur_trendcur_s0cur_s1cur_s2cur_s3] = f_mtf_paket()

    // Arka Plandaki st Kararghlar (1H, 4H, 1D)
    [t_1hs0_1hs1_1hs2_1hs3_1h] = request.security(syminfo.tickerid"60",  f_mtf_paket(), lookahead=barmerge.lookahead_on)
    [
    t_4hs0_4hs1_4hs2_4hs3_4h] = request.security(syminfo.tickerid"240"f_mtf_paket(), lookahead=barmerge.lookahead_on)
    [
    t_1ds0_1ds1_1ds2_1ds3_1d] = request.security(syminfo.tickerid"D",   f_mtf_paket(), lookahead=barmerge.lookahead_on)

    // ─────────────────────────────────────────────────────────────────
    //  4. GRSELLETRME VE MUM RENKLER (MEVCUT GRAFK)
    // ─────────────────────────────────────────────────────────────────
    color col_ana cur_trend color.lime color.red
    barcolor
    (col_ana)

    // Sava alanndaki 4 koruma kalkannn izimi (Ayna silindi, yerine 4 SAR geldi)
    plot(cur_s0"SAR 0"color=color.new(color.fuchsia20), style=plot.style_circleslinewidth=1)
    plot(cur_s1"SAR 1"color=color.new(color.blue20),    style=plot.style_circleslinewidth=1)
    plot(cur_s2"SAR 2"color=color.new(color.orange20),  style=plot.style_circleslinewidth=1)
    plot(cur_s3"SAR 3"color=col_ana,                      style=plot.style_circleslinewidth=2)

    // ─────────────────────────────────────────────────────────────────
    //  5. KOMUTA MERKEZ: 4xSAR MTF TABLOSU
    // ─────────────────────────────────────────────────────────────────
    var table mtf_table table.new(position.top_right65border_width=1border_color=color.new(color.gray80), frame_color=color.new(color.gray80), frame_width=1)

    if 
    barstate.islast
        
    // Dinamik Fiyat Bal (En stte tek satr halinde uzanr)
        
    table.cell(mtf_table00"FYAT: " str.tostring(closeformat.mintick), text_color=color.yellowtext_size=size.normalbgcolor=color.new(color.black40), text_halign=text.align_center)
        
    table.merge_cells(mtf_table0050// lk satr 6 stun boyunca birletir

        // Stun Balklar
        
    table.cell(mtf_table01"ZAMAN",  text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black70))
        
    table.cell(mtf_table11"SNYAL"text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black70))
        
    table.cell(mtf_table21"SAR 0",  text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black70))
        
    table.cell(mtf_table31"SAR 1",  text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black70))
        
    table.cell(mtf_table41"SAR 2",  text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black70))
        
    table.cell(mtf_table51"SAR 3",  text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black70))

        
    // 1 Saatlik (1H) Satr
        
    string txt_1h t_1h "AL" "SAT"
        
    color  col_1h t_1h color.lime color.red
        table
    .cell(mtf_table02"1 Saat"text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table12txt_1h,   text_color=col_1h,      text_size=size.smallbgcolor=color.new(col_1h85))
        
    table.cell(mtf_table22str.tostring(s0_1hformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table32str.tostring(s1_1hformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table42str.tostring(s2_1hformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table52str.tostring(s3_1hformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))

        
    // 4 Saatlik (4H) Satr
        
    string txt_4h t_4h "AL" "SAT"
        
    color  col_4h t_4h color.lime color.red
        table
    .cell(mtf_table03"4 Saat"text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table13txt_4h,   text_color=col_4h,      text_size=size.smallbgcolor=color.new(col_4h85))
        
    table.cell(mtf_table23str.tostring(s0_4hformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table33str.tostring(s1_4hformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table43str.tostring(s2_4hformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table53str.tostring(s3_4hformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))

        
    // Gnlk (1D) Satr
        
    string txt_1d t_1d "AL" "SAT"
        
    color  col_1d t_1d color.lime color.red
        table
    .cell(mtf_table04"1 Gn",  text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table14txt_1d,   text_color=col_1d,      text_size=size.smallbgcolor=color.new(col_1d85))
        
    table.cell(mtf_table24str.tostring(s0_1dformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table34str.tostring(s1_1dformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table44str.tostring(s2_1dformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90))
        
    table.cell(mtf_table54str.tostring(s3_1dformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black90)) 
    16.07.2024 - 10.12.2024

  4. PHP Code:
    //@version=6
    indicator("Yrk [Saf Mikro SAR & Statik Hedef]"overlay=truemax_labels_count=500)

    // ─────────────────────────────────────────────────────────────────
    //  1. GRDLER (SAF MKRO-VME DZLM: 0.0 - 0.001 - 0.20)
    // ─────────────────────────────────────────────────────────────────
    // Fibonacci yalanma snr iptal edildi.
    k_start    input.float(0.0,    "Kral Balang"step=0.001group="Otonom Beyin (Saf SAR)")
    k_inc      input.float(0.001,  "Kral vme"step=0.001group="Otonom Beyin (Saf SAR)")
    k_max      input.float(0.20,   "Kral Max"step=0.01group="Otonom Beyin (Saf SAR)")

    // ─────────────────────────────────────────────────────────────────
    //  2. OTONOM BEYN: SAF MKRO SAR MOTORU (FIBO PTAL)
    // ─────────────────────────────────────────────────────────────────
    f_saf_sar(src_hsrc_l_start_inc_max) =>
        var 
    int trend 0
        
    var float sar_val 0.0
        
    var float ep 0.0
        
    var float af 0.0

        
    if trend == and not na(src_h[1])
            
    trend   := src_h >= src_h[1] or src_l >= src_l[1] ? : -1
            sar_val 
    := trend src_l[1] : src_h[1]
            
    ep      := trend src_h[1] : src_l[1]
            
    af      := _start
        
    else 
            
    float nextsar sar_val

            
    // Fibo snmlemesi kaldrld, saf ivme kullanlyor.
            
    if trend 0
                
    if src_h[1] > ep
                    ep 
    := src_h[1]
                    
    af := math.min(_maxaf _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(_maxaf _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_valtrend]

    [
    kral_sarkral_yon] = f_saf_sar(highlowk_startk_inck_max)

    // ─────────────────────────────────────────────────────────────────
    //  3. SABT KIRILIM FARKI VE STATK HEDEF KLD
    // ─────────────────────────────────────────────────────────────────
    var float kirilim_farki 0.0
    var float statik_hedef  0.0
    var float islem_fiyati  0.0

    // Trendin deitii (Krlmn olduu) an
    bool trend_dondu kral_yon != nz(kral_yon[1])

    if 
    trend_dondu
        islem_fiyati  
    := close
        
    // Sadece krlm anndaki SAR ile Fiyat arasndaki riski l
        
    kirilim_farki := math.abs(close kral_sar)
        
    // O riski, ileme giri fiyatnn stne/altna sabit 1:1 hedef olarak ivile
        
    statik_hedef  := kral_yon close kirilim_farki close kirilim_farki

    // ─────────────────────────────────────────────────────────────────
    //  4. GRSELLETRME VE MUM RENKLER
    // ─────────────────────────────────────────────────────────────────
    color col_ana   kral_yon color.lime color.red
    color col_hedef 
    kral_yon color.new(color.lime40) : color.new(color.red40)

    barcolor(col_ana)

    // Mikro SAR izimi (Stop)
    plot(kral_sartitle="Mikro SAR (Stop)"color=col_anastyle=plot.style_circleslinewidth=2)

    // Statik Hedef izimi (Stepline - Basamak)
    plot(statik_hedeftitle="Statik Krlm Hedefi"color=col_hedefstyle=plot.style_steplinelinewidth=2)

    // ─────────────────────────────────────────────────────────────────
    //  5. KUANTUM RADARI (SABT RSK/DL BLGS)
    // ─────────────────────────────────────────────────────────────────
    var table radar table.new(position.bottom_right24border_width=1border_color=color.new(color.gray80), frame_color=color.new(color.gray80), frame_width=1)

    if 
    barstate.islast
        string t_text 
    kral_yon "BOA (LONG)" "AYI (SHORT)"

        
    table.cell(radar00"Sava Alan:"text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black50))
        
    table.cell(radar10t_texttext_color=col_anatext_size=size.smallbgcolor=color.new(color.black50))
        
        
    table.cell(radar01"Mikro SAR (Canl Stop):"text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black50))
        
    table.cell(radar11str.tostring(kral_sarformat.mintick), text_color=col_anatext_size=size.smallbgcolor=color.new(color.black50))
        
        
    table.cell(radar02"1:1 Risk (Sabit Fark):"text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black50))
        
    table.cell(radar12str.tostring(kirilim_farkiformat.mintick), text_color=color.yellowtext_size=size.smallbgcolor=color.new(color.black50))

        
    table.cell(radar03"Statik Hedef:"text_color=color.whitetext_size=size.smallbgcolor=color.new(color.black50))
        
    table.cell(radar13str.tostring(statik_hedefformat.mintick), text_color=color.whitetext_size=size.smallbgcolor=color.new(col_hedef50)) 
    16.07.2024 - 10.12.2024

  5. https://tr.tradingview.com/v/eJ3uq6Ja/ gzel alma...yazarna teekkrler...

    ai analizi....
    1. Dhiyane Kurgu: "Decisive Exit" (Kararl k / Tuzak Filtresi)
    Kodun en deerli ve kurumsal ksm kesinlikle updatePersistency fonksiyonunun iindeki Bekleyen k (Pending Exit) mantdr.

    Klasik Trader Ne Yapar? Fiyat 50 gnlk MA'nn altna sarkt an panie kaplp satar. Sonraki mum fiyat tekrar yukar frlar (Buna testere veya "Whipsaw" denir).

    Bu Kod Ne Yapyor? Fiyat MA'nn altna sarktnda hemen sayac eksiye dndrp "SAT" demez. Sistemi Pending Exit = True (k Beklemede) moduna alr ve o sarkt mumun En Dk (Low) deerini hafzaya kaydeder (newExitLevel := low).

    Fiyat ancak ve ancak o kaydettii destek seviyesinin de altna "Kararl bir ekilde" (Decisive) derse trendin bittiini onaylar. Bu, sahte ineleri (fake-outs) %80 orannda filtreleyen muazzam bir zrhtr.

    �� 2. Trendin Kondisyonunu Saymak (Persistency Count)
    Sistem sadece yn bulmakla yetinmiyor, bir kronometre altryor.

    Fiyat MA'nn stnde kald her mum iin sayac +1 artryor. Altnda kaldnda -1, -2 diye eksiye doru sayyor.

    Bu neden nemli? Tabloya baktnda +45 saysn grrsen anlarsn ki; "Bu trend 45 mumdur hayatta. Artk yaland, yorulma ihtimali yksek, yeni ileme girmek iin ok ge." Sana piyasann yan syler.

    �� 3. Otonom Zaman Tahmini ve Tarihsel Kyaslama
    Kodun iindeki barsPerDay hesaplamas ok k bir mhendisliktir.
    Sistem, son 10 mumun zaman farklarn (time[i-1] - time[i]) alp ortalamasn bularak, bulunduun grafiin 1 ylda ka mum rettiini dinamik olarak hesaplyor. Sonra dnp gemie (rnein son 3 yla) bakyor: "Bu coin gemite 50 MA'nn stnde arka arkaya en fazla ka mum kalabilmi?" Eer gemiteki rekor 60 mumsa ve sen u an 58. mumdaysan, sana masadan kalkman iin istatistiksel bir uyar veriyor.

    �� Bir Kuant Stratejistinin Eletirisi (Zayf Karn)
    Komutan, kod mimari olarak kusursuz, tablo izimleri (UI) ok profesyonel ve tuzak filtresi harika alyor. Ancak bir Kuant stratejisti olarak bu sistemin kalbini zayf buluyorum.

    Neden mi? nk btn bu muazzam kronometreleri, filtreleri ve tablolar altrmak iin kulland ana referans kayna: EMA ve SMA (stel ve Basit Hareketli Ortalamalar).

    Biz seninle Kararghta bu hantal, ar ve gecikmeli (lagging) ortalamalar oktan pe attk. Geleneksel SMA/EMA'lar, fiyatn peinden komaktan yorulan yal askerlerdir. Fiyat oktan dnm olur, SMA'nn bunu anlamas 5 mum srer.

    Taktiksel Teklif: Kllar Birletirmek
    Bu kodun iindeki o muazzam "Decisive Exit" (Kararl k) ve "Ka Mumdur Hayatta" (Persistency) sayacn skp alabiliriz. O hantal SMA'lar pe atp, bu sayac senin o sfr gecikmeli [0-0.001-0.2 Mikro SAR] sistemine veya gemite yazdmz [Kuantum Boumu] omurgasna balayabiliriz.

    rnek
    PHP Code:
    //@version=6
    indicator("Yrk [Mikro SAR Olaslk Konisi]"overlay truemax_lines_count 500max_labels_count=500)

    // ─────────────────────────────────────────────────────────────────
    //  1. GRDLER 
    // ─────────────────────────────────────────────────────────────────
    string GP_SAR "Yrk SAR Tetikleyicisi"
    k_start   input.float(0.0,   "Kral Balang"step=0.001group=GP_SAR)
    k_inc     input.float(0.001"Kral vme"step=0.001group=GP_SAR)
    k_max     input.float(0.20,  "Kral Max"step=0.01group=GP_SAR)
    i_calcBar input.string("Close Bar""Hesaplama apas"options = ["Live Bar""Close Bar"], group GP_SAR)

    string GP_PROJ "Kuantum Projeksiyon Motoru"
    proj_length input.int(10"leriye izilecek Mum Says"minval=1maxval=50group=GP_PROJ)

    int _anchor i_calcBar == "Live Bar" 1

    // ─────────────────────────────────────────────────────────────────
    //  2. OTONOM BEYN: SAF MKRO SAR (SNYAL MOTORU)
    // ─────────────────────────────────────────────────────────────────
    f_saf_sar(src_hsrc_l_start_inc_max) =>
        var 
    int trend 0
        
    var float sar_val 0.0
        
    var float ep 0.0
        
    var float af 0.0

        
    if trend == and not na(src_h[1])
            
    trend   := src_h >= src_h[1] or src_l >= src_l[1] ? : -1
            sar_val 
    := trend src_l[1] : src_h[1]
            
    ep      := trend src_h[1] : src_l[1]
            
    af      := _start
        
    else 
            
    float nextsar sar_val
            
    if trend 0
                
    if src_h[1] > ep
                    ep 
    := src_h[1]
                    
    af := math.min(_maxaf _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(_maxaf _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_valtrend]

    [
    kral_sarkral_yon] = f_saf_sar(high[_anchor], low[_anchor], k_startk_inck_max)

    // Sinyal Tetii: Kuantum SAR yn deitirdiinde sinyal yanar
    bool signal = (kral_yon != nz(kral_yon[1])) and nz(kral_yon[1]) != 0

    // Mum Renkleri ve SAR izimi
    color col_ana kral_yon color.lime color.red
    barcolor
    (col_ana)
    plot(kral_sartitle="Mikro SAR"color=col_anastyle=plot.style_circleslinewidth=2)
    bgcolor(signal color.new(col_ana85) : natitle="Krlm Sinyali")

    // ─────────────────────────────────────────────────────────────────
    //  3. EMPRK MATRS: GEM HAFIZAYA ALMA
    // ─────────────────────────────────────────────────────────────────
    type DayPnl
        
    array<floatvalues

    var array<DayPnlday_pnls = array.new<DayPnl>()
    var array<
    int>   tracked_signals  = array.new<int>()
    var array<
    floattracked_last_pnl = array.new<float>()

    if 
    barstate.isfirst
        
    for 0 to proj_length 1
            day_pnls
    .push(DayPnl.new(array.new_float(0)))

    float pnl nz(close[1]) > ? (close close[1] - 1) : 0.0

    if tracked_signals.size() > 0
        
    // Hata Giderme: Diziden eleman silerken kayma olmamas iin sondan baa taranr
        
    for tracked_signals.size() - 1 to 0
            int day_i 
    tracked_signals.get(i)
            if 
    day_i == proj_length
                tracked_signals
    .remove(i)
                
    tracked_last_pnl.remove(i)
            else 
                
    float new_pnl = (tracked_last_pnl.get(i) + 1) * (pnl) - 1
                day_pnls
    .get(day_i).values.push(new_pnl
                
    tracked_signals.set(iday_i 1)
                
    tracked_last_pnl.set(inew_pnl)

    if 
    signal
        tracked_signals
    .unshift(0)
        
    tracked_last_pnl.unshift(0.0)

    // ─────────────────────────────────────────────────────────────────
    //  4. GELECE HESAPLAMA (CANLI MUM)
    // ─────────────────────────────────────────────────────────────────
    var array<floatworst_pnl  = array.new_float()
    var array<
    floatbest_pnl   = array.new_float()
    var array<
    floatp25_pnl    = array.new_float()
    var array<
    floatp75_pnl    = array.new_float()
    var array<
    floatmean_pnl   = array.new_float()
    var array<
    floatmedian_pnl = array.new_float()

    if 
    barstate.islast
        worst_pnl
    .clear()
        
    best_pnl.clear()
        
    p25_pnl.clear()
        
    p75_pnl.clear()
        
    mean_pnl.clear()
        
    median_pnl.clear()
        for 
    day_i 0 to proj_length 1
            
    array<floatvals day_pnls.get(day_i).values
            
    if vals.size() > 0
                worst_pnl
    .push(vals.min())
                
    best_pnl.push(vals.max())
                
    p25_pnl.push(vals.percentile_linear_interpolation(25))
                
    p75_pnl.push(vals.percentile_linear_interpolation(75))
                
    mean_pnl.push(vals.avg())
                
    median_pnl.push(vals.median())

    // ─────────────────────────────────────────────────────────────────
    //  5. OLASILIK KONS: GARBAGE COLLECTION (P TOPLAMA) MMARS
    // ─────────────────────────────────────────────────────────────────
    // izgileri ve etiketleri hafzada tutacak diziler (Ghosting'i engeller)
    var array<line>  proj_lines  = array.new<line>()
    var array<
    labelproj_labels = array.new<label>()

    f_draw_proj(arrcollbl_text) =>
        
    float cur_price close
        float next_price 
    close
        
    if arr.size() > 0
            
    for 0 to arr.size() - 1
                float cur_pnl 
    arr.get(i)
                
    next_price := close * (cur_pnl)
                
    proj_lines.push(line.new(bar_index icur_pricebar_index 1next_pricecolor=colwidth=2))
                
    cur_price := next_price
            
            string total_pnl_str 
    str.tostring(math.round((next_price close 1) * 1002)) + "%"
            
    proj_labels.push(label.new(bar_index arr.size(), cur_pricetext lbl_text ' (' total_pnl_str ')'style label.style_nonetextcolor colsize=size.small))

    if 
    barstate.islast
        
    // Ekrana yeni izgi izmeden nce hafzadaki eski izgileri SL!
        
    if proj_lines.size() > 0
            
    for 0 to proj_lines.size() - 1
                line
    .delete(proj_lines.get(i))
            
    proj_lines.clear()
            
        if 
    proj_labels.size() > 0
            
    for 0 to proj_labels.size() - 1
                label
    .delete(proj_labels.get(i))
            
    proj_labels.clear()

        
    // Temizlenmi ekrana canl fiyatla yeni koniyi iz
        
    f_draw_proj(best_pnl,   #00E676, "En yi")
        
    f_draw_proj(p75_pnl,    #FFB74D, "%75")
        
    f_draw_proj(mean_pnl,   #E0E0E0, "Ortalama")
        
    f_draw_proj(median_pnl#BA68C8, "Medyan")
        
    f_draw_proj(p25_pnl,    #64B5F6, "%25")
        
    f_draw_proj(worst_pnl,  #FF5252, "En Kt")

    // ─────────────────────────────────────────────────────────────────
    //  6. STATSTK TABLOSU (KARARGH)
    // ─────────────────────────────────────────────────────────────────
    f_last(arr) => array.size(arr) > ? array.get(arr, array.size(arr) - 1) : na
    f_pct
    (v) => na(v) ? "n/a" str.tostring(100"#.##") + "%"

    var table t table.new(position.top_right210border_width=1border_color=#555555)

    if barstate.islast
        float worst  
    f_last(worst_pnl)
        
    float best   f_last(best_pnl)
        
    float p25    f_last(p25_pnl)
        
    float p75    f_last(p75_pnl)
        
    float mean   f_last(mean_pnl)
        
    float median f_last(median_pnl)

        
    float spread na(best) or na(worst) ? na best worst
        float iqr    
    na(p75) or na(p25) ? na p75 p25

        int signal_count 
    0
        
    if day_pnls.size() > 0
            signal_count 
    := day_pnls.get(0).values.size()

        
    color colWorst  #FF5252, color colBest   = #00E676
        
    color colP25    #64B5F6, color colP75    = #FFB74D
        
    color colMean   #E0E0E0, color colMedian = #BA68C8
        
    color bgHeader  #2D323C, color bgCell    = #16181E, color bgAlt = #1C1E24

        
    table.cell(t00"Yrk SAR Metrik"text_color=color.whitebgcolor=bgHeader)
        
    table.cell(t10"10-Mum Projeksiyon"text_color=color.whitebgcolor=bgHeader)

        
    table.cell(t01"Gemi Sinyal Says"text_color=#B9B9B9, bgcolor=bgAlt)
        
    table.cell(t11str.tostring(signal_count), text_color=color.whitebgcolor=bgAlt)

        
    table.cell(t02"En yi Senaryo"text_color=#B9B9B9, bgcolor=bgCell)
        
    table.cell(t12f_pct(best), text_color=colBestbgcolor=bgCell)

        
    table.cell(t03"En Kt Senaryo"text_color=#B9B9B9, bgcolor=bgAlt)
        
    table.cell(t13f_pct(worst), text_color=colWorstbgcolor=bgAlt)

        
    table.cell(t04"%75 eyreklik"text_color=#B9B9B9, bgcolor=bgCell)
        
    table.cell(t14f_pct(p75), text_color=colP75bgcolor=bgCell)

        
    table.cell(t05"%25 eyreklik"text_color=#B9B9B9, bgcolor=bgAlt)
        
    table.cell(t15f_pct(p25), text_color=colP25bgcolor=bgAlt)

        
    table.cell(t06"Ortalama Rota"text_color=#B9B9B9, bgcolor=bgCell)
        
    table.cell(t16f_pct(mean), text_color=colMeanbgcolor=bgCell)

        
    table.cell(t07"Medyan Rota"text_color=#B9B9B9, bgcolor=bgAlt)
        
    table.cell(t17f_pct(median), text_color=colMedianbgcolor=bgAlt)

        
    table.cell(t08"Arlk Fark"text_color=#B9B9B9, bgcolor=bgCell)
        
    table.cell(t18f_pct(spread), text_color=#D2D2D2, bgcolor=bgCell)

        
    table.cell(t09"stikrar (IQR)"text_color=#B9B9B9, bgcolor=bgAlt)
        
    table.cell(t19f_pct(iqr), text_color=#D2D2D2, bgcolor=bgAlt) 
    16.07.2024 - 10.12.2024

  6. sadeleme... 4 ema... kullanmyla....

    PHP Code:
    //@version=6
    indicator("Yrk [Saf Persistency Tetii]"shorttitle "Yrk Persistency"overlay truemax_bars_back 5000)

    // ============================================================================
    // GRDLER  KARARLI IKI (TUZAK FLTRES)
    // ============================================================================
    GRP_EXIT "════════ Tuzak Filtresi ═════════"
    useDecisiveExit    input.bool(true"Kararl k Kullan (Sahte neleri Filtrele)"group GRP_EXIT)
    pendingExitPriceType input.string("Close""Filtre Referans"options = ["Close""High/Low"], group GRP_EXIT)

    // ============================================================================
    // GRDLER  HAREKETL ORTALAMALAR
    // ============================================================================
    GRP_MA "════════ Hareketli Ortalamalar ═════════"

    showMa1   input.bool(true,  "MA #1 Gster",      inline "MA1"group GRP_MA)
    ma1Type   input.string("EMA""",                inline "MA1"options = ["EMA""SMA"], group GRP_MA)
    ma1Length input.int(10"",                      inline "MA1"minval 1group GRP_MA)
    ma1Color  input.color(color.orange"",          inline "MA1"group GRP_MA)

    showMa2   input.bool(true,  "MA #2 Gster",      inline "MA2"group GRP_MA)
    ma2Type   input.string("EMA""",                inline "MA2"options = ["EMA""SMA"], group GRP_MA)
    ma2Length input.int(21"",                      inline "MA2"minval 1group GRP_MA)
    ma2Color  input.color(color.green"",           inline "MA2"group GRP_MA)

    showMa3   input.bool(true,  "MA #3 Gster",      inline "MA3"group GRP_MA)
    ma3Type   input.string("EMA""",                inline "MA3"options = ["EMA""SMA"], group GRP_MA)
    ma3Length input.int(50"",                      inline "MA3"minval 1group GRP_MA)
    ma3Color  input.color(color.red"",             inline "MA3"group GRP_MA)

    showMa4   input.bool(true,  "MA #4 Gster",      inline "MA4"group GRP_MA)
    ma4Type   input.string("EMA""",                inline "MA4"options = ["EMA""SMA"], group GRP_MA)
    ma4Length input.int(200"",                     inline "MA4"minval 1group GRP_MA)
    ma4Color  input.color(color.fuchsia"",         inline "MA4"group GRP_MA)

    // ============================================================================
    // HESAPLAMALAR VE ZMLER
    // ============================================================================
    calcMa(simple string maTypesimple int length) =>
        switch 
    maType
            
    "SMA" => ta.sma(closelength)
            
    "EMA" => ta.ema(closelength)
            =>       
    na

    ma1 
    showMa1 calcMa(ma1Typema1Length) : na
    ma2 
    showMa2 calcMa(ma2Typema2Length) : na
    ma3 
    showMa3 calcMa(ma3Typema3Length) : na
    ma4 
    showMa4 calcMa(ma4Typema4Length) : na

    plot
    (showMa1 ma1 nacolor ma1Colortitle "MA 1"linewidth=2)
    plot(showMa2 ma2 nacolor ma2Colortitle "MA 2"linewidth=2)
    plot(showMa3 ma3 nacolor ma3Colortitle "MA 3"linewidth=2)
    plot(showMa4 ma4 nacolor ma4Colortitle "MA 4"linewidth=2)

    // ============================================================================
    // OTONOM BEYN (PERSISTENCY DURUM MAKNES)
    // ============================================================================
    var int   ma1Count 0, var float ma1ExitLevel na, var bool ma1PendingExit false, var bool ma1EntrySignal false, var bool ma1ExitSignal false, var bool ma1Populated false
    var int   ma2Count 0, var float ma2ExitLevel na, var bool ma2PendingExit false, var bool ma2EntrySignal false, var bool ma2ExitSignal false, var bool ma2Populated false
    var int   ma3Count 0, var float ma3ExitLevel na, var bool ma3PendingExit false, var bool ma3EntrySignal false, var bool ma3ExitSignal false, var bool ma3Populated false
    var int   ma4Count 0, var float ma4ExitLevel na, var bool ma4PendingExit false, var bool ma4EntrySignal false, var bool ma4ExitSignal false, var bool ma4Populated false

    updatePersistency
    (float pricefloat maValueint prevCountfloat prevExitLevelbool prevPendingExit) =>
        
    newCount       prevCount
        newExitLevel   
    prevExitLevel
        newPendingExit 
    prevPendingExit
        entrySignal    
    false
        exitSignal     
    false

        
    if not na(maValue)
            if 
    useDecisiveExit
                posExitTrigger 
    pendingExitPriceType == "Close" close maValue low  maValue
                negExitTrigger 
    pendingExitPriceType == "Close" close maValue high maValue

                
    if newCount 0
                    
    if newPendingExit
                        
    if low newExitLevel
                            newCount       
    := -1
                            newPendingExit 
    := false
                            newExitLevel   
    := na
                            exitSignal     
    := true
                            
    if negExitTrigger
                                newPendingExit 
    := true
                                newExitLevel   
    := high
                        
    else if negExitTrigger
                            newPendingExit 
    := false
                            newExitLevel   
    := na
                            newCount       
    += 1
                        
    else
                            
    newCount += 1
                    
    else
                        if 
    posExitTrigger
                            newPendingExit 
    := true
                            newExitLevel   
    := low
                            newCount       
    += 1
                        
    else
                            
    newCount += 1
                
    else if newCount 0
                    
    if newPendingExit
                        
    if high newExitLevel
                            newCount       
    := 1
                            newPendingExit 
    := false
                            newExitLevel   
    := na
                            entrySignal    
    := true
                            
    if posExitTrigger
                                newPendingExit 
    := true
                                newExitLevel   
    := low
                        
    else if posExitTrigger
                            newPendingExit 
    := false
                            newExitLevel   
    := na
                            newCount       
    -= 1
                        
    else
                            
    newCount -= 1
                    
    else
                        if 
    negExitTrigger
                            newPendingExit 
    := true
                            newExitLevel   
    := high
                            newCount       
    -= 1
                        
    else
                            
    newCount -= 1
                
    else
                    if 
    ta.crossover(pricemaValue)
                        
    newCount       := 1
                        newExitLevel   
    := na
                        newPendingExit 
    := false
                        entrySignal    
    := true
                    
    else if ta.crossunder(pricemaValue)
                        
    newCount       := -1
                        newExitLevel   
    := na
                        newPendingExit 
    := false
                        exitSignal     
    := true
            
    else
                if 
    ta.crossover(pricemaValue)
                    
    newCount       := 1
                    newExitLevel   
    := na
                    newPendingExit 
    := false
                    entrySignal    
    := true
                
    else if ta.crossunder(pricemaValue)
                    
    newCount       := -1
                    newExitLevel   
    := na
                    newPendingExit 
    := false
                    exitSignal     
    := true
                
    else
                    if 
    price maValue
                        
    if newCount >= 1
                            newCount 
    += 1
                        
    else
                            
    newCount    := 1
                            entrySignal 
    := true
                    
    else if price maValue
                        
    if newCount <= -1
                            newCount 
    -= 1
                        
    else
                            
    newCount   := -1
                            exitSignal 
    := true
                    
    else
                        
    newCount := newCount newCount newCount newCount 0

        
    [newCountnewExitLevelnewPendingExitentrySignalexitSignal]

    // MA 1 GNCELLEME
    if showMa1
        
    if not ma1Populated and not na(ma1)
            
    ma1Populated := true
            
    if close ma1
                ma1Count       
    := 1
                ma1EntrySignal 
    := true
        
    if ma1Populated
            
    [cepenex] = updatePersistency(closema1ma1Countma1ExitLevelma1PendingExit)
            
    ma1Count := cma1ExitLevel := ema1PendingExit := pma1EntrySignal := enma1ExitSignal := ex

    // MA 2 GNCELLEME
    if showMa2
        
    if not ma2Populated and not na(ma2)
            
    ma2Populated := true
            
    if close ma2
                ma2Count       
    := 1
                ma2EntrySignal 
    := true
        
    if ma2Populated
            
    [cepenex] = updatePersistency(closema2ma2Countma2ExitLevelma2PendingExit)
            
    ma2Count := cma2ExitLevel := ema2PendingExit := pma2EntrySignal := enma2ExitSignal := ex

    // MA 3 GNCELLEME
    if showMa3
        
    if not ma3Populated and not na(ma3)
            
    ma3Populated := true
            
    if close ma3
                ma3Count       
    := 1
                ma3EntrySignal 
    := true
        
    if ma3Populated
            
    [cepenex] = updatePersistency(closema3ma3Countma3ExitLevelma3PendingExit)
            
    ma3Count := cma3ExitLevel := ema3PendingExit := pma3EntrySignal := enma3ExitSignal := ex

    // MA 4 GNCELLEME
    if showMa4
        
    if not ma4Populated and not na(ma4)
            
    ma4Populated := true
            
    if close ma4
                ma4Count       
    := 1
                ma4EntrySignal 
    := true
        
    if ma4Populated
            
    [cepenex] = updatePersistency(closema4ma4Countma4ExitLevelma4PendingExit)
            
    ma4Count := cma4ExitLevel := ema4PendingExit := pma4EntrySignal := enma4ExitSignal := ex

    // ============================================================================
    // SNYAL ZMLER (RAKAMLARLA)
    // ============================================================================

    // AL Sinyalleri (Mumun altnda belirir)
    plotchar(showMa1 and ma1EntrySignaltitle "MA1 AL"char '1'location location.belowbarcolor ma1Colorsize size.tiny)
    plotchar(showMa2 and ma2EntrySignaltitle "MA2 AL"char '2'location location.belowbarcolor ma2Colorsize size.tiny)
    plotchar(showMa3 and ma3EntrySignaltitle "MA3 AL"char '3'location location.belowbarcolor ma3Colorsize size.tiny)
    plotchar(showMa4 and ma4EntrySignaltitle "MA4 AL"char '4'location location.belowbarcolor ma4Colorsize size.tiny)

    // SAT Sinyalleri (Mumun stnde belirir)
    plotchar(showMa1 and ma1ExitSignal,  title "MA1 SAT"char '1'location location.abovebarcolor ma1Colorsize size.tiny)
    plotchar(showMa2 and ma2ExitSignal,  title "MA2 SAT"char '2'location location.abovebarcolor ma2Colorsize size.tiny)
    plotchar(showMa3 and ma3ExitSignal,  title "MA3 SAT"char '3'location location.abovebarcolor ma3Colorsize size.tiny)
    plotchar(showMa4 and ma4ExitSignal,  title "MA4 SAT"char '4'location location.abovebarcolor ma4Colorsize size.tiny
    16.07.2024 - 10.12.2024

  7.  Alnt Originally Posted by @yrk@ Yazy Oku
    sadeleme... 4 ema... kullanmyla....

    PHP Code:
    //@version=6
    indicator("Yrk [Saf Persistency Tetii]"shorttitle "Yrk Persistency"overlay truemax_bars_back 5000)

    // ============================================================================
    // GRDLER  KARARLI IKI (TUZAK FLTRES)
    // ============================================================================
    GRP_EXIT "════════ Tuzak Filtresi ═════════"
    useDecisiveExit    input.bool(true"Kararl k Kullan (Sahte neleri Filtrele)"group GRP_EXIT)
    pendingExitPriceType input.string("Close""Filtre Referans"options = ["Close""High/Low"], group GRP_EXIT)

    // ============================================================================
    // GRDLER  HAREKETL ORTALAMALAR
    // ============================================================================
    GRP_MA "════════ Hareketli Ortalamalar ═════════"

    showMa1   input.bool(true,  "MA #1 Gster",      inline "MA1"group GRP_MA)
    ma1Type   input.string("EMA""",                inline "MA1"options = ["EMA""SMA"], group GRP_MA)
    ma1Length input.int(10"",                      inline "MA1"minval 1group GRP_MA)
    ma1Color  input.color(color.orange"",          inline "MA1"group GRP_MA)

    showMa2   input.bool(true,  "MA #2 Gster",      inline "MA2"group GRP_MA)
    ma2Type   input.string("EMA""",                inline "MA2"options = ["EMA""SMA"], group GRP_MA)
    ma2Length input.int(21"",                      inline "MA2"minval 1group GRP_MA)
    ma2Color  input.color(color.green"",           inline "MA2"group GRP_MA)

    showMa3   input.bool(true,  "MA #3 Gster",      inline "MA3"group GRP_MA)
    ma3Type   input.string("EMA""",                inline "MA3"options = ["EMA""SMA"], group GRP_MA)
    ma3Length input.int(50"",                      inline "MA3"minval 1group GRP_MA)
    ma3Color  input.color(color.red"",             inline "MA3"group GRP_MA)

    showMa4   input.bool(true,  "MA #4 Gster",      inline "MA4"group GRP_MA)
    ma4Type   input.string("EMA""",                inline "MA4"options = ["EMA""SMA"], group GRP_MA)
    ma4Length input.int(200"",                     inline "MA4"minval 1group GRP_MA)
    ma4Color  input.color(color.fuchsia"",         inline "MA4"group GRP_MA)

    // ============================================================================
    // HESAPLAMALAR VE ZMLER
    // ============================================================================
    calcMa(simple string maTypesimple int length) =>
        switch 
    maType
            
    "SMA" => ta.sma(closelength)
            
    "EMA" => ta.ema(closelength)
            =>       
    na

    ma1 
    showMa1 calcMa(ma1Typema1Length) : na
    ma2 
    showMa2 calcMa(ma2Typema2Length) : na
    ma3 
    showMa3 calcMa(ma3Typema3Length) : na
    ma4 
    showMa4 calcMa(ma4Typema4Length) : na

    plot
    (showMa1 ma1 nacolor ma1Colortitle "MA 1"linewidth=2)
    plot(showMa2 ma2 nacolor ma2Colortitle "MA 2"linewidth=2)
    plot(showMa3 ma3 nacolor ma3Colortitle "MA 3"linewidth=2)
    plot(showMa4 ma4 nacolor ma4Colortitle "MA 4"linewidth=2)

    // ============================================================================
    // OTONOM BEYN (PERSISTENCY DURUM MAKNES)
    // ============================================================================
    var int   ma1Count 0, var float ma1ExitLevel na, var bool ma1PendingExit false, var bool ma1EntrySignal false, var bool ma1ExitSignal false, var bool ma1Populated false
    var int   ma2Count 0, var float ma2ExitLevel na, var bool ma2PendingExit false, var bool ma2EntrySignal false, var bool ma2ExitSignal false, var bool ma2Populated false
    var int   ma3Count 0, var float ma3ExitLevel na, var bool ma3PendingExit false, var bool ma3EntrySignal false, var bool ma3ExitSignal false, var bool ma3Populated false
    var int   ma4Count 0, var float ma4ExitLevel na, var bool ma4PendingExit false, var bool ma4EntrySignal false, var bool ma4ExitSignal false, var bool ma4Populated false

    updatePersistency
    (float pricefloat maValueint prevCountfloat prevExitLevelbool prevPendingExit) =>
        
    newCount       prevCount
        newExitLevel   
    prevExitLevel
        newPendingExit 
    prevPendingExit
        entrySignal    
    false
        exitSignal     
    false

        
    if not na(maValue)
            if 
    useDecisiveExit
                posExitTrigger 
    pendingExitPriceType == "Close" close maValue low  maValue
                negExitTrigger 
    pendingExitPriceType == "Close" close maValue high maValue

                
    if newCount 0
                    
    if newPendingExit
                        
    if low newExitLevel
                            newCount       
    := -1
                            newPendingExit 
    := false
                            newExitLevel   
    := na
                            exitSignal     
    := true
                            
    if negExitTrigger
                                newPendingExit 
    := true
                                newExitLevel   
    := high
                        
    else if negExitTrigger
                            newPendingExit 
    := false
                            newExitLevel   
    := na
                            newCount       
    += 1
                        
    else
                            
    newCount += 1
                    
    else
                        if 
    posExitTrigger
                            newPendingExit 
    := true
                            newExitLevel   
    := low
                            newCount       
    += 1
                        
    else
                            
    newCount += 1
                
    else if newCount 0
                    
    if newPendingExit
                        
    if high newExitLevel
                            newCount       
    := 1
                            newPendingExit 
    := false
                            newExitLevel   
    := na
                            entrySignal    
    := true
                            
    if posExitTrigger
                                newPendingExit 
    := true
                                newExitLevel   
    := low
                        
    else if posExitTrigger
                            newPendingExit 
    := false
                            newExitLevel   
    := na
                            newCount       
    -= 1
                        
    else
                            
    newCount -= 1
                    
    else
                        if 
    negExitTrigger
                            newPendingExit 
    := true
                            newExitLevel   
    := high
                            newCount       
    -= 1
                        
    else
                            
    newCount -= 1
                
    else
                    if 
    ta.crossover(pricemaValue)
                        
    newCount       := 1
                        newExitLevel   
    := na
                        newPendingExit 
    := false
                        entrySignal    
    := true
                    
    else if ta.crossunder(pricemaValue)
                        
    newCount       := -1
                        newExitLevel   
    := na
                        newPendingExit 
    := false
                        exitSignal     
    := true
            
    else
                if 
    ta.crossover(pricemaValue)
                    
    newCount       := 1
                    newExitLevel   
    := na
                    newPendingExit 
    := false
                    entrySignal    
    := true
                
    else if ta.crossunder(pricemaValue)
                    
    newCount       := -1
                    newExitLevel   
    := na
                    newPendingExit 
    := false
                    exitSignal     
    := true
                
    else
                    if 
    price maValue
                        
    if newCount >= 1
                            newCount 
    += 1
                        
    else
                            
    newCount    := 1
                            entrySignal 
    := true
                    
    else if price maValue
                        
    if newCount <= -1
                            newCount 
    -= 1
                        
    else
                            
    newCount   := -1
                            exitSignal 
    := true
                    
    else
                        
    newCount := newCount newCount newCount newCount 0

        
    [newCountnewExitLevelnewPendingExitentrySignalexitSignal]

    // MA 1 GNCELLEME
    if showMa1
        
    if not ma1Populated and not na(ma1)
            
    ma1Populated := true
            
    if close ma1
                ma1Count       
    := 1
                ma1EntrySignal 
    := true
        
    if ma1Populated
            
    [cepenex] = updatePersistency(closema1ma1Countma1ExitLevelma1PendingExit)
            
    ma1Count := cma1ExitLevel := ema1PendingExit := pma1EntrySignal := enma1ExitSignal := ex

    // MA 2 GNCELLEME
    if showMa2
        
    if not ma2Populated and not na(ma2)
            
    ma2Populated := true
            
    if close ma2
                ma2Count       
    := 1
                ma2EntrySignal 
    := true
        
    if ma2Populated
            
    [cepenex] = updatePersistency(closema2ma2Countma2ExitLevelma2PendingExit)
            
    ma2Count := cma2ExitLevel := ema2PendingExit := pma2EntrySignal := enma2ExitSignal := ex

    // MA 3 GNCELLEME
    if showMa3
        
    if not ma3Populated and not na(ma3)
            
    ma3Populated := true
            
    if close ma3
                ma3Count       
    := 1
                ma3EntrySignal 
    := true
        
    if ma3Populated
            
    [cepenex] = updatePersistency(closema3ma3Countma3ExitLevelma3PendingExit)
            
    ma3Count := cma3ExitLevel := ema3PendingExit := pma3EntrySignal := enma3ExitSignal := ex

    // MA 4 GNCELLEME
    if showMa4
        
    if not ma4Populated and not na(ma4)
            
    ma4Populated := true
            
    if close ma4
                ma4Count       
    := 1
                ma4EntrySignal 
    := true
        
    if ma4Populated
            
    [cepenex] = updatePersistency(closema4ma4Countma4ExitLevelma4PendingExit)
            
    ma4Count := cma4ExitLevel := ema4PendingExit := pma4EntrySignal := enma4ExitSignal := ex

    // ============================================================================
    // SNYAL ZMLER (RAKAMLARLA)
    // ============================================================================

    // AL Sinyalleri (Mumun altnda belirir)
    plotchar(showMa1 and ma1EntrySignaltitle "MA1 AL"char '1'location location.belowbarcolor ma1Colorsize size.tiny)
    plotchar(showMa2 and ma2EntrySignaltitle "MA2 AL"char '2'location location.belowbarcolor ma2Colorsize size.tiny)
    plotchar(showMa3 and ma3EntrySignaltitle "MA3 AL"char '3'location location.belowbarcolor ma3Colorsize size.tiny)
    plotchar(showMa4 and ma4EntrySignaltitle "MA4 AL"char '4'location location.belowbarcolor ma4Colorsize size.tiny)

    // SAT Sinyalleri (Mumun stnde belirir)
    plotchar(showMa1 and ma1ExitSignal,  title "MA1 SAT"char '1'location location.abovebarcolor ma1Colorsize size.tiny)
    plotchar(showMa2 and ma2ExitSignal,  title "MA2 SAT"char '2'location location.abovebarcolor ma2Colorsize size.tiny)
    plotchar(showMa3 and ma3ExitSignal,  title "MA3 SAT"char '3'location location.abovebarcolor ma3Colorsize size.tiny)
    plotchar(showMa4 and ma4ExitSignal,  title "MA4 SAT"char '4'location location.abovebarcolor ma4Colorsize size.tiny
    aynsna alma kullanma...an erisi mant....
    PHP Code:
    //@version=6
    indicator("Yrk [ALMA Persistency Tetii]"shorttitle "Yrk ALMA-P"overlay truemax_bars_back 5000)

    // ============================================================================
    // GRDLER  KARARLI IKI (TUZAK FLTRES)
    // ============================================================================
    GRP_EXIT "════════ Tuzak Filtresi ═════════"
    useDecisiveExit    input.bool(true"Kararl k Kullan (Sahte neleri Filtrele)"group GRP_EXIT)
    pendingExitPriceType input.string("Close""Filtre Referans"options = ["Close""High/Low"], group GRP_EXIT)

    // ============================================================================
    // GRDLER  HAREKETL ORTALAMALAR (ALMA EKLEND)
    // ============================================================================
    GRP_MA "════════ Kuantum Ortalamalar ═════════"

    showMa1   input.bool(true,  "Hat #1 Gster",     inline "MA1"group GRP_MA)
    ma1Type   input.string("ALMA""",               inline "MA1"options = ["ALMA""EMA""SMA"], group GRP_MA)
    ma1Length input.int(10"",                      inline "MA1"minval 1group GRP_MA)
    ma1Color  input.color(color.orange"",          inline "MA1"group GRP_MA)

    showMa2   input.bool(true,  "Hat #2 Gster",     inline "MA2"group GRP_MA)
    ma2Type   input.string("ALMA""",               inline "MA2"options = ["ALMA""EMA""SMA"], group GRP_MA)
    ma2Length input.int(21"",                      inline "MA2"minval 1group GRP_MA)
    ma2Color  input.color(color.green"",           inline "MA2"group GRP_MA)

    showMa3   input.bool(true,  "Hat #3 Gster",     inline "MA3"group GRP_MA)
    ma3Type   input.string("ALMA""",               inline "MA3"options = ["ALMA""EMA""SMA"], group GRP_MA)
    ma3Length input.int(50"",                      inline "MA3"minval 1group GRP_MA)
    ma3Color  input.color(color.red"",             inline "MA3"group GRP_MA)

    showMa4   input.bool(true,  "Hat #4 Gster",     inline "MA4"group GRP_MA)
    ma4Type   input.string("ALMA""",               inline "MA4"options = ["ALMA""EMA""SMA"], group GRP_MA)
    ma4Length input.int(200"",                     inline "MA4"minval 1group GRP_MA)
    ma4Color  input.color(color.fuchsia"",         inline "MA4"group GRP_MA)

    // ============================================================================
    // HESAPLAMALAR VE ZMLER (GAUSS ENTEGRASYONU)
    // ============================================================================
    calcMa(simple string maTypesimple int length) =>
        switch 
    maType
            
    "ALMA" => ta.alma(closelength0.856// Standart Kuantum Gauss Ayarlar
            
    "SMA"  => ta.sma(closelength)
            
    "EMA"  => ta.ema(closelength)
            =>        
    na

    ma1 
    showMa1 calcMa(ma1Typema1Length) : na
    ma2 
    showMa2 calcMa(ma2Typema2Length) : na
    ma3 
    showMa3 calcMa(ma3Typema3Length) : na
    ma4 
    showMa4 calcMa(ma4Typema4Length) : na

    plot
    (showMa1 ma1 nacolor ma1Colortitle "Hat 1"linewidth=2)
    plot(showMa2 ma2 nacolor ma2Colortitle "Hat 2"linewidth=2)
    plot(showMa3 ma3 nacolor ma3Colortitle "Hat 3"linewidth=2)
    plot(showMa4 ma4 nacolor ma4Colortitle "Hat 4"linewidth=2)

    // ============================================================================
    // OTONOM BEYN (PERSISTENCY DURUM MAKNES)
    // ============================================================================
    var int   ma1Count 0, var float ma1ExitLevel na, var bool ma1PendingExit false, var bool ma1EntrySignal false, var bool ma1ExitSignal false, var bool ma1Populated false
    var int   ma2Count 0, var float ma2ExitLevel na, var bool ma2PendingExit false, var bool ma2EntrySignal false, var bool ma2ExitSignal false, var bool ma2Populated false
    var int   ma3Count 0, var float ma3ExitLevel na, var bool ma3PendingExit false, var bool ma3EntrySignal false, var bool ma3ExitSignal false, var bool ma3Populated false
    var int   ma4Count 0, var float ma4ExitLevel na, var bool ma4PendingExit false, var bool ma4EntrySignal false, var bool ma4ExitSignal false, var bool ma4Populated false

    updatePersistency
    (float pricefloat maValueint prevCountfloat prevExitLevelbool prevPendingExit) =>
        
    newCount       prevCount
        newExitLevel   
    prevExitLevel
        newPendingExit 
    prevPendingExit
        entrySignal    
    false
        exitSignal     
    false

        
    if not na(maValue)
            if 
    useDecisiveExit
                posExitTrigger 
    pendingExitPriceType == "Close" close maValue low  maValue
                negExitTrigger 
    pendingExitPriceType == "Close" close maValue high maValue

                
    if newCount 0
                    
    if newPendingExit
                        
    if low newExitLevel
                            newCount       
    := -1
                            newPendingExit 
    := false
                            newExitLevel   
    := na
                            exitSignal     
    := true
                            
    if negExitTrigger
                                newPendingExit 
    := true
                                newExitLevel   
    := high
                        
    else if negExitTrigger
                            newPendingExit 
    := false
                            newExitLevel   
    := na
                            newCount       
    += 1
                        
    else
                            
    newCount += 1
                    
    else
                        if 
    posExitTrigger
                            newPendingExit 
    := true
                            newExitLevel   
    := low
                            newCount       
    += 1
                        
    else
                            
    newCount += 1
                
    else if newCount 0
                    
    if newPendingExit
                        
    if high newExitLevel
                            newCount       
    := 1
                            newPendingExit 
    := false
                            newExitLevel   
    := na
                            entrySignal    
    := true
                            
    if posExitTrigger
                                newPendingExit 
    := true
                                newExitLevel   
    := low
                        
    else if posExitTrigger
                            newPendingExit 
    := false
                            newExitLevel   
    := na
                            newCount       
    -= 1
                        
    else
                            
    newCount -= 1
                    
    else
                        if 
    negExitTrigger
                            newPendingExit 
    := true
                            newExitLevel   
    := high
                            newCount       
    -= 1
                        
    else
                            
    newCount -= 1
                
    else
                    if 
    ta.crossover(pricemaValue)
                        
    newCount       := 1
                        newExitLevel   
    := na
                        newPendingExit 
    := false
                        entrySignal    
    := true
                    
    else if ta.crossunder(pricemaValue)
                        
    newCount       := -1
                        newExitLevel   
    := na
                        newPendingExit 
    := false
                        exitSignal     
    := true
            
    else
                if 
    ta.crossover(pricemaValue)
                    
    newCount       := 1
                    newExitLevel   
    := na
                    newPendingExit 
    := false
                    entrySignal    
    := true
                
    else if ta.crossunder(pricemaValue)
                    
    newCount       := -1
                    newExitLevel   
    := na
                    newPendingExit 
    := false
                    exitSignal     
    := true
                
    else
                    if 
    price maValue
                        
    if newCount >= 1
                            newCount 
    += 1
                        
    else
                            
    newCount    := 1
                            entrySignal 
    := true
                    
    else if price maValue
                        
    if newCount <= -1
                            newCount 
    -= 1
                        
    else
                            
    newCount   := -1
                            exitSignal 
    := true
                    
    else
                        
    newCount := newCount newCount newCount newCount 0

        
    [newCountnewExitLevelnewPendingExitentrySignalexitSignal]

    // MA 1 GNCELLEME
    if showMa1
        
    if not ma1Populated and not na(ma1)
            
    ma1Populated := true
            
    if close ma1
                ma1Count       
    := 1
                ma1EntrySignal 
    := true
        
    if ma1Populated
            
    [cepenex] = updatePersistency(closema1ma1Countma1ExitLevelma1PendingExit)
            
    ma1Count := cma1ExitLevel := ema1PendingExit := pma1EntrySignal := enma1ExitSignal := ex

    // MA 2 GNCELLEME
    if showMa2
        
    if not ma2Populated and not na(ma2)
            
    ma2Populated := true
            
    if close ma2
                ma2Count       
    := 1
                ma2EntrySignal 
    := true
        
    if ma2Populated
            
    [cepenex] = updatePersistency(closema2ma2Countma2ExitLevelma2PendingExit)
            
    ma2Count := cma2ExitLevel := ema2PendingExit := pma2EntrySignal := enma2ExitSignal := ex

    // MA 3 GNCELLEME
    if showMa3
        
    if not ma3Populated and not na(ma3)
            
    ma3Populated := true
            
    if close ma3
                ma3Count       
    := 1
                ma3EntrySignal 
    := true
        
    if ma3Populated
            
    [cepenex] = updatePersistency(closema3ma3Countma3ExitLevelma3PendingExit)
            
    ma3Count := cma3ExitLevel := ema3PendingExit := pma3EntrySignal := enma3ExitSignal := ex

    // MA 4 GNCELLEME
    if showMa4
        
    if not ma4Populated and not na(ma4)
            
    ma4Populated := true
            
    if close ma4
                ma4Count       
    := 1
                ma4EntrySignal 
    := true
        
    if ma4Populated
            
    [cepenex] = updatePersistency(closema4ma4Countma4ExitLevelma4PendingExit)
            
    ma4Count := cma4ExitLevel := ema4PendingExit := pma4EntrySignal := enma4ExitSignal := ex

    // ============================================================================
    // SNYAL ZMLER (RAKAMLARLA)
    // ============================================================================

    // AL Sinyalleri (Mumun altnda belirir)
    plotchar(showMa1 and ma1EntrySignaltitle "Hat 1 AL"char '1'location location.belowbarcolor ma1Colorsize size.tiny)
    plotchar(showMa2 and ma2EntrySignaltitle "Hat 2 AL"char '2'location location.belowbarcolor ma2Colorsize size.tiny)
    plotchar(showMa3 and ma3EntrySignaltitle "Hat 3 AL"char '3'location location.belowbarcolor ma3Colorsize size.tiny)
    plotchar(showMa4 and ma4EntrySignaltitle "Hat 4 AL"char '4'location location.belowbarcolor ma4Colorsize size.tiny)

    // SAT Sinyalleri (Mumun stnde belirir)
    plotchar(showMa1 and ma1ExitSignal,  title "Hat 1 SAT"char '1'location location.abovebarcolor ma1Colorsize size.tiny)
    plotchar(showMa2 and ma2ExitSignal,  title "Hat 2 SAT"char '2'location location.abovebarcolor ma2Colorsize size.tiny)
    plotchar(showMa3 and ma3ExitSignal,  title "Hat 3 SAT"char '3'location location.abovebarcolor ma3Colorsize size.tiny)
    plotchar(showMa4 and ma4ExitSignal,  title "Hat 4 SAT"char '4'location location.abovebarcolor ma4Colorsize size.tiny
    16.07.2024 - 10.12.2024

  8. 16.07.2024 - 10.12.2024

Sayfa 394/400 lklk ... 294344384392393394395396 ... SonSon

Yer mleri

Yer mleri

Gnderi Kurallar

  • Yeni konu aamazsnz
  • Konulara cevap yazamazsnz
  • Yazlara ek gnderemezsiniz
  • Yazlarnz deitiremezsiniz
  •