Sayfa 248/336 İlkİlk ... 148198238246247248249250258298 ... SonSon
Arama sonucu : 2681 madde; 1,977 - 1,984 arası.

Konu: Tradingview

  1. PHP Code:
     // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
    // © carefulCode53358

    //@version=5
    indicator('.'max_bars_back=100overlay=true)
    //Time period
    inp input(title='Source'defval=close)
    res input.timeframe(title='Resolution'defval='15')
    rep input(title='Allow Repainting?'defval=false)
    //
    src1 request.security(syminfo.tickeridresinp[rep barstate.isrealtime 0])[rep barstate.isrealtime 1]
    fastLength1 input.int(title='FastLength'defval=12minval=1)
    slowLength1 input.int(title='SlowLength'defval=26minval=1)
    signalLength1 input.int(title='SignalLength'defval=9minval=1)
    macdLevel1 input.float(title='MacdLevel'defval=0minval=0)

    fastAlpha1 2.0 / (fastLength1)
    slowAlpha1 2.0 / (slowLength1)

    fastEma1 ta.ema(src1fastLength1)
    slowEma1 ta.ema(src1slowLength1)

    pMacdEq1 fastAlpha1 slowAlpha1 != ? ((nz(fastEma1[1]) * fastAlpha1) - (nz(slowEma1[1]) * slowAlpha1)) / (fastAlpha1 slowAlpha1) : 0
    pMacdEqSig1 
    ta.ema(pMacdEq1signalLength1)
    pMacdLevel1 fastAlpha1 slowAlpha1 != ? (macdLevel1 - (nz(fastEma1[1]) * (fastAlpha1)) + (nz(slowEma1[1]) * (slowAlpha1))) / (fastAlpha1 slowAlpha1) : 0

    slo1 
    src1 pMacdEq1
    sig1 
    slo1 slo1 nz(slo1[1]) ? slo1 slo1 nz(slo1[1]) ? -: -0

    rmacdColor 
    sig1 color.lime sig1 color.lime sig1 < -color.red sig1 color.red color.white

    //plot(pMacdEq1, title='Trend Continue',style=plot.style_cross, color=rmacdColor, linewidth=2)
    //plot(pMacdEqSig1, title='MacdEqSignal', color=color.rgb(255, 255, 255, 100), linewidth=1)
    //plot(pMacdLevel1, title='MacdLevel', color=color.blue, linewidth=2)
    xyz1=(pMacdEq1+pMacdEqSig1+pMacdLevel1)/3
    //plot(xyz11, title='Avarage', color=color.rgb(241, 225, 8, 100), linewidth=2)
    //
    src25 request.security(syminfo.tickeridresinp[rep barstate.isrealtime 0])[rep barstate.isrealtime 1]
    fastLimit25 input.float(title='FastLimit'defval=0.2minval=0.01step=0.01)
    slowLimit25 input.float(title='SlowLimit'defval=0.02minval=0.01step=0.01)

    pi25 math.asin(1)
    period25 0.0
    smooth25 
    = (src25 nz(src25[1]) + nz(src25[2]) + nz(src25[3])) / 10
    detrender25 
    = (0.0962 smooth25 0.5769 nz(smooth25[2]) - 0.5769 nz(smooth25[4]) - 0.0962 nz(smooth25[6])) * (0.075 nz(period25[1]) + 0.54)

    q125 = (0.0962 detrender25 0.5769 nz(detrender25[2]) - 0.5769 nz(detrender25[4]) - 0.0962 nz(detrender25[6])) * (0.075 nz(period25[1]) + 0.54)
    i125 nz(detrender25[3])

    jI25 = (0.0962 i125 0.5769 nz(i125[2]) - 0.5769 nz(i125[4]) - 0.0962 nz(i125[6])) * (0.075 nz(period25[1]) + 0.54)
    jQ25 = (0.0962 q125 0.5769 nz(q125[2]) - 0.5769 nz(q125[4]) - 0.0962 nz(q125[6])) * (0.075 nz(period25[1]) + 0.54)

    i225 i125 jQ25
    i225 
    := 0.2 i225 0.8 nz(i225[1])
    q225 q125 jI25
    q225 
    := 0.2 q225 0.8 nz(q225[1])

    re25 i225 nz(i225[1]) + q225 nz(q225[1])
    re25 := 0.2 re25 0.8 nz(re25[1])
    im25 i225 nz(q225[1]) - q225 nz(i225[1])
    im25 := 0.2 im25 0.8 nz(im25[1])

    period25 := im25 != and re25 != pi25 math.atan(im25 re25) : 0
    period25 
    := math.min(math.max(period250.67 nz(period25[1])), 1.5 nz(period25[1]))
    period25 := math.min(math.max(period256), 50)
    period25 := 0.2 period25 0.8 nz(period25[1])

    smoothPeriod25 0.0
    smoothPeriod25 
    := 0.33 period25 0.67 nz(smoothPeriod25[1])

    phase25 i125 != math.atan(q125 i125) * 180 pi25 0
    deltaPhase25 
    nz(phase25[1]) - phase25
    deltaPhase25 
    := deltaPhase25 deltaPhase25

    alpha25 
    fastLimit25 deltaPhase25
    alpha25 
    := alpha25 slowLimit25 slowLimit25 alpha25

    mama25 
    0.0
    mama25 
    := alpha25 src25 + (alpha25) * nz(mama25[1])

    fama25 0.0
    fama25 
    := 0.5 alpha25 mama25 + (0.5 alpha25) * nz(fama25[1])

    sig25 mama25 fama25 mama25 fama25 ? -0

    mamaColor25 
    sig25 color.green sig25 color.red color.black

    //plot(mama25, title='MAMA', color=mamaColor25, linewidth=2)
    //plot(fama25, title='FAMA', color=color.new(color.yellow, 0), linewidth=2)
    xyz2=(mama25+fama25)/2
    //
    length26 input.int(title='Length'defval=15minval=1)
    momLength26 input.int(title='MomentumLength'defval=5minval=1)
    src26 request.security(syminfo.tickeridresinp[rep barstate.isrealtime 0])[rep barstate.isrealtime 1]

    num26 0.0
    coefSum26 
    0.0
    for 0 to length26 1 by 1
        coef26 
    math.abs(nz(src26[i]) - nz(src26[momLength26]))
        
    num26 += coef26 nz(src26[i])
        
    coefSum26 += coef26
        coefSum26

    filt26 
    coefSum26 != num26 coefSum26 0

    sig26 
    src26 filt26 src26 filt26 ? -0

    filtColor26 
    sig26 color.green sig26 color.red color.black

    //plot(filt26, title='Filter', color=filtColor26, linewidth=2)
    //
    src27 request.security(syminfo.tickeridresinp[rep barstate.isrealtime 0])[rep barstate.isrealtime 1]

    wma127 = (src27 nz(src27[1]) + nz(src27[2]) + nz(src27[3]) + nz(src27[4]) + nz(src27[5]) + nz(src27[6])) / 28
    wma227 
    = (wma127 nz(wma127[1]) + nz(wma127[2]) + nz(wma127[3]) + nz(wma127[4]) + nz(wma127[5]) + nz(wma127[6])) / 28

    predict27 
    wma127 wma227
    trigger27 
    = (predict27 nz(predict27[1]) + nz(predict27[2]) + nz(predict27[3])) / 10

    sig27 
    predict27 trigger27 predict27 trigger27 ? -0

    pmaColor27 
    sig27 color.green sig27 color.red color.black

    //plot(predict27, title='Predict', color=pmaColor27, linewidth=2)
    //plot(trigger27, title='Trigger', color=color.new(color.yellow, 0), linewidth=1)
    xyz3=(filt26+predict27+trigger27)/3
    //
    src29 request.security(syminfo.tickeridresinp[rep barstate.isrealtime 0])[rep barstate.isrealtime 1]
    shortLength29 input.int(title='ShortLength'defval=5minval=1)
    longLength29 input.int(title='LongLength'defval=20minval=1)

    shortAvg29 ta.wma(src29shortLength29)
    shortMa29 math.sum(math.pow(src29 shortAvg292), shortLength29) / shortLength29
    shortRms29 
    shortMa29 math.sqrt(shortMa29) : 0

    longAvg29 
    ta.wma(src29longLength29)
    longMa29 math.sum(math.pow(src29 longAvg292), longLength29) / longLength29
    longRms29 
    longMa29 math.sqrt(longMa29) : 0

    kk29 
    longRms29 != 0.2 shortRms29 longRms29 0
    vidya29 
    0.0
    vidya29 
    := kk29 src29 + (kk29) * nz(vidya29[1])

    slo29 src29 vidya29
    sig29 
    slo29 slo29 nz(slo29[1]) ? slo29 slo29 nz(slo29[1]) ? -: -0

    vidyaColor29 
    sig29 color.green sig29 color.lime sig29 < -color.maroon sig29 color.red color.black

    //plot(vidya29, title='Vidya', color=vidyaColor29, linewidth=2)
    //
    src32 request.security(syminfo.tickeridresinp[rep barstate.isrealtime 0])[rep barstate.isrealtime 1]
    length32 input.int(title='Length'defval=3minval=1)

    jsa32 = (src32 src32[length32]) / 2

    sig32 
    src32 jsa32 src32 jsa32 ? -0

    jsaColor32 
    sig32 color.green sig32 color.red color.black

    //plot(jsa32, color=jsaColor32, linewidth=2)
    //
    src33 request.security(syminfo.tickeridresinp[rep barstate.isrealtime 0])[rep barstate.isrealtime 1]
    fastLength33 input.int(title "FastLength"defval 5minval 1)
    slowLength33 input.int(title "SlowLength"defval 50minval 1)

    leavittProjection(src33length33) =>
        
    result33 ta.linreg(src33length33, -1)
        
    fastLp33 leavittProjection(src33fastLength33)
    slowLp33 leavittProjection(src33slowLength33)

    slo33 fastLp33 slowLp33
    sig33 
    slo33 slo33 nz(slo33[1]) ? slo33 slo33 nz(slo33[1]) ? -: -0

    lpColor33 
    sig33 color.lime sig33 color.lime sig33 < -color.red sig33 color.red color.white

    //plot(fastLp33, title = 'FastLp', color = lpColor33, linewidth = 2)
    //plot(slowLp33, title = 'Stop', style=plot.style_cross, color = rmacdColor, linewidth = 2)
    xyz4=(vidya29+jsa32+fastLp33+slowLp33)/4
    //
    src37 request.security(syminfo.tickeridresinp[rep barstate.isrealtime 0])[rep barstate.isrealtime 1]
    fastLength37 input.int(title='FastLength'defval=5minval=1)
    slowLength37 input.int(title='SlowLength'defval=20minval=1)
    mult37 input.int(title='Multiple'defval=1minval=1)

    fastEma37 ta.ema(src37fastLength37)
    slowEma37 ta.ema(src37slowLength37)
    sqAvg37 math.sum(math.pow(slowEma37 fastEma372), fastLength37) / fastLength37
    dev37 
    math.sqrt(sqAvg37) * mult37

    upperBand37 
    slowEma37 dev37
    lowerBand37 
    slowEma37 dev37
    middleBand37 
    fastEma37

    sig37 
    src37 upperBand37 and nz(src37[1]) <= nz(upperBand37[1]) or src37 lowerBand37 and nz(src37[1]) <= nz(lowerBand37[1]) ? src37 lowerBand37 and nz(src37[1]) >= nz(lowerBand37[1]) or src37 upperBand37 and nz(src37[1]) >= nz(upperBand37[1]) ? -src37 middleBand37 src37 middleBand37 ? -0

    mabColor37 
    sig37 color.green sig37 color.red color.black

    //plot(upperBand37, title='MabUp', color=mabColor37, linewidth=2)
    //plot(middleBand37, title='MabMid', color=color.new(color.yellow, 0), linewidth=1)
    //plot(lowerBand37, title='MabLow', color=mabColor37, linewidth=2)
    xyz5=(upperBand37+middleBand37+lowerBand37)/3
    //
    src44 request.security(syminfo.tickeridresinp[rep barstate.isrealtime 0])[rep barstate.isrealtime 1]
    length44 input.int(title='Length'defval=10minval=1)
    middleBandLength44 input.int(title='MiddleBandLength'defval=21minval=1)
    bandsDeviation44 input.float(title='BandsDeviation'defval=2.4minval=0.1)
    lowBandAdjust44 input.float(title='LowBandAdjust'defval=0.9minval=0.1)

    atrPeriod44 length44 1
    atrBuf44 
    ta.atr(atrPeriod44) * bandsDeviation44
    ma44 
    ta.ema(src44length44)

    upperBand44 ma44 ma44 atrBuf44 src44
    middleBand44 
    ta.ema(src44middleBandLength44)
    lowerBand44 ma44ma44 atrBuf44 lowBandAdjust44 src44

    sig44 
    src44 upperBand44 and nz(src44[1]) <= nz(upperBand44[1]) or src44 lowerBand44 and nz(src44[1]) <= nz(lowerBand44[1]) or src44 middleBand44 src44 lowerBand44 and nz(src44[1]) >= nz(lowerBand44[1]) or src44 upperBand44 and nz(src44[1]) >= nz(upperBand44[1]) or src44 middleBand44 ? -0

    svbColor44 
    sig44 color.green sig44 color.red color.black

    //plot(upperBand44, title='SVBUp', color=svbColor44, linewidth=2)
    //plot(middleBand44, title='SVBMid', color=color.new(color.black, 0), linewidth=1)
    //plot(lowerBand44, title='SVBLow', color=svbColor44, linewidth=2)
    xyz6=(upperBand44+middleBand44+lowerBand44)/3
    //
    float inp55 input(title 'Source'defval close)
    string res55 input.timeframe(title 'Resolution'defval '')
    bool rep55 input(title 'Allow Repainting?'defval false)
    //
    float src51 request.security(syminfo.tickerres55inp55[rep55 barstate.isrealtime 0])[rep55 barstate.isrealtime 1]
    int fastLength51 input.int(title 'FastLength'defval 5minval 1)
    int slowLength51 input.int(title 'SlowLength'defval 20minval 1)
    int sampleLength51 input.int(title 'SampleLength'defval 5minval 1)

    hannFilter51(float sampleSrc51int length51) =>
        
    filt51 0.0coef51 0.0
        
    for 1 to length51
            cosine51 
    math.cos(math.pi / (length51 1))
            
    filt51 := filt51 + (cosine51 nz(sampleSrc51[1]))
            
    coef51 := coef51 cosine51
        filt51 
    := coef51 != filt51 coef51 0

    float sample51 
    0.0
    sample51 
    := bar_index sampleLength51 == src51 nz(sample51[1])
    float fastAvg51 hannFilter51(sample51fastLength51)
    float slowAvg51 hannFilter51(sample51slowLength51)

    float slo51 fastAvg51 slowAvg51
    int sig51 
    slo51 slo51 nz(slo51[1]) ? slo51 slo51 nz(slo51[1]) ? -: -0

    color udsmaColor51 
    sig51 color.green sig51 color.lime sig51 < -color.maroon sig51 color.red color.black

    //plot(fastAvg51, title = "FastAverage", color = udsmaColor51, linewidth = 2)
    //plot(slowAvg51, title = "SlowAverage", color = chart.fg_color, linewidth = 1)
    xyz7=(fastAvg51+slowAvg51)/2
    //
    float src52 request.security(syminfo.tickeridres55inp55[rep55 barstate.isrealtime 0])[rep55 barstate.isrealtime 1]
    fastLength52 input.int(title "FastLength"defval 14minval 1)
    slowLength52 input.int(title "SlowLength"defval 30minval 1)

    leavittProjection52(float src52int length52) =>
        
    float result52 ta.linreg(src52length52, -1)
        
    leavittConvolution52(float src52int length52) =>
        
    int sqrtLength52 math.floor(nz(math.sqrt(length52)))
        
    float result52 ta.linreg(leavittProjection52(src52length52), sqrtLength52, -1)
        
    float fastConv52 leavittConvolution52(src52fastLength52)
    float slowConv52 leavittConvolution52(src52slowLength52)

    float slo52 fastConv52 slowConv52
    int sig52 
    slo52 slo52 nz(slo52[1]) ? slo52 slo52 nz(slo52[1]) ? -: -0

    color lcColor52 
    sig52 color.green sig52 color.lime sig52 < -color.maroon sig52 color.red color.white

    //plot(fastConv52, title = 'FastConv', color = lcColor52, linewidth = 2)
    //plot(slowConv52, title = 'SlowConv', color = chart.fg_color, linewidth = 1)
    xyz8=(fastConv52+slowConv52)/2
    //
    f_security(_symbol66_res66_src66_repaint66) =>
        
    request.security(_symbol66_res66_src66[_repaint66 barstate.isrealtime 0])[_repaint66 barstate.isrealtime 1]

    res66 input.timeframe(title='Resolution'defval='')
    rep66 input(title='Allow Repainting?'defval=false)
    //
    length53 input.int(title='Length'defval=20minval=1)
    factor53 input.int(title='Factor'defval=2minval=1)
    p53 f_security(syminfo.tickeridres66hl2rep66)
    h53 f_security(syminfo.tickeridres66highrep66)
    l53 f_security(syminfo.tickeridres66lowrep66)
    t53 f_security(syminfo.tickeridres66ta.trrep66)

    mpEma53 ta.ema(p53length53)
    trEma53 ta.ema(t53length53)
    stdDev53 ta.stdev(trEma53length53)

    ad53 p53 nz(p53[1]) ? mpEma53 trEma53 p53 nz(p53[1]) ? mpEma53 trEma53 mpEma53
    adm53 
    ta.ema(ad53length53)

    trndDn53 0.0
    trndDn53 
    := ta.crossunder(adm53mpEma53) ? h53[2] : p53 nz(p53[1]) ? p53 stdDev53 factor53 nz(trndDn53[1], h53[2])
    trndUp53 0.0
    trndUp53 
    := ta.crossover(adm53mpEma53) ? l53[2] : p53 nz(p53[1]) ? p53 stdDev53 factor53 nz(trndUp53[1], l53[2])
    trndr53 0.0
    trndr53 
    := adm53 mpEma53 trndDn53 adm53 mpEma53 trndUp53 nz(trndr53[1], 0)

    sig53 p53 trndr53 p53 trndr53 ? -0

    trndrColor53 
    sig53 color.green sig53 color.red color.black

    //plot(trndr53, color=trndrColor53, linewidth=2)
    //plot(mpEma53, color=color.new(color.blue, 0), linewidth=2)
    //plot(adm53, color=color.new(color.black, 0), linewidth=1)
    xyz9=(trndDn53+mpEma53+adm53)/3
    //
    c54 f_security(syminfo.tickeridres66closerep66)
    v54 f_security(syminfo.tickeridres66volumerep66)
    length54 input.int(title='Length'defval=50minval=2)
    mult54 input.float(title='Mult'defval=10.0minval=0.01)

    alpha54 2.0 / (length54 1)
    mom54 c54 nz(c54[1])
    pv54 mom54 v54 0
    nv54 
    mom54 v54 0
    pvMa54 
    ta.ema(pv54length54)
    nvMa54 ta.ema(nv54length54)
    vs54 pvMa54 nvMa54 != math.abs(pvMa54 nvMa54) / (pvMa54 nvMa54) : 0

    rsvaEma54 
    0.0
    rsvaEma54 
    := nz(rsvaEma54[1]) + (alpha54 * (+ (vs54 mult54)) * (c54 nz(rsvaEma54[1])))

    slo54 c54 rsvaEma54
    sig54 
    slo54 slo54 nz(slo54[1]) ? slo54 slo54 nz(slo54[1]) ? -: -0

    rsvaemaColor54 
    sig54 color.green sig54 color.lime sig54 < -color.maroon sig54 color.red color.black

    //plot(rsvaEma54, title='RSEma', color=rsvaemaColor54, linewidth=2)
    //
    length56 input.int(title='Length'defval=20minval=1)

    h56 f_security(syminfo.tickeridres66highrep66)
    l56 f_security(syminfo.tickeridres66lowrep66)
    c56 f_security(syminfo.tickeridres66closerep66)

    hh56 ta.highest(h56length56)
    ll56 ta.lowest(l56length56)
    atr56 ta.atr(length56)
    mult56 math.sqrt(length56)

    dSup56 hh56 atr56 mult56
    dRes56 
    ll56 atr56 mult56
    dMid56 
    = (dSup56 dRes56) / 2

    sig56 
    c56 dMid56 c56 dMid56 ? -0

    dsrColor56 
    sig56 color.green sig56 color.red color.black

    //plot(dSup56, title='Support', color=color.new(color.red, 0), linewidth=2)
    //plot(dMid56, title='Middle', color=dsrColor56, linewidth=1)
    //plot(dRes56, title='Resistance', color=color.new(color.green, 0), linewidth=2)
    xyz10=(rsvaEma54+dSup56+dMid56+dRes56)/4
    //
    length57 input.int(title='Length'defval=10minval=1)

    h57 f_security(syminfo.tickeridres66highrep66)
    l57 f_security(syminfo.tickeridres66lowrep66)
    c57 f_security(syminfo.tickeridres66closerep66)

    highMa57 ta.sma(h57length57)
    lowMa57 ta.sma(l57length57)

    ghla57 0.0
    ghla57 
    := c57 nz(highMa57[1]) ? lowMa57 c57 nz(lowMa57[1]) ? highMa57 nz(ghla57[1])

    sig57 c57 ghla57 c57 ghla57 ? -0

    ghlaColor57 
    sig57 color.green sig57 color.red color.black

    //plot(ghla57, title='GHLA', color=ghlaColor57, linewidth=2)
    //
    inp59 input(title='Source'defval=close)
    h59 f_security(syminfo.tickeridres66highrep66)
    l59 f_security(syminfo.tickeridres66lowrep66)
    c59 f_security(syminfo.tickeridres66inp59rep66)
    length59 input.int(title='Length'defval=14minval=1)

    mHigh59 ta.linreg(h59length590) - ta.linreg(h59length591)
    mLow59 ta.linreg(l59length590) - ta.linreg(l59length591)

    upperBand59 h59lowerBand59 l59
    for 0 to length59 1
        currH59 
    nz(h59[i])
        
    prevH59 nz(h59[1])
        
    currL59 nz(l59[i])
        
    prevL59 nz(l59[1])
        
        
    vHigh59 currH59 + (nz(mHigh59[i]) * i)
        
    vLow59 currL59 + (nz(mLow59[i]) * i)
        
        
    upperBand59 := math.max(vHigh59upperBand59)
        
    lowerBand59 := math.min(vLow59lowerBand59)
    middleBand59 = (upperBand59 59) / 2

    slo59 
    c59 middleBand59
    sig59 
    = (c59 upperBand59 and nz(c59[1]) <= nz(upperBand59[1])) or (c59 lowerBand59 and nz(c59[1]) <= nz(lowerBand59[1]))
          ? 
    : (c59 lowerBand59 and nz(c59[1]) >= nz(lowerBand59[1])) or (c59 upperBand59 and nz(c59[1]) >= nz(upperBand59[1]))
          ? -
    slo59 slo59 nz(slo59[1]) ? slo59 slo59 nz(slo59[1]) ? -: -0

    pbColor59 
    sig59 color.green sig59 color.lime sig59 < -color.maroon sig59 color.red color.black

    //plot(upperBand59, title="UpperBand", linewidth=2, color=pbColor59)

    //plot(lowerBand59, title="LowerBand", linewidth=2, color=pbColor59)
    xyz11=(ghla57+upperBand59+lowerBand59)/3
    //
    length61 input.int(title='Length'defval=25minval=1)
    h61 f_security(syminfo.tickeridres66highrep66)
    l61 f_security(syminfo.tickeridres66lowrep66)
    c61 f_security(syminfo.tickeridres66closerep66)

    hh61 ta.highest(h61length61)
    ll61 ta.lowest(l61length61)
    range_161 hh61 ll61

    sup161 
    ll61 0.25 range_161
    sup261 
    ll61 0.5 range_161
    res161 
    hh61 0.25 range_161
    res261 
    hh61 0.5 range_161
    mid61 
    = (sup161 sup261 res161 res261) / 4

    sig61 
    c61 mid61 c61 mid61 ? -0

    psrColor61 
    sig61 color.green sig61 color.red color.black

    //plot(sup161, title='Support1', color=color.new(color.red, 0), linewidth=2)
    //plot(sup261, title='Support2', color=color.new(color.red, 0), linewidth=2)
    //plot(mid61, title='Middle', color=psrColor61, linewidth=1)
    //plot(res161, title='Resistance1', color=color.new(color.green, 0), linewidth=2)
    //plot(res261, title='Resistance2', color=color.new(color.green, 0), linewidth=2)
    xyz12=(sup161+sup261+mid61+res161+res261)/5
    //Function Avarage
    xyz13=(xyz1+xyz2+xyz3+xyz4+xyz5+xyz6+xyz7+xyz8+xyz9+xyz10+xyz11+xyz12)/12
    plot
    (xyz13title='Super Avarage',style=plot.style_steplinecolor=rmacdColorlinewidth=2)


    //END
    //2 Pole Super Smoother Function
    SSF(xt) =>
        
    omega math.atan(1) * t
        a 
    math.exp(-math.sqrt(2) * math.atan(1) * t)
        
    math.cos(math.sqrt(2) / omega)
        
    c2 b
        c3 
    = -math.pow(a2)
        
    c1 c2 c3
        SSF 
    0.0
        SSF 
    := c1 c2 nz(SSF[1], x) + c3 nz(SSF[2], nz(SSF[1], x))
        
    SSF

    //Getter Function For Pseudo 2D Matrix
    get_val(matrowcolrowsize) =>
        array.
    get(matint(rowsize row col))

    //Setter Function For Pseudo 2D Matrix
    set_val(matrowcolrowsizeval) =>
        array.
    set(matint(rowsize row col), val)

    //LU Decomposition Function
    LU(AB) =>
        
    A_size = array.size(A)
        
    B_size = array.size(B)
        var 
    = array.new_float(A_size)
        var 
    = array.new_float(A_size)
        
    L_temp 0.0
        U_temp 
    0.0
        
    for 0 to B_size 1 by 1
            set_val
    (U0cB_sizeget_val(A0cB_size))
        for 
    1 to B_size 1 by 1
            set_val
    (Lr0B_sizeget_val(Ar0B_size) / get_val(U00B_size))
        for 
    0 to B_size 1 by 1
            
    for 0 to B_size 1 by 1
                
    if == c
                    set_val
    (LrcB_size1)
                if 
    c
                    set_val
    (LrcB_size0)
                if 
    c
                    set_val
    (UrcB_size0)
        for 
    0 to B_size 1 by 1
            
    for 0 to B_size 1 by 1
                
    if na(get_val(LrcB_size))
                    
    L_temp := get_val(ArcB_size)
                    for 
    0 to math.max(10by 1
                        L_temp 
    -= get_val(UkcB_size) * get_val(LrkB_size)
                        
    L_temp
                    set_val
    (LrcB_sizeL_temp get_val(UccB_size))
                if 
    na(get_val(UrcB_size))
                    
    U_temp := get_val(ArcB_size)
                    for 
    0 to math.max(10by 1
                        U_temp 
    -= get_val(UkcB_size) * get_val(LrkB_size)
                        
    U_temp
                    set_val
    (UrcB_sizeU_temp)
        [
    LU]

    //Lower Triangular Solution Function (Forward Substitution)
    LT_solve(L_B) =>
        
    B_size = array.size(B)
        var 
    = array.new_float(B_size)
        
    Y_temp 0.0
        
    array.set(Y0, array.get(B0) / get_val(L_00B_size))
        for 
    1 to B_size 1 by 1
            Y_temp 
    := array.get(Br)
            for 
    0 to math.max(10by 1
                Y_temp 
    -= get_val(L_rkB_size) * array.get(Yk)
                
    Y_temp
            
    array.set(YrY_temp get_val(L_rrB_size))
        
    Y

    //Upper Triangular Solution Function (Backward Substitution)
    UT_solve(U_Y_) =>
        
    Y_size = array.size(Y_)
        
    U_rev = array.copy(U_)
        
    Y_rev = array.copy(Y_)
        array.
    reverse(U_rev)
        array.
    reverse(Y_rev)
        
    X_rev LT_solve(U_revY_rev)
        
    = array.copy(X_rev)
        array.
    reverse(X)
        
    X

    //Regression Function
    regression_val(X_index_order_offset_) =>
        
    reg 0.0
        
    for 0 to order_ by 1
            reg 
    += array.get(X_i) * math.pow(index_ offset_i)
            
    reg
        reg

    //Curve Segment Drawing Function
    draw_curve(Ysdevnstep_collslwdrawconf) =>
        var 
    line segment line.new(x1=time[step_], y1=array.get(Yn) + sdevx2=time[(1) * step_], y2=array.get(Y1) + sdevxloc=xloc.bar_time)
        if 
    draw
            
    if conf barstate.isconfirmed 1
                line
    .set_xy1(segmenttime[step_], array.get(Yn) + sdev)
                
    line.set_xy2(segmenttime[(1) * step_], array.get(Y1) + sdev)
                
    line.set_color(segmentcol)
                
    line.set_width(segmentlw)
                
    line.set_style(segmentls == 'Solid' line.style_solid ls == 'Dotted' line.style_dotted line.style_dashed)
        else
            
    line.delete(segment)

    //-----------------------------------------------------------------------------------------------------------------------------------------------------------------
    //Inputs
    //-----------------------------------------------------------------------------------------------------------------------------------------------------------------

    //Source Inputs
    src input(defval=closetitle='Input Source Value')
    use_filt input(defval=truetitle='Smooth Data Before Curve Fitting')
    filt_per input.int(defval=2minval=2title='Data Smoothing Period ═══════════════════')

    //Calculation Inputs
    per input.int(defval=500minval=2title='Regression Sample Period')
    order input.int(defval=2minval=1title='Polynomial Order')
    calc_offs input(defval=0title='Regression Offset')
    ndev input.float(defval=2.0minval=0title='Width Coefficient')
    equ_from input.int(defval=0minval=0title='Forecast From _ Bars Ago ═══════════════════')

    //Channel Display Inputs
    show_curve input(defval=truetitle='Show Fitted Curve')
    show_high input(defval=truetitle='Show Fitted Channel High')
    show_low input(defval=truetitle='Show Fitted Channel Low')
    draw_step1 input.int(defval=2minval=1title='Curve Drawing Step Size')
    auto_step input(defval=truetitle='Auto Decide Step Size Instead')
    draw_freq input.string(defval='Close Only'options=['Continuous''Close Only'], title='Curve Update Frequency')
    poly_col_h input(defval=color.yellowtitle='Channel High Line Color')
    poly_lw_h input.int(defval=1minval=1title='Channel High Line Width')
    poly_ls_h input.string(defval='Dashed'options=['Solid''Dotted''Dashed'], title='Channel High Line Style')
    poly_col_m input(defval=color.rgb(25523559100), title='Channel Middle Line Color')
    poly_lw_m input.int(defval=1minval=1title='Channel Middle Line Width')
    poly_ls_m input.string(defval='Dotted'options=['Solid''Dotted''Dashed'], title='Channel Middle Line Style')
    poly_col_l input(defval=color.yellowtitle='Channel Low Line Color')
    poly_lw_l input.int(defval=1minval=1title='Channel Low Line Width')
    poly_ls_l input.string(defval='Dashed'options=['Solid''Dotted''Dashed'], title='Channel Low Line Style ═══════════════════')

    //Smooth data and determine source type for calculation.
    filt SSF(srcfilt_per)
    srcxd use_filt filt src

    //Populate a period sized array with bar values.
    var x_vals = array.new_float(per)
    for 
    0 to per 1 by 1
        
    array.set(x_valsi1)

    //Populate a period sized array with historical source values.
    var src_vals = array.new_float(per)
    for 
    0 to per 1 by 1
        
    array.set(src_valsisrcxd[per equ_from])

    //Populate an order*2 + 1 sized array with bar power sums.
    var xp_sums = array.new_float(order 1)
    xp_sums_temp 0.0
    for 0 to order 2 by 1
        xp_sums_temp 
    := 0
        
    for 0 to per 1 by 1
            xp_sums_temp 
    += math.pow(array.get(x_valsj), i)
            
    xp_sums_temp
        
    array.set(xp_sumsixp_sums_temp)

    //Populate an order + 1 sized array with (bar power)*(source value) sums.
    var xpy_sums = array.new_float(order 1)
    xpy_sums_temp 0.0
    for 0 to order by 1
        xpy_sums_temp 
    := 0
        
    for 0 to per 1 by 1
            xpy_sums_temp 
    += math.pow(array.get(x_valsj), i) * array.get(src_valsj)
            
    xpy_sums_temp
        
    array.set(xpy_sumsixpy_sums_temp)

    //Generate a pseudo square matrix with row and column sizes of order + 1 using bar power sums.
    var xp_matrix = array.new_float(int(math.pow(order 12)))
    for 
    0 to order by 1
        
    for 0 to order by 1
            set_val
    (xp_matrixrcorder 1, array.get(xp_sumsc))

    //Factor the power sum matrix into lower and upper triangular matrices with order + 1 rows and columns.
    [lowerupper] = LU(xp_matrixxpy_sums)

    //Find lower triangular matrix solutions using (bar power)*(source value) sums.
    l_solutions LT_solve(lowerxpy_sums)

    //Find upper triangular matrix solutions using lower matrix solutions. This gives us our regression coefficients.
    reg_coefs UT_solve(upperl_solutions)

    //Define curve drawing step size.
    draw_step auto_step math.ceil(per 10) : draw_step1

    //Calculate curve values.
    var inter_vals = array.new_float(11)
    for 
    0 to 10 by 1
        
    array.set(inter_valsiregression_val(reg_coefsperordercalc_offs equ_from draw_step i))

    //Calculate standard deviation for channel.
    Stdev = array.stdev(src_vals) * ndev
    //Draw interpolated segments.
    draw_curve(inter_vals01draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals02draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals03draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals04draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals05draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals06draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals07draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals08draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals09draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals010draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')

    //Draw channel high segments.
    draw_curve(inter_valsStdev1draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev2draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev3draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev4draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev5draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev6draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev7draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev8draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev9draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev10draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')

    //Draw channel low segments.
    draw_curve(inter_vals, -Stdev1draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev2draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev3draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev4draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev5draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev6draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev7draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev8draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev9draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev10draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    //END 

  2. PHP Code:
     // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
    // © carefulCode53358
    //@version=5
    indicator(". "overlay true)

    //Reverse
    requestSecurity(string _symbolstring _resbool _repaints) => 
        
    repIndex _repaints barstate.isrealtime 0
        resIndex 
    _repaints barstate.isrealtime 1
        
    [hlt] = request.security(_symbol_res, [high[repIndex], low[repIndex], time[repIndex]])
        [
    h[resIndex], l[resIndex], t[resIndex]]

    var 
    GRP1 "General Settings"
    string res =         input.timeframe(title "Resolution"defval ""group GRP1)
    bool ignoreInsideBars input.bool(title "Ignore Inside Bars?"defval truegroup GRP1)
    bool rep =           input.bool(title "Allow Repainting?"defval falsegroup GRP1)
    var 
    string GRP2 "Short Term Settings"
    bool showSTHighs =   input.bool(title "Show Short Term Highs?"defval truegroup GRP2)
    color stHighsColor =    input.color(color.red"Short Term Highs Color"group GRP2)
    bool showSTLows =       input.bool(title "Show Short Term Lows?"defval truegroup GRP2)
    color stLowsColor =     input.color(color.yellow"Short Term Lows Color"group GRP2)
    var 
    string GRP3 "Mid Term Settings"
    bool showMTHighs =      input.bool(title "Show Mid Term Highs?"defval truegroup GRP3)
    color mtHighsColor =    input.color(color.red"Mid Term Highs Color"group GRP3)
    bool showMTLows =       input.bool(title "Show Mid Term Lows?"defval truegroup GRP3)
    color mtLowsColor =     input.color(color.aqua"Mid Term Lows Color"group GRP3)
    var 
    string GRP4 "Long Term Settings"
    bool showLTHighs =      input.bool(title "Show Long Term Highs?"defval truegroup GRP4)
    color ltHighsColor =    input.color(color.red"Long Term Highs Color"group GRP4)
    bool showLTLows =       input.bool(title "Show Long Term Lows?"defval truegroup GRP4)
    color ltLowsColor =     input.color(color.white"Long Term Lows Color"group GRP4)
    [
    hlt] = requestSecurity(syminfo.tickerresrep)

    type ReversalPoint
        int     bar_time
        float   price

    var lowShortRevPoints  = array.new<ReversalPoint>()
    var 
    highShortRevPoints = array.new<ReversalPoint>()
    var 
    lowMediumRevPoints  = array.new<ReversalPoint>()
    var 
    highMediumRevPoints = array.new<ReversalPoint>()

    isReversalPoint(bool isLowfloat firstSrcfloat midSrcfloat lastSrcbool isInsideBar) =>
        
    bool isReversalPoint false

        
    if not (isInsideBar and ignoreInsideBars)
            if 
    isLow
                isReversalPoint 
    := lastSrc midSrc and midSrc firstSrc
            
    else
                
    isReversalPoint := lastSrc midSrc and midSrc firstSrc

        isReversalPoint

    plotReversalPoint
    (bool isLowReversalPoint revPointcolor revPointColorstring labelSizebool createLabel) =>
        if 
    createLabel
            label
    .new(revPoint.bar_timerevPoint.priceisLow '▲' '▼'
             
    xloc xloc.bar_timeyloc isLow yloc.belowbar yloc.abovebarsize labelSizecolor color(na), 
             
    textcolor revPointColorstyle label.style_text_outline)

    getReversalPoints(bool isLowReversalPoint[] sourceArraycolor plotColorReversalPoint newRpstring labelSize
     
    bool createLabelbool isInsideBar) =>
        
    ReversalPoint result na
        sourceArray
    .push(newRp)
        
    plotReversalPoint(isLownewRpplotColorlabelSizecreateLabel)
        
    int arraySize sourceArray.size()
        
    float midArrayValue arraySize >= sourceArray.get(arraySize 2).price na
        float firstArrayValue 
    arraySize >= sourceArray.get(arraySize 3).price na

        
    if not na(firstArrayValue) and not na(midArrayValue) and isReversalPoint(isLowfirstArrayValuemidArrayValuenewRp.priceisInsideBar)
            
    result := sourceArray.get(arraySize 2)

        
    result

    bool isInsideBar 
    nz(h[1]) and nz(l[1])
    ReversalPoint shortTermLow isReversalPoint(truenz(l[2]), nz(l[1]), lisInsideBar) ? ReversalPoint.new(nz(t[1]), nz(l[1])) : na
    ReversalPoint midTermLow 
    na
    ReversalPoint longTermLow 
    na

    if not na(shortTermLow)
        
    midTermLow := getReversalPoints(truelowShortRevPointsstLowsColorshortTermLowsize.tinyshowSTLowsisInsideBar)

    if 
    not na(midTermLow)
        
    longTermLow := getReversalPoints(truelowMediumRevPointsmtLowsColormidTermLowsize.smallshowMTLowsisInsideBar)

    if 
    not na(longTermLow)
        
    plotReversalPoint(truelongTermLowltLowsColorsize.normalshowLTLows)

    ReversalPoint shortTermHigh isReversalPoint(falsenz(h[2]), nz(h[1]), hisInsideBar) ? ReversalPoint.new(nz(t[1]), nz(h[1])) : na
    ReversalPoint midTermHigh 
    na
    ReversalPoint longTermHigh 
    na

    if not na(shortTermHigh)
        
    midTermHigh := getReversalPoints(falsehighShortRevPointsstHighsColorshortTermHighsize.tinyshowSTHighsisInsideBar)

    if 
    not na(midTermHigh)
        
    longTermHigh := getReversalPoints(falsehighMediumRevPointsmtHighsColormidTermHighsize.smallshowMTHighsisInsideBar)

    if 
    not na(longTermHigh)
        
    plotReversalPoint(falselongTermHighltHighsColorsize.normalshowLTHighs)

    //TrailingStop

    //Stop

    //Top-Bottom
    plot input.bool(truetitle="Display past dots")
    OverSold input(0)
    OverBought input(100)
    length1 input.int(2title "Length")
    tr input.int(1title "Trigger Length")

    // Define the function
    func(sourceint lenint tr) =>
        
    HP 0.00a1 0.00b1 0.00c1 0.00c2 0.00c3 0.00ag 0.00Sp 0.000.00Quotient1 0.00Quotient2 0.00math.sqrt(.5)
        
    HP := 2500 * (source nz(source[1]) + nz(source[2])) + 1.92 nz(HP[1]) - .9216 nz(HP[2])
        
    a1 := math.exp(-math.sqrt(2) * math.pi len)
        
    b1 := a1 math.cos(math.sqrt(2) * math.pi len)
        
    c2 := b1
        c3 
    := -a1 a1
        c1 
    := c2 c3
        ag 
    := c1 * (HP nz(HP[1])) / c2 nz(ag[1]) + c3 nz(ag[2])
        
    Sp := .991 nz(Sp[1])
        if 
    math.abs(ag) > Sp
            Sp 
    := math.abs(ag)
            
    Sp
        
    if Sp != 0
            X 
    := ag Sp
            X
        q1 
    60 50
        out
    ta.sma(q1tr)
        [
    out]

    [
    k] = func(closelength1,tr)
    OverboughtCond OverBought
    OversoldCond 
    OverSold

    //plotshape(plot? OverboughtCond:na, style=shape.cross, location=location.abovebar, color=color.new(color.red, 50), size=size.tiny)
    //plotshape(plot? OversoldCond:na, style=shape.cross, location=location.belowbar, color=color.new(color.lime, 50), size=size.tiny)
    var label myLabel_Overbought na
    if OverboughtCond
        
    // Delete the previous label if there is one
        
    if not na(myLabel_Overbought)
            
    label.delete(myLabel_Overbought[1])
        
    // Create a new label
        
    myLabel_Overbought := label.new(bar_indexhigh'Top',yloc=yloc.abovebar,style=label.style_circlesize=size.normalcolor=color.rgb(255828250), textcolor=color.white)
        
    myLabel_Overbought
    var label myLabel_Oversold na
    if OversoldCond
        
    // Delete the previous label if there is one
        
    if not na(myLabel_Oversold)
            
    label.delete(myLabel_Oversold[1])
        
    // Create a new label
        
    myLabel_Oversold := label.new(bar_indexlow'Bottom',yloc=yloc.belowbar,style=label.style_circlesize=size.normalcolor=color.rgb(023011950), textcolor=color.white)
        
    myLabel_Oversold


    //

    startsa input.float(0"Starting value")
    incsa input.float(0.01"Increment")
    maxsa input.float(1"Max Value")
    widthsa input.float(9.00"Zone width")

    atrs ta.atr(100) * widthsa
    sarone 
    ta.sar(startsaincsamaxsa)
    sarzone = if close sarone
        sarone 
    atrs
    else if close sarone
        sarone 
    atrs
    sartwo 
    ta.sar(startsa/2incsa/2maxsa/2)

    p1sa plot(sarone"BT"color close sarone #2962ff00 : #e91e6200, style=plot.style_circles)
    p3sa plot(sarzone"TB"color close sarone #2962ff00 : #e91e6200, style=plot.style_circles)
    fill(p1sap3sacolor close sarone color.new(#848486, 80) : color.new(#e91e62, 100))

    //plot(sartwo, "Second SAR", color = close > sartwo ? color.new(#2962ff, 50) : color.new(#e91e63, 50), style=plot.style_linebr)
    ////Emas
    q1 ta.ema(ohlc41)
    q5 ta.ema(ohlc45)
    q9 ta.ema(ohlc49)
    q13 ta.ema(ohlc413)
    q26 ta.ema(ohlc426)
    q50 ta.ema(ohlc450)
    q100 ta.ema(ohlc4100)
    q200 ta.ema(ohlc4200)

    qeq=(q1+q5+q9+q13+q26+q50+q100+q200)/8
    plot
    (qeq,"AVG-EMA",color.yellowlinewidth=1

  3. PHP Code:
     // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
    // © carefulCode53358

    //@version=5
    indicator('.'max_bars_back=100overlay=true)
    //Time period
    inp input(title='Source'defval=close)
    res input.timeframe(title='Resolution'defval='15')
    rep input(title='Allow Repainting?'defval=false)
    //
    src1 request.security(syminfo.tickeridresinp[rep barstate.isrealtime 0])[rep barstate.isrealtime 1]
    fastLength1 input.int(title='FastLength'defval=12minval=1)
    slowLength1 input.int(title='SlowLength'defval=26minval=1)
    signalLength1 input.int(title='SignalLength'defval=9minval=1)
    macdLevel1 input.float(title='MacdLevel'defval=0minval=0)

    fastAlpha1 2.0 / (fastLength1)
    slowAlpha1 2.0 / (slowLength1)

    fastEma1 ta.ema(src1fastLength1)
    slowEma1 ta.ema(src1slowLength1)

    pMacdEq1 fastAlpha1 slowAlpha1 != ? ((nz(fastEma1[1]) * fastAlpha1) - (nz(slowEma1[1]) * slowAlpha1)) / (fastAlpha1 slowAlpha1) : 0
    pMacdEqSig1 
    ta.ema(pMacdEq1signalLength1)
    pMacdLevel1 fastAlpha1 slowAlpha1 != ? (macdLevel1 - (nz(fastEma1[1]) * (fastAlpha1)) + (nz(slowEma1[1]) * (slowAlpha1))) / (fastAlpha1 slowAlpha1) : 0

    slo1 
    src1 pMacdEq1
    sig1 
    slo1 slo1 nz(slo1[1]) ? slo1 slo1 nz(slo1[1]) ? -: -0

    rmacdColor 
    sig1 color.lime sig1 color.lime sig1 < -color.red sig1 color.red color.white

    //plot(pMacdEq1, title='Trend Continue',style=plot.style_cross, color=rmacdColor, linewidth=2)
    //plot(pMacdEqSig1, title='MacdEqSignal', color=color.rgb(255, 255, 255, 100), linewidth=1)
    //plot(pMacdLevel1, title='MacdLevel', color=color.blue, linewidth=2)
    xyz1=(pMacdEq1+pMacdEqSig1+pMacdLevel1)/3
    //plot(xyz11, title='Avarage', color=color.rgb(241, 225, 8, 100), linewidth=2)
    //
    src25 request.security(syminfo.tickeridresinp[rep barstate.isrealtime 0])[rep barstate.isrealtime 1]
    fastLimit25 input.float(title='FastLimit'defval=0.2minval=0.01step=0.01)
    slowLimit25 input.float(title='SlowLimit'defval=0.02minval=0.01step=0.01)

    pi25 math.asin(1)
    period25 0.0
    smooth25 
    = (src25 nz(src25[1]) + nz(src25[2]) + nz(src25[3])) / 10
    detrender25 
    = (0.0962 smooth25 0.5769 nz(smooth25[2]) - 0.5769 nz(smooth25[4]) - 0.0962 nz(smooth25[6])) * (0.075 nz(period25[1]) + 0.54)

    q125 = (0.0962 detrender25 0.5769 nz(detrender25[2]) - 0.5769 nz(detrender25[4]) - 0.0962 nz(detrender25[6])) * (0.075 nz(period25[1]) + 0.54)
    i125 nz(detrender25[3])

    jI25 = (0.0962 i125 0.5769 nz(i125[2]) - 0.5769 nz(i125[4]) - 0.0962 nz(i125[6])) * (0.075 nz(period25[1]) + 0.54)
    jQ25 = (0.0962 q125 0.5769 nz(q125[2]) - 0.5769 nz(q125[4]) - 0.0962 nz(q125[6])) * (0.075 nz(period25[1]) + 0.54)

    i225 i125 jQ25
    i225 
    := 0.2 i225 0.8 nz(i225[1])
    q225 q125 jI25
    q225 
    := 0.2 q225 0.8 nz(q225[1])

    re25 i225 nz(i225[1]) + q225 nz(q225[1])
    re25 := 0.2 re25 0.8 nz(re25[1])
    im25 i225 nz(q225[1]) - q225 nz(i225[1])
    im25 := 0.2 im25 0.8 nz(im25[1])

    period25 := im25 != and re25 != pi25 math.atan(im25 re25) : 0
    period25 
    := math.min(math.max(period250.67 nz(period25[1])), 1.5 nz(period25[1]))
    period25 := math.min(math.max(period256), 50)
    period25 := 0.2 period25 0.8 nz(period25[1])

    smoothPeriod25 0.0
    smoothPeriod25 
    := 0.33 period25 0.67 nz(smoothPeriod25[1])

    phase25 i125 != math.atan(q125 i125) * 180 pi25 0
    deltaPhase25 
    nz(phase25[1]) - phase25
    deltaPhase25 
    := deltaPhase25 deltaPhase25

    alpha25 
    fastLimit25 deltaPhase25
    alpha25 
    := alpha25 slowLimit25 slowLimit25 alpha25

    mama25 
    0.0
    mama25 
    := alpha25 src25 + (alpha25) * nz(mama25[1])

    fama25 0.0
    fama25 
    := 0.5 alpha25 mama25 + (0.5 alpha25) * nz(fama25[1])

    sig25 mama25 fama25 mama25 fama25 ? -0

    mamaColor25 
    sig25 color.green sig25 color.red color.black

    //plot(mama25, title='MAMA', color=mamaColor25, linewidth=2)
    //plot(fama25, title='FAMA', color=color.new(color.yellow, 0), linewidth=2)
    xyz2=(mama25+fama25)/2
    //
    length26 input.int(title='Length'defval=15minval=1)
    momLength26 input.int(title='MomentumLength'defval=5minval=1)
    src26 request.security(syminfo.tickeridresinp[rep barstate.isrealtime 0])[rep barstate.isrealtime 1]

    num26 0.0
    coefSum26 
    0.0
    for 0 to length26 1 by 1
        coef26 
    math.abs(nz(src26[i]) - nz(src26[momLength26]))
        
    num26 += coef26 nz(src26[i])
        
    coefSum26 += coef26
        coefSum26

    filt26 
    coefSum26 != num26 coefSum26 0

    sig26 
    src26 filt26 src26 filt26 ? -0

    filtColor26 
    sig26 color.green sig26 color.red color.black

    //plot(filt26, title='Filter', color=filtColor26, linewidth=2)
    //
    src27 request.security(syminfo.tickeridresinp[rep barstate.isrealtime 0])[rep barstate.isrealtime 1]

    wma127 = (src27 nz(src27[1]) + nz(src27[2]) + nz(src27[3]) + nz(src27[4]) + nz(src27[5]) + nz(src27[6])) / 28
    wma227 
    = (wma127 nz(wma127[1]) + nz(wma127[2]) + nz(wma127[3]) + nz(wma127[4]) + nz(wma127[5]) + nz(wma127[6])) / 28

    predict27 
    wma127 wma227
    trigger27 
    = (predict27 nz(predict27[1]) + nz(predict27[2]) + nz(predict27[3])) / 10

    sig27 
    predict27 trigger27 predict27 trigger27 ? -0

    pmaColor27 
    sig27 color.green sig27 color.red color.black

    //plot(predict27, title='Predict', color=pmaColor27, linewidth=2)
    //plot(trigger27, title='Trigger', color=color.new(color.yellow, 0), linewidth=1)
    xyz3=(filt26+predict27+trigger27)/3
    //
    src29 request.security(syminfo.tickeridresinp[rep barstate.isrealtime 0])[rep barstate.isrealtime 1]
    shortLength29 input.int(title='ShortLength'defval=5minval=1)
    longLength29 input.int(title='LongLength'defval=20minval=1)

    shortAvg29 ta.wma(src29shortLength29)
    shortMa29 math.sum(math.pow(src29 shortAvg292), shortLength29) / shortLength29
    shortRms29 
    shortMa29 math.sqrt(shortMa29) : 0

    longAvg29 
    ta.wma(src29longLength29)
    longMa29 math.sum(math.pow(src29 longAvg292), longLength29) / longLength29
    longRms29 
    longMa29 math.sqrt(longMa29) : 0

    kk29 
    longRms29 != 0.2 shortRms29 longRms29 0
    vidya29 
    0.0
    vidya29 
    := kk29 src29 + (kk29) * nz(vidya29[1])

    slo29 src29 vidya29
    sig29 
    slo29 slo29 nz(slo29[1]) ? slo29 slo29 nz(slo29[1]) ? -: -0

    vidyaColor29 
    sig29 color.green sig29 color.lime sig29 < -color.maroon sig29 color.red color.black

    //plot(vidya29, title='Vidya', color=vidyaColor29, linewidth=2)
    //
    src32 request.security(syminfo.tickeridresinp[rep barstate.isrealtime 0])[rep barstate.isrealtime 1]
    length32 input.int(title='Length'defval=3minval=1)

    jsa32 = (src32 src32[length32]) / 2

    sig32 
    src32 jsa32 src32 jsa32 ? -0

    jsaColor32 
    sig32 color.green sig32 color.red color.black

    //plot(jsa32, color=jsaColor32, linewidth=2)
    //
    src33 request.security(syminfo.tickeridresinp[rep barstate.isrealtime 0])[rep barstate.isrealtime 1]
    fastLength33 input.int(title "FastLength"defval 5minval 1)
    slowLength33 input.int(title "SlowLength"defval 50minval 1)

    leavittProjection(src33length33) =>
        
    result33 ta.linreg(src33length33, -1)
        
    fastLp33 leavittProjection(src33fastLength33)
    slowLp33 leavittProjection(src33slowLength33)

    slo33 fastLp33 slowLp33
    sig33 
    slo33 slo33 nz(slo33[1]) ? slo33 slo33 nz(slo33[1]) ? -: -0

    lpColor33 
    sig33 color.lime sig33 color.lime sig33 < -color.red sig33 color.red color.white

    //plot(fastLp33, title = 'FastLp', color = lpColor33, linewidth = 2)
    //plot(slowLp33, title = 'Stop', style=plot.style_cross, color = rmacdColor, linewidth = 2)
    xyz4=(vidya29+jsa32+fastLp33+slowLp33)/4
    //
    src37 request.security(syminfo.tickeridresinp[rep barstate.isrealtime 0])[rep barstate.isrealtime 1]
    fastLength37 input.int(title='FastLength'defval=5minval=1)
    slowLength37 input.int(title='SlowLength'defval=20minval=1)
    mult37 input.int(title='Multiple'defval=1minval=1)

    fastEma37 ta.ema(src37fastLength37)
    slowEma37 ta.ema(src37slowLength37)
    sqAvg37 math.sum(math.pow(slowEma37 fastEma372), fastLength37) / fastLength37
    dev37 
    math.sqrt(sqAvg37) * mult37

    upperBand37 
    slowEma37 dev37
    lowerBand37 
    slowEma37 dev37
    middleBand37 
    fastEma37

    sig37 
    src37 upperBand37 and nz(src37[1]) <= nz(upperBand37[1]) or src37 lowerBand37 and nz(src37[1]) <= nz(lowerBand37[1]) ? src37 lowerBand37 and nz(src37[1]) >= nz(lowerBand37[1]) or src37 upperBand37 and nz(src37[1]) >= nz(upperBand37[1]) ? -src37 middleBand37 src37 middleBand37 ? -0

    mabColor37 
    sig37 color.green sig37 color.red color.black

    //plot(upperBand37, title='MabUp', color=mabColor37, linewidth=2)
    //plot(middleBand37, title='MabMid', color=color.new(color.yellow, 0), linewidth=1)
    //plot(lowerBand37, title='MabLow', color=mabColor37, linewidth=2)
    xyz5=(upperBand37+middleBand37+lowerBand37)/3
    //
    src44 request.security(syminfo.tickeridresinp[rep barstate.isrealtime 0])[rep barstate.isrealtime 1]
    length44 input.int(title='Length'defval=10minval=1)
    middleBandLength44 input.int(title='MiddleBandLength'defval=21minval=1)
    bandsDeviation44 input.float(title='BandsDeviation'defval=2.4minval=0.1)
    lowBandAdjust44 input.float(title='LowBandAdjust'defval=0.9minval=0.1)

    atrPeriod44 length44 1
    atrBuf44 
    ta.atr(atrPeriod44) * bandsDeviation44
    ma44 
    ta.ema(src44length44)

    upperBand44 ma44 ma44 atrBuf44 src44
    middleBand44 
    ta.ema(src44middleBandLength44)
    lowerBand44 ma44ma44 atrBuf44 lowBandAdjust44 src44

    sig44 
    src44 upperBand44 and nz(src44[1]) <= nz(upperBand44[1]) or src44 lowerBand44 and nz(src44[1]) <= nz(lowerBand44[1]) or src44 middleBand44 src44 lowerBand44 and nz(src44[1]) >= nz(lowerBand44[1]) or src44 upperBand44 and nz(src44[1]) >= nz(upperBand44[1]) or src44 middleBand44 ? -0

    svbColor44 
    sig44 color.green sig44 color.red color.black

    //plot(upperBand44, title='SVBUp', color=svbColor44, linewidth=2)
    //plot(middleBand44, title='SVBMid', color=color.new(color.black, 0), linewidth=1)
    //plot(lowerBand44, title='SVBLow', color=svbColor44, linewidth=2)
    xyz6=(upperBand44+middleBand44+lowerBand44)/3
    //
    float inp55 input(title 'Source'defval close)
    string res55 input.timeframe(title 'Resolution'defval '')
    bool rep55 input(title 'Allow Repainting?'defval false)
    //
    float src51 request.security(syminfo.tickerres55inp55[rep55 barstate.isrealtime 0])[rep55 barstate.isrealtime 1]
    int fastLength51 input.int(title 'FastLength'defval 5minval 1)
    int slowLength51 input.int(title 'SlowLength'defval 20minval 1)
    int sampleLength51 input.int(title 'SampleLength'defval 5minval 1)

    hannFilter51(float sampleSrc51int length51) =>
        
    filt51 0.0coef51 0.0
        
    for 1 to length51
            cosine51 
    math.cos(math.pi / (length51 1))
            
    filt51 := filt51 + (cosine51 nz(sampleSrc51[1]))
            
    coef51 := coef51 cosine51
        filt51 
    := coef51 != filt51 coef51 0

    float sample51 
    0.0
    sample51 
    := bar_index sampleLength51 == src51 nz(sample51[1])
    float fastAvg51 hannFilter51(sample51fastLength51)
    float slowAvg51 hannFilter51(sample51slowLength51)

    float slo51 fastAvg51 slowAvg51
    int sig51 
    slo51 slo51 nz(slo51[1]) ? slo51 slo51 nz(slo51[1]) ? -: -0

    color udsmaColor51 
    sig51 color.green sig51 color.lime sig51 < -color.maroon sig51 color.red color.black

    //plot(fastAvg51, title = "FastAverage", color = udsmaColor51, linewidth = 2)
    //plot(slowAvg51, title = "SlowAverage", color = chart.fg_color, linewidth = 1)
    xyz7=(fastAvg51+slowAvg51)/2
    //
    float src52 request.security(syminfo.tickeridres55inp55[rep55 barstate.isrealtime 0])[rep55 barstate.isrealtime 1]
    fastLength52 input.int(title "FastLength"defval 14minval 1)
    slowLength52 input.int(title "SlowLength"defval 30minval 1)

    leavittProjection52(float src52int length52) =>
        
    float result52 ta.linreg(src52length52, -1)
        
    leavittConvolution52(float src52int length52) =>
        
    int sqrtLength52 math.floor(nz(math.sqrt(length52)))
        
    float result52 ta.linreg(leavittProjection52(src52length52), sqrtLength52, -1)
        
    float fastConv52 leavittConvolution52(src52fastLength52)
    float slowConv52 leavittConvolution52(src52slowLength52)

    float slo52 fastConv52 slowConv52
    int sig52 
    slo52 slo52 nz(slo52[1]) ? slo52 slo52 nz(slo52[1]) ? -: -0

    color lcColor52 
    sig52 color.green sig52 color.lime sig52 < -color.maroon sig52 color.red color.white

    //plot(fastConv52, title = 'FastConv', color = lcColor52, linewidth = 2)
    //plot(slowConv52, title = 'SlowConv', color = chart.fg_color, linewidth = 1)
    xyz8=(fastConv52+slowConv52)/2
    //
    f_security(_symbol66_res66_src66_repaint66) =>
        
    request.security(_symbol66_res66_src66[_repaint66 barstate.isrealtime 0])[_repaint66 barstate.isrealtime 1]

    res66 input.timeframe(title='Resolution'defval='')
    rep66 input(title='Allow Repainting?'defval=false)
    //
    length53 input.int(title='Length'defval=20minval=1)
    factor53 input.int(title='Factor'defval=2minval=1)
    p53 f_security(syminfo.tickeridres66hl2rep66)
    h53 f_security(syminfo.tickeridres66highrep66)
    l53 f_security(syminfo.tickeridres66lowrep66)
    t53 f_security(syminfo.tickeridres66ta.trrep66)

    mpEma53 ta.ema(p53length53)
    trEma53 ta.ema(t53length53)
    stdDev53 ta.stdev(trEma53length53)

    ad53 p53 nz(p53[1]) ? mpEma53 trEma53 p53 nz(p53[1]) ? mpEma53 trEma53 mpEma53
    adm53 
    ta.ema(ad53length53)

    trndDn53 0.0
    trndDn53 
    := ta.crossunder(adm53mpEma53) ? h53[2] : p53 nz(p53[1]) ? p53 stdDev53 factor53 nz(trndDn53[1], h53[2])
    trndUp53 0.0
    trndUp53 
    := ta.crossover(adm53mpEma53) ? l53[2] : p53 nz(p53[1]) ? p53 stdDev53 factor53 nz(trndUp53[1], l53[2])
    trndr53 0.0
    trndr53 
    := adm53 mpEma53 trndDn53 adm53 mpEma53 trndUp53 nz(trndr53[1], 0)

    sig53 p53 trndr53 p53 trndr53 ? -0

    trndrColor53 
    sig53 color.green sig53 color.red color.black

    //plot(trndr53, color=trndrColor53, linewidth=2)
    //plot(mpEma53, color=color.new(color.blue, 0), linewidth=2)
    //plot(adm53, color=color.new(color.black, 0), linewidth=1)
    xyz9=(trndDn53+mpEma53+adm53)/3
    //
    c54 f_security(syminfo.tickeridres66closerep66)
    v54 f_security(syminfo.tickeridres66volumerep66)
    length54 input.int(title='Length'defval=50minval=2)
    mult54 input.float(title='Mult'defval=10.0minval=0.01)

    alpha54 2.0 / (length54 1)
    mom54 c54 nz(c54[1])
    pv54 mom54 v54 0
    nv54 
    mom54 v54 0
    pvMa54 
    ta.ema(pv54length54)
    nvMa54 ta.ema(nv54length54)
    vs54 pvMa54 nvMa54 != math.abs(pvMa54 nvMa54) / (pvMa54 nvMa54) : 0

    rsvaEma54 
    0.0
    rsvaEma54 
    := nz(rsvaEma54[1]) + (alpha54 * (+ (vs54 mult54)) * (c54 nz(rsvaEma54[1])))

    slo54 c54 rsvaEma54
    sig54 
    slo54 slo54 nz(slo54[1]) ? slo54 slo54 nz(slo54[1]) ? -: -0

    rsvaemaColor54 
    sig54 color.green sig54 color.lime sig54 < -color.maroon sig54 color.red color.black

    //plot(rsvaEma54, title='RSEma', color=rsvaemaColor54, linewidth=2)
    //
    length56 input.int(title='Length'defval=20minval=1)

    h56 f_security(syminfo.tickeridres66highrep66)
    l56 f_security(syminfo.tickeridres66lowrep66)
    c56 f_security(syminfo.tickeridres66closerep66)

    hh56 ta.highest(h56length56)
    ll56 ta.lowest(l56length56)
    atr56 ta.atr(length56)
    mult56 math.sqrt(length56)

    dSup56 hh56 atr56 mult56
    dRes56 
    ll56 atr56 mult56
    dMid56 
    = (dSup56 dRes56) / 2

    sig56 
    c56 dMid56 c56 dMid56 ? -0

    dsrColor56 
    sig56 color.green sig56 color.red color.black

    //plot(dSup56, title='Support', color=color.new(color.red, 0), linewidth=2)
    //plot(dMid56, title='Middle', color=dsrColor56, linewidth=1)
    //plot(dRes56, title='Resistance', color=color.new(color.green, 0), linewidth=2)
    xyz10=(rsvaEma54+dSup56+dMid56+dRes56)/4
    //
    length57 input.int(title='Length'defval=10minval=1)

    h57 f_security(syminfo.tickeridres66highrep66)
    l57 f_security(syminfo.tickeridres66lowrep66)
    c57 f_security(syminfo.tickeridres66closerep66)

    highMa57 ta.sma(h57length57)
    lowMa57 ta.sma(l57length57)

    ghla57 0.0
    ghla57 
    := c57 nz(highMa57[1]) ? lowMa57 c57 nz(lowMa57[1]) ? highMa57 nz(ghla57[1])

    sig57 c57 ghla57 c57 ghla57 ? -0

    ghlaColor57 
    sig57 color.green sig57 color.red color.black

    //plot(ghla57, title='GHLA', color=ghlaColor57, linewidth=2)
    //
    inp59 input(title='Source'defval=close)
    h59 f_security(syminfo.tickeridres66highrep66)
    l59 f_security(syminfo.tickeridres66lowrep66)
    c59 f_security(syminfo.tickeridres66inp59rep66)
    length59 input.int(title='Length'defval=14minval=1)

    mHigh59 ta.linreg(h59length590) - ta.linreg(h59length591)
    mLow59 ta.linreg(l59length590) - ta.linreg(l59length591)

    upperBand59 h59lowerBand59 l59
    for 0 to length59 1
        currH59 
    nz(h59[i])
        
    prevH59 nz(h59[1])
        
    currL59 nz(l59[i])
        
    prevL59 nz(l59[1])
        
        
    vHigh59 currH59 + (nz(mHigh59[i]) * i)
        
    vLow59 currL59 + (nz(mLow59[i]) * i)
        
        
    upperBand59 := math.max(vHigh59upperBand59)
        
    lowerBand59 := math.min(vLow59lowerBand59)
    middleBand59 = (upperBand59 59) / 2

    slo59 
    c59 middleBand59
    sig59 
    = (c59 upperBand59 and nz(c59[1]) <= nz(upperBand59[1])) or (c59 lowerBand59 and nz(c59[1]) <= nz(lowerBand59[1]))
          ? 
    : (c59 lowerBand59 and nz(c59[1]) >= nz(lowerBand59[1])) or (c59 upperBand59 and nz(c59[1]) >= nz(upperBand59[1]))
          ? -
    slo59 slo59 nz(slo59[1]) ? slo59 slo59 nz(slo59[1]) ? -: -0

    pbColor59 
    sig59 color.green sig59 color.lime sig59 < -color.maroon sig59 color.red color.black

    //plot(upperBand59, title="UpperBand", linewidth=2, color=pbColor59)

    //plot(lowerBand59, title="LowerBand", linewidth=2, color=pbColor59)
    xyz11=(ghla57+upperBand59+lowerBand59)/3
    //
    length61 input.int(title='Length'defval=25minval=1)
    h61 f_security(syminfo.tickeridres66highrep66)
    l61 f_security(syminfo.tickeridres66lowrep66)
    c61 f_security(syminfo.tickeridres66closerep66)

    hh61 ta.highest(h61length61)
    ll61 ta.lowest(l61length61)
    range_161 hh61 ll61

    sup161 
    ll61 0.25 range_161
    sup261 
    ll61 0.5 range_161
    res161 
    hh61 0.25 range_161
    res261 
    hh61 0.5 range_161
    mid61 
    = (sup161 sup261 res161 res261) / 4

    sig61 
    c61 mid61 c61 mid61 ? -0

    psrColor61 
    sig61 color.green sig61 color.red color.black

    //plot(sup161, title='Support1', color=color.new(color.red, 0), linewidth=2)
    //plot(sup261, title='Support2', color=color.new(color.red, 0), linewidth=2)
    //plot(mid61, title='Middle', color=psrColor61, linewidth=1)
    //plot(res161, title='Resistance1', color=color.new(color.green, 0), linewidth=2)
    //plot(res261, title='Resistance2', color=color.new(color.green, 0), linewidth=2)
    xyz12=(sup161+sup261+mid61+res161+res261)/5
    //Function Avarage
    xyz13=(xyz1+xyz2+xyz3+xyz4+xyz5+xyz6+xyz7+xyz8+xyz9+xyz10+xyz11+xyz12)/12
    plot
    (xyz13title='Super Avarage',style=plot.style_steplinecolor=rmacdColorlinewidth=2)
    //Signal
    xyzxs=ta.crossover(xyz13,ohlc4)
    plotshape(xyzxsxyz13:nastyle=shape.circlelocation=location.abovebarcolor=color.new(color.red0), size=size.small)
    xyz1xs=ta.crossunder(xyz13,ohlc4)
    plotshape(xyz1xsxyz13:nastyle=shape.circlelocation=location.belowbarcolor=color.new(color.lime0), size=size.small)

    //Emas
    price request.security(syminfo.tickerid""close)
    EMA_5 ta.ema(price5)
    EMA_13 ta.ema(price13)
    EMA_26 ta.ema(price26)
    EMA_50 ta.ema(price50)
    EMA_100 ta.ema(price100)
    EMA_200 ta.ema(price200)

    sdf=(EMA_5+EMA_13+EMA_26+EMA_50+EMA_100+EMA_200)/6
    //plot(sdf,"Avarage EMA",color.yellow, linewidth=1)
    //END
    //2 Pole Super Smoother Function
    SSF(xt) =>
        
    omega math.atan(1) * t
        a 
    math.exp(-math.sqrt(2) * math.atan(1) * t)
        
    math.cos(math.sqrt(2) / omega)
        
    c2 b
        c3 
    = -math.pow(a2)
        
    c1 c2 c3
        SSF 
    0.0
        SSF 
    := c1 c2 nz(SSF[1], x) + c3 nz(SSF[2], nz(SSF[1], x))
        
    SSF

    //Getter Function For Pseudo 2D Matrix
    get_val(matrowcolrowsize) =>
        array.
    get(matint(rowsize row col))

    //Setter Function For Pseudo 2D Matrix
    set_val(matrowcolrowsizeval) =>
        array.
    set(matint(rowsize row col), val)

    //LU Decomposition Function
    LU(AB) =>
        
    A_size = array.size(A)
        
    B_size = array.size(B)
        var 
    = array.new_float(A_size)
        var 
    = array.new_float(A_size)
        
    L_temp 0.0
        U_temp 
    0.0
        
    for 0 to B_size 1 by 1
            set_val
    (U0cB_sizeget_val(A0cB_size))
        for 
    1 to B_size 1 by 1
            set_val
    (Lr0B_sizeget_val(Ar0B_size) / get_val(U00B_size))
        for 
    0 to B_size 1 by 1
            
    for 0 to B_size 1 by 1
                
    if == c
                    set_val
    (LrcB_size1)
                if 
    c
                    set_val
    (LrcB_size0)
                if 
    c
                    set_val
    (UrcB_size0)
        for 
    0 to B_size 1 by 1
            
    for 0 to B_size 1 by 1
                
    if na(get_val(LrcB_size))
                    
    L_temp := get_val(ArcB_size)
                    for 
    0 to math.max(10by 1
                        L_temp 
    -= get_val(UkcB_size) * get_val(LrkB_size)
                        
    L_temp
                    set_val
    (LrcB_sizeL_temp get_val(UccB_size))
                if 
    na(get_val(UrcB_size))
                    
    U_temp := get_val(ArcB_size)
                    for 
    0 to math.max(10by 1
                        U_temp 
    -= get_val(UkcB_size) * get_val(LrkB_size)
                        
    U_temp
                    set_val
    (UrcB_sizeU_temp)
        [
    LU]

    //Lower Triangular Solution Function (Forward Substitution)
    LT_solve(L_B) =>
        
    B_size = array.size(B)
        var 
    = array.new_float(B_size)
        
    Y_temp 0.0
        
    array.set(Y0, array.get(B0) / get_val(L_00B_size))
        for 
    1 to B_size 1 by 1
            Y_temp 
    := array.get(Br)
            for 
    0 to math.max(10by 1
                Y_temp 
    -= get_val(L_rkB_size) * array.get(Yk)
                
    Y_temp
            
    array.set(YrY_temp get_val(L_rrB_size))
        
    Y

    //Upper Triangular Solution Function (Backward Substitution)
    UT_solve(U_Y_) =>
        
    Y_size = array.size(Y_)
        
    U_rev = array.copy(U_)
        
    Y_rev = array.copy(Y_)
        array.
    reverse(U_rev)
        array.
    reverse(Y_rev)
        
    X_rev LT_solve(U_revY_rev)
        
    = array.copy(X_rev)
        array.
    reverse(X)
        
    X

    //Regression Function
    regression_val(X_index_order_offset_) =>
        
    reg 0.0
        
    for 0 to order_ by 1
            reg 
    += array.get(X_i) * math.pow(index_ offset_i)
            
    reg
        reg

    //Curve Segment Drawing Function
    draw_curve(Ysdevnstep_collslwdrawconf) =>
        var 
    line segment line.new(x1=time[step_], y1=array.get(Yn) + sdevx2=time[(1) * step_], y2=array.get(Y1) + sdevxloc=xloc.bar_time)
        if 
    draw
            
    if conf barstate.isconfirmed 1
                line
    .set_xy1(segmenttime[step_], array.get(Yn) + sdev)
                
    line.set_xy2(segmenttime[(1) * step_], array.get(Y1) + sdev)
                
    line.set_color(segmentcol)
                
    line.set_width(segmentlw)
                
    line.set_style(segmentls == 'Solid' line.style_solid ls == 'Dotted' line.style_dotted line.style_dashed)
        else
            
    line.delete(segment)

    //-----------------------------------------------------------------------------------------------------------------------------------------------------------------
    //Inputs
    //-----------------------------------------------------------------------------------------------------------------------------------------------------------------

    //Source Inputs
    src input(defval=closetitle='Input Source Value')
    use_filt input(defval=truetitle='Smooth Data Before Curve Fitting')
    filt_per input.int(defval=10minval=2title='Data Smoothing Period ═══════════════════')

    //Calculation Inputs
    per input.int(defval=20minval=2title='Regression Sample Period')
    order input.int(defval=2minval=1title='Polynomial Order')
    calc_offs input(defval=0title='Regression Offset')
    ndev input.float(defval=2.0minval=0title='Width Coefficient')
    equ_from input.int(defval=0minval=0title='Forecast From _ Bars Ago ═══════════════════')

    //Channel Display Inputs
    show_curve input(defval=truetitle='Show Fitted Curve')
    show_high input(defval=truetitle='Show Fitted Channel High')
    show_low input(defval=truetitle='Show Fitted Channel Low')
    draw_step1 input.int(defval=10minval=1title='Curve Drawing Step Size')
    auto_step input(defval=truetitle='Auto Decide Step Size Instead')
    draw_freq input.string(defval='Close Only'options=['Continuous''Close Only'], title='Curve Update Frequency')
    poly_col_h input(defval=color.yellowtitle='Channel High Line Color')
    poly_lw_h input.int(defval=1minval=1title='Channel High Line Width')
    poly_ls_h input.string(defval='Dashed'options=['Solid''Dotted''Dashed'], title='Channel High Line Style')
    poly_col_m input(defval=color.rgb(25523559100), title='Channel Middle Line Color')
    poly_lw_m input.int(defval=1minval=1title='Channel Middle Line Width')
    poly_ls_m input.string(defval='Dotted'options=['Solid''Dotted''Dashed'], title='Channel Middle Line Style')
    poly_col_l input(defval=color.yellowtitle='Channel Low Line Color')
    poly_lw_l input.int(defval=1minval=1title='Channel Low Line Width')
    poly_ls_l input.string(defval='Dashed'options=['Solid''Dotted''Dashed'], title='Channel Low Line Style ═══════════════════')

    //Smooth data and determine source type for calculation.
    filt SSF(srcfilt_per)
    srcxd use_filt filt src

    //Populate a period sized array with bar values.
    var x_vals = array.new_float(per)
    for 
    0 to per 1 by 1
        
    array.set(x_valsi1)

    //Populate a period sized array with historical source values.
    var src_vals = array.new_float(per)
    for 
    0 to per 1 by 1
        
    array.set(src_valsisrcxd[per equ_from])

    //Populate an order*2 + 1 sized array with bar power sums.
    var xp_sums = array.new_float(order 1)
    xp_sums_temp 0.0
    for 0 to order 2 by 1
        xp_sums_temp 
    := 0
        
    for 0 to per 1 by 1
            xp_sums_temp 
    += math.pow(array.get(x_valsj), i)
            
    xp_sums_temp
        
    array.set(xp_sumsixp_sums_temp)

    //Populate an order + 1 sized array with (bar power)*(source value) sums.
    var xpy_sums = array.new_float(order 1)
    xpy_sums_temp 0.0
    for 0 to order by 1
        xpy_sums_temp 
    := 0
        
    for 0 to per 1 by 1
            xpy_sums_temp 
    += math.pow(array.get(x_valsj), i) * array.get(src_valsj)
            
    xpy_sums_temp
        
    array.set(xpy_sumsixpy_sums_temp)

    //Generate a pseudo square matrix with row and column sizes of order + 1 using bar power sums.
    var xp_matrix = array.new_float(int(math.pow(order 12)))
    for 
    0 to order by 1
        
    for 0 to order by 1
            set_val
    (xp_matrixrcorder 1, array.get(xp_sumsc))

    //Factor the power sum matrix into lower and upper triangular matrices with order + 1 rows and columns.
    [lowerupper] = LU(xp_matrixxpy_sums)

    //Find lower triangular matrix solutions using (bar power)*(source value) sums.
    l_solutions LT_solve(lowerxpy_sums)

    //Find upper triangular matrix solutions using lower matrix solutions. This gives us our regression coefficients.
    reg_coefs UT_solve(upperl_solutions)

    //Define curve drawing step size.
    draw_step auto_step math.ceil(per 10) : draw_step1

    //Calculate curve values.
    var inter_vals = array.new_float(11)
    for 
    0 to 10 by 1
        
    array.set(inter_valsiregression_val(reg_coefsperordercalc_offs equ_from draw_step i))

    //Calculate standard deviation for channel.
    Stdev = array.stdev(src_vals) * ndev
    //Draw interpolated segments.
    draw_curve(inter_vals01draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals02draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals03draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals04draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals05draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals06draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals07draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals08draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals09draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals010draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')

    //Draw channel high segments.
    draw_curve(inter_valsStdev1draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev2draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev3draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev4draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev5draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev6draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev7draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev8draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev9draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev10draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')

    //Draw channel low segments.
    draw_curve(inter_vals, -Stdev1draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev2draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev3draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev4draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev5draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev6draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev7draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev8draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev9draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev10draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    //END
    //Break
    start88 input(0title="start"group="Parabolic SAR")
    increment88 input(0.1title="Increment"group="Parabolic SAR")
    maximum88 input(1title="Maximum"group="Parabolic SAR"
    out88 ta.sar(start88increment88maximum88)
    sarChange1 ta.change(out88<high)
    var 
    prevSar1 out88

    if(sarChange1)
        
    prevSar1 := out88[1] + ((out88[1]/100)*0.2)
     
    plot(out88 and sarChange1?na:prevSar1style=plot.style_linebroffset = -5color=out88<highcolor.fuchsia color.fuchsiatitle="BREAK"linewidth=3)
    //END
    //Function Sar; slow-avarage-fast
    lenxc input(5)
    lenxc20 input(5)
    lenxc50 input(5)

    z(closelenxc) =>
        
    hxc 0.0
        dxc 
    0.0
        
    for 0 to lenxc 1 by 1
            kxc 
    = (lenxc i) * lenxc
            hxc 
    += kxc
            dxc 
    += close[i] * kxc
            dxc
        dxc 
    hxc

    cxc 
    z(closemath.floor(math.sqrt(lenxc)))
    //

    z20(closelenxc20) =>
        
    hcx20 0.0
        dxc20 
    0.0
        
    for 0 to lenxc20 1 by 1
            kxc20 
    = (lenxc20 i) * lenxc20
            hcx20 
    += kxc20
            dxc20 
    += close[i] * kxc20
            dxc20
        dxc20 
    hcx20

    cxc20 
    z20(closemath.floor(math.sqrt(lenxc20)))
    //
    z50(closelenxc50) =>
        
    hxc50 0.0
        dxc50 
    0.0
        
    for 0 to lenxc50 1 by 1
            kxc50 
    = (lenxc50 i) * lenxc50
            hxc50 
    += kxc50
            dxc50 
    += close[i] * kxc50
            dxc50
        dxc50 
    hxc50

    cxc50 
    z50(closemath.floor(math.sqrt(lenxc50)))
    //
    //
    startsx 0.05
    incrementsx 
    0.75
    maximumsx 
    0.35
    ssx 
    ta.sar(startsxincrementsxmaximumsx)
    s1sx z(ssxlenxc)
    pcsx close s1sx color.rgb(2558282100) : color.rgb(7617579100)
    //plot(s1sx, title="SAR Avarage",style=plot.style_cross, color=pcsx, linewidth=1)

    startsx20 0
    incrementsx20 
    0.01
    maximumsx20 
    1
    ssx20 
    ta.sar(startsx20incrementsx20maximumsx20)
    s1sx20 z20(ssx20lenxc20)
    pcsx20 close s1sx20 color.rgb(255828200) : color.rgb(761757900)
    plot(s1sx20title="Cyclical Slow",style=plot.style_linecolor=pcsx20linewidth=1)

    startsx50 0
    incrementsx50 
    0.1
    maximumsx50 
    1
    ssx50 
    ta.sar(startsx50incrementsx50maximumsx50)
    s1sx50 z50(ssx50lenxc50)
    pcsx50 close s1sx50 color.rgb(255828200) : color.rgb(761757900)
    plot(s1sx50title="Cyclical Fast",style=plot.style_linecolor=pcsx50linewidth=1)
    //END 

  4. PHP Code:

    //@version=5
    indicator("."overlay true)

    //Stop Function
    mult156 input.float(1'Multiplicative Factor'minval 0)
    slope156 input.float(20'Slope'minval 0)
    width156 input.float(100'Width %'minval 0maxval 100) / 100
    //Style
    bullCss156 input.color(color.lime'Average Color'inline 'avg'group 'Style')
    bearCss156 input.color(color.red''              inline 'avg'group 'Style')

    //Calculation
    //-----------------------------------------------------------------------------{
    var float upper156 na
    var float lower156 na
    var float avg156   close

    var hold156 0.
    var os156 1.
        
    atr156 
    nz(ta.atr(200)) * mult156

    avg156 
    := math.abs(close avg156) > atr156 
      
    math.avg(closeavg156)
      : 
    avg156 os156 * (hold156 mult156 slope156)

    os156 := math.sign(avg156 avg156[1])
    hold156 := os156 != os156[1] ? atr156 hold156

    upper156 
    := avg156 width156 hold156
    lower156 
    := avg156 width156 hold156

    css156 
    os156 == bullCss156 bearCss156
    plot_avg156 
    plot(avg156'ŞampiyonFENER'os156 != os156[1] ? na css156style=plot.style_line,linewidth 4)
    //END 

  5. PHP Code:
     //@version=5
    indicator("."overlay true)
    //Function Sar; slow-avarage-fast
    lenxc input(1)
    lenxc50 input(1)

    z(closelenxc) =>
        
    hxc 0.0
        dxc 
    0.0
        
    for 0 to lenxc 1 by 1
            kxc 
    = (lenxc i) * lenxc
            hxc 
    += kxc
            dxc 
    += close[i] * kxc
            dxc
        dxc 
    hxc

    cxc 
    z(closemath.floor(math.sqrt(lenxc)))
    ////
    z50(closelenxc50) =>
        
    hxc50 0.0
        dxc50 
    0.0
        
    for 0 to lenxc50 1 by 1
            kxc50 
    = (lenxc50 i) * lenxc50
            hxc50 
    += kxc50
            dxc50 
    += close[i] * kxc50
            dxc50
        dxc50 
    hxc50

    cxc50 
    z50(closemath.floor(math.sqrt(lenxc50)))
    ////
    startsx 0.05
    incrementsx 
    0.75
    maximumsx 
    0.035
    ssx 
    ta.sar(startsxincrementsxmaximumsx)
    s1sx z(ssxlenxc)
    pcsx close s1sx color.rgb(255828200) : color.rgb(761757900)
    plot(s1sxtitle="Döngü2",style=plot.style_crosscolor=pcsxlinewidth=1)

    startsx50 0
    incrementsx50 
    0.1
    maximumsx50 
    0.1
    ssx50 
    ta.sar(startsx50incrementsx50maximumsx50)
    s1sx50 z50(ssx50lenxc50)
    pcsx50 close s1sx50 color.rgb(255828200) : color.rgb(761757900)
    plot(s1sx50title="Döngü1",style=plot.style_crosscolor=pcsx50linewidth=1)
    //Signal
    //END
    bcolor ta.crossunder(close,s1sx) ? color.red :  ta.crossover(close,s1sx50) ? color.greenclose>s1sx50 color.green close<s1sx color.redcolor.rgb(2442486// : color.black 
    barcolor(bcolor

  6. PHP Code:
     //@version=5
    // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
    // © carefulCode53358

    indicator('*'overlay=true)
    //resolution
    x1 input.timeframe('1'title='Resolution')
    //output functions
    ta.sar(00.020.02)
    // Security
    y1 request.security(syminfo.tickeridx1z)
    //Plots
    xz input(truetitle='Adaptive Coloring')
    //Functions Sar for support and resistance
    q3 ta.sar(0.010.020.2)
    q2 ta.sar(0.010.040.4)
    q1 ta.sar(0.010.060.6)
    plot(q3title='SlowSar'style=plot.style_circlescolor=xz y1 close color.red color.lime color.silverlinewidth=1)
    plot(q2title='AvgSar'style=plot.style_circlescolor=xz y1 close color.red color.lime color.silverlinewidth=1)
    plot(q1title='FastSar'style=plot.style_circlescolor=xz y1 close color.red color.lime color.silverlinewidth=1)
    //Signal
    xyzq = (y1
    plot(xyzqtitle='Yörük'style=plot.style_linebrcolor=xz y1 close color.rgb(2558282100) : color.rgb(0230119100) : color.silverlinewidth=1

  7. PHP Code:
     // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
    // © carefulCode53358

    //@version=5
    indicator("Sar Reverse"overlay true)
    //Psar
    psar(start1inc1maximum1) =>
        
    out1 float(na)
        
    isUpTrend1 bool(na)
        
    maxMin1 float(na)
        
    acc1 float(na)
        
    prev1 float(na)

        if 
    bar_index >= 1
            prev1 
    := out1[1]
            if 
    bar_index == 1
                
    if close close[1]
                    
    isUpTrend1 := true
                    maxMin1 
    := math.max(highhigh[1])
                    
    prev1 := math.min(lowlow[1])
                    
    prev1
                
    else
                    
    isUpTrend1 := false
                    maxMin1 
    := math.min(lowlow[1])
                    
    prev1 := math.max(highhigh[1])
                    
    prev1

                acc1 
    := start1
                acc1
            
    else
                
    isUpTrend1 := isUpTrend1[1]
                
    acc1 := acc1[1]
                
    maxMin1 := maxMin1[1]
                
    maxMin1

            
    if isUpTrend1
                
    if high maxMin1
                    maxMin1 
    := high
                    acc1 
    := math.min(acc1 inc1maximum1)
                    
    acc1
            
    else
                if 
    low maxMin1
                    maxMin1 
    := low
                    acc1 
    := math.min(acc1 inc1maximum1)
                    
    acc1

            
    if na(out1)
                
    out1 := prev1 acc1 * (maxMin1 prev1)
                
    out1

            
    if isUpTrend1
                
    if low <= out1
                    isUpTrend1 
    := false
                    out1 
    := maxMin1
                    maxMin1 
    := low
                    acc1 
    := start1
                    acc1
            
    else
                if 
    high >= out1
                    isUpTrend1 
    := true
                    out1 
    := maxMin1
                    maxMin1 
    := high
                    acc1 
    := start1
                    acc1

            
    if na(out1)
                if 
    isUpTrend1
                    out1 
    := math.min(out1bar_index == low[1] : math.min(low[1], low[2]))
                    
    out1
                
    else
                    
    out1 := math.max(out1bar_index == high[1] : math.max(high[1], high[2]))
                    
    out1

        
    [out1acc1maxMin1isUpTrend1]


    start1 input(0.05)
    increment1 input(0.075)
    maximum1 input(0.35)
    [
    p1AF1EP1isUpTrend1] = psar(start1increment1maximum1)

    newEP1 EP1 != EP1[1]
    epNew1 newEP1 EP1 na

    //plot(p1, 'TREND-Continue', style=plot.style_line, color=isUpTrend1 ? color.rgb(76, 175, 79, 00) : color.rgb(255, 82, 82, 00), linewidth=2)
    plot(EP1'TREND'style=plot.style_linecolor=isUpTrend1 color.rgb(7617579100) : color.rgb(2558282100), linewidth=2)
    //Psar Reverse
    x10ta.sar(00.11)
    x11ta.sar(0.10.11)
    //plot(p1, title='Reverse-Fast', style=plot.style_line, color=isUpTrend1 ? color.rgb(76, 175, 79, 100) : color.rgb(255, 82, 82, 100),  linewidth=1)
    //plot(x11, title='Reverse-Avarage', style=plot.style_line, color=isUpTrend1 ? color.rgb(76, 175, 79, 100) : color.rgb(255, 82, 82, 100),  linewidth=1)
    plot(x10title='Reverse-Slow'style=plot.style_linecolor=isUpTrend1 color.rgb(7617579100) : color.rgb(2558282100),  linewidth=1)
    //Signal
    xyz=ta.crossover(close,p1 )
    //plotshape(xyz? p1:na, style=shape.circle, color=isUpTrend1 ? color.rgb(34, 247, 6) : color.rgb(247, 3, 3), size=size.tiny)
    xyz1=ta.crossunder(close,x10)
    //plotshape(xyz1? x10:na, style=shape.circle,  color=isUpTrend1 ? color.rgb(34, 247, 6) : color.rgb(247, 3, 3), size=size.tiny)
    //End
    //2 Pole Super Smoother Function
    SSF(xt) =>
        
    omega math.atan(1) * t
        a 
    math.exp(-math.sqrt(2) * math.atan(1) * t)
        
    math.cos(math.sqrt(2) / omega)
        
    c2 b
        c3 
    = -math.pow(a2)
        
    c1 c2 c3
        SSF 
    0.0
        SSF 
    := c1 c2 nz(SSF[1], x) + c3 nz(SSF[2], nz(SSF[1], x))
        
    SSF

    //Getter Function For Pseudo 2D Matrix
    get_val(matrowcolrowsize) =>
        array.
    get(matint(rowsize row col))

    //Setter Function For Pseudo 2D Matrix
    set_val(matrowcolrowsizeval) =>
        array.
    set(matint(rowsize row col), val)

    //LU Decomposition Function
    LU(AB) =>
        
    A_size = array.size(A)
        
    B_size = array.size(B)
        var 
    = array.new_float(A_size)
        var 
    = array.new_float(A_size)
        
    L_temp 0.0
        U_temp 
    0.0
        
    for 0 to B_size 1 by 1
            set_val
    (U0cB_sizeget_val(A0cB_size))
        for 
    1 to B_size 1 by 1
            set_val
    (Lr0B_sizeget_val(Ar0B_size) / get_val(U00B_size))
        for 
    0 to B_size 1 by 1
            
    for 0 to B_size 1 by 1
                
    if == c
                    set_val
    (LrcB_size1)
                if 
    c
                    set_val
    (LrcB_size0)
                if 
    c
                    set_val
    (UrcB_size0)
        for 
    0 to B_size 1 by 1
            
    for 0 to B_size 1 by 1
                
    if na(get_val(LrcB_size))
                    
    L_temp := get_val(ArcB_size)
                    for 
    0 to math.max(10by 1
                        L_temp 
    -= get_val(UkcB_size) * get_val(LrkB_size)
                        
    L_temp
                    set_val
    (LrcB_sizeL_temp get_val(UccB_size))
                if 
    na(get_val(UrcB_size))
                    
    U_temp := get_val(ArcB_size)
                    for 
    0 to math.max(10by 1
                        U_temp 
    -= get_val(UkcB_size) * get_val(LrkB_size)
                        
    U_temp
                    set_val
    (UrcB_sizeU_temp)
        [
    LU]

    //Lower Triangular Solution Function (Forward Substitution)
    LT_solve(L_B) =>
        
    B_size = array.size(B)
        var 
    = array.new_float(B_size)
        
    Y_temp 0.0
        
    array.set(Y0, array.get(B0) / get_val(L_00B_size))
        for 
    1 to B_size 1 by 1
            Y_temp 
    := array.get(Br)
            for 
    0 to math.max(10by 1
                Y_temp 
    -= get_val(L_rkB_size) * array.get(Yk)
                
    Y_temp
            
    array.set(YrY_temp get_val(L_rrB_size))
        
    Y

    //Upper Triangular Solution Function (Backward Substitution)
    UT_solve(U_Y_) =>
        
    Y_size = array.size(Y_)
        
    U_rev = array.copy(U_)
        
    Y_rev = array.copy(Y_)
        array.
    reverse(U_rev)
        array.
    reverse(Y_rev)
        
    X_rev LT_solve(U_revY_rev)
        
    = array.copy(X_rev)
        array.
    reverse(X)
        
    X

    //Regression Function
    regression_val(X_index_order_offset_) =>
        
    reg 0.0
        
    for 0 to order_ by 1
            reg 
    += array.get(X_i) * math.pow(index_ offset_i)
            
    reg
        reg

    //Curve Segment Drawing Function
    draw_curve(Ysdevnstep_collslwdrawconf) =>
        var 
    line segment line.new(x1=time[step_], y1=array.get(Yn) + sdevx2=time[(1) * step_], y2=array.get(Y1) + sdevxloc=xloc.bar_time)
        if 
    draw
            
    if conf barstate.isconfirmed 1
                line
    .set_xy1(segmenttime[step_], array.get(Yn) + sdev)
                
    line.set_xy2(segmenttime[(1) * step_], array.get(Y1) + sdev)
                
    line.set_color(segmentcol)
                
    line.set_width(segmentlw)
                
    line.set_style(segmentls == 'Solid' line.style_solid ls == 'Dotted' line.style_dotted line.style_dashed)
        else
            
    line.delete(segment)

    //-----------------------------------------------------------------------------------------------------------------------------------------------------------------
    //Inputs
    //-----------------------------------------------------------------------------------------------------------------------------------------------------------------

    //Source Inputs
    src input(defval=closetitle='Input Source Value')
    use_filt input(defval=truetitle='Smooth Data Before Curve Fitting')
    filt_per input.int(defval=10minval=2title='Data Smoothing Period ═══════════════════')

    //Calculation Inputs
    per input.int(defval=20minval=2title='Regression Sample Period')
    order input.int(defval=2minval=1title='Polynomial Order')
    calc_offs input(defval=0title='Regression Offset')
    ndev input.float(defval=2.0minval=0title='Width Coefficient')
    equ_from input.int(defval=0minval=0title='Forecast From _ Bars Ago ═══════════════════')

    //Channel Display Inputs
    show_curve input(defval=truetitle='Show Fitted Curve')
    show_high input(defval=truetitle='Show Fitted Channel High')
    show_low input(defval=truetitle='Show Fitted Channel Low')
    draw_step1 input.int(defval=10minval=1title='Curve Drawing Step Size')
    auto_step input(defval=truetitle='Auto Decide Step Size Instead')
    draw_freq input.string(defval='Close Only'options=['Continuous''Close Only'], title='Curve Update Frequency')
    poly_col_h input(defval=color.yellowtitle='Channel High Line Color')
    poly_lw_h input.int(defval=1minval=1title='Channel High Line Width')
    poly_ls_h input.string(defval='Dashed'options=['Solid''Dotted''Dashed'], title='Channel High Line Style')
    poly_col_m input(defval=color.rgb(25523559100), title='Channel Middle Line Color')
    poly_lw_m input.int(defval=1minval=1title='Channel Middle Line Width')
    poly_ls_m input.string(defval='Dotted'options=['Solid''Dotted''Dashed'], title='Channel Middle Line Style')
    poly_col_l input(defval=color.yellowtitle='Channel Low Line Color')
    poly_lw_l input.int(defval=1minval=1title='Channel Low Line Width')
    poly_ls_l input.string(defval='Dashed'options=['Solid''Dotted''Dashed'], title='Channel Low Line Style ═══════════════════')

    //Smooth data and determine source type for calculation.
    filt SSF(srcfilt_per)
    src1 use_filt filt src

    //Populate a period sized array with bar values.
    var x_vals = array.new_float(per)
    for 
    0 to per 1 by 1
        
    array.set(x_valsi1)

    //Populate a period sized array with historical source values.
    var src_vals = array.new_float(per)
    for 
    0 to per 1 by 1
        
    array.set(src_valsisrc1[per equ_from])

    //Populate an order*2 + 1 sized array with bar power sums.
    var xp_sums = array.new_float(order 1)
    xp_sums_temp 0.0
    for 0 to order 2 by 1
        xp_sums_temp 
    := 0
        
    for 0 to per 1 by 1
            xp_sums_temp 
    += math.pow(array.get(x_valsj), i)
            
    xp_sums_temp
        
    array.set(xp_sumsixp_sums_temp)

    //Populate an order + 1 sized array with (bar power)*(source value) sums.
    var xpy_sums = array.new_float(order 1)
    xpy_sums_temp 0.0
    for 0 to order by 1
        xpy_sums_temp 
    := 0
        
    for 0 to per 1 by 1
            xpy_sums_temp 
    += math.pow(array.get(x_valsj), i) * array.get(src_valsj)
            
    xpy_sums_temp
        
    array.set(xpy_sumsixpy_sums_temp)

    //Generate a pseudo square matrix with row and column sizes of order + 1 using bar power sums.
    var xp_matrix = array.new_float(int(math.pow(order 12)))
    for 
    0 to order by 1
        
    for 0 to order by 1
            set_val
    (xp_matrixrcorder 1, array.get(xp_sumsc))

    //Factor the power sum matrix into lower and upper triangular matrices with order + 1 rows and columns.
    [lowerupper] = LU(xp_matrixxpy_sums)

    //Find lower triangular matrix solutions using (bar power)*(source value) sums.
    l_solutions LT_solve(lowerxpy_sums)

    //Find upper triangular matrix solutions using lower matrix solutions. This gives us our regression coefficients.
    reg_coefs UT_solve(upperl_solutions)

    //Define curve drawing step size.
    draw_step auto_step math.ceil(per 10) : draw_step1

    //Calculate curve values.
    var inter_vals = array.new_float(11)
    for 
    0 to 10 by 1
        
    array.set(inter_valsiregression_val(reg_coefsperordercalc_offs equ_from draw_step i))

    //Calculate standard deviation for channel.
    Stdev = array.stdev(src_vals) * ndev
    //Draw interpolated segments.
    draw_curve(inter_vals01draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals02draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals03draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals04draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals05draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals06draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals07draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals08draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals09draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')
    draw_curve(inter_vals010draw_steppoly_col_mpoly_ls_mpoly_lw_mshow_curvedraw_freq == 'Close Only')

    //Draw channel high segments.
    draw_curve(inter_valsStdev1draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev2draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev3draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev4draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev5draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev6draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev7draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev8draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev9draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')
    draw_curve(inter_valsStdev10draw_steppoly_col_hpoly_ls_hpoly_lw_hshow_highdraw_freq == 'Close Only')

    //Draw channel low segments.
    draw_curve(inter_vals, -Stdev1draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev2draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev3draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev4draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev5draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev6draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev7draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev8draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev9draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    draw_curve(inter_vals, -Stdev10draw_steppoly_col_lpoly_ls_lpoly_lw_lshow_lowdraw_freq == 'Close Only')
    //END 

  8. PHP Code:
     // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
    // © carefulCode53358

    //@version=5
    indicator("*"overlay true)
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    psar(start1inc1maximum1) =>
        
    out1 float(na)
        
    isUpTrend1 bool(na)
        
    maxMin1 float(na)
        
    acc1 float(na)
        
    prev1 float(na)

        if 
    bar_index >= 1
            prev1 
    := out1[1]
            if 
    bar_index == 1
                
    if close close[1]
                    
    isUpTrend1 := true
                    maxMin1 
    := math.max(highhigh[1])
                    
    prev1 := math.min(lowlow[1])
                    
    prev1
                
    else
                    
    isUpTrend1 := false
                    maxMin1 
    := math.min(lowlow[1])
                    
    prev1 := math.max(highhigh[1])
                    
    prev1

                acc1 
    := start1
                acc1
            
    else
                
    isUpTrend1 := isUpTrend1[1]
                
    acc1 := acc1[1]
                
    maxMin1 := maxMin1[1]
                
    maxMin1

            
    if isUpTrend1
                
    if high maxMin1
                    maxMin1 
    := high
                    acc1 
    := math.min(acc1 inc1maximum1)
                    
    acc1
            
    else
                if 
    low maxMin1
                    maxMin1 
    := low
                    acc1 
    := math.min(acc1 inc1maximum1)
                    
    acc1

            
    if na(out1)
                
    out1 := prev1 acc1 * (maxMin1 prev1)
                
    out1

            
    if isUpTrend1
                
    if low <= out1
                    isUpTrend1 
    := false
                    out1 
    := maxMin1
                    maxMin1 
    := low
                    acc1 
    := start1
                    acc1
            
    else
                if 
    high >= out1
                    isUpTrend1 
    := true
                    out1 
    := maxMin1
                    maxMin1 
    := high
                    acc1 
    := start1
                    acc1

            
    if na(out1)
                if 
    isUpTrend1
                    out1 
    := math.min(out1bar_index == low[1] : math.min(low[1], low[2]))
                    
    out1
                
    else
                    
    out1 := math.max(out1bar_index == high[1] : math.max(high[1], high[2]))
                    
    out1

        
    [out1acc1maxMin1isUpTrend1]


    start1 input(0.05)
    increment1 input(0.075)
    maximum1 input(0.35)
    [
    p1AF1EP1isUpTrend1] = psar(start1increment1maximum1)

    newEP1 EP1 != EP1[1]
    epNew1 newEP1 EP1 na

    //plot(p1, 'Sar-Trend', style=plot.style_cross, color=isUpTrend1 ? color.rgb(76, 175, 79, 00) : color.rgb(255, 82, 82, 00), linewidth=2)
    //plot(EP1, 'Sar-Stop', style=plot.style_circles, color=isUpTrend1 ? color.rgb(76, 175, 79, 100) : color.rgb(255, 82, 82, 100), linewidth=2)
    //plot(epNew1, 'Trend-Continuing', style=plot.style_cross, color=isUpTrend1 ? color.rgb(76, 175, 79, 100) : color.rgb(255, 82, 82, 100), linewidth=3)
    //Sar Functıons
    x1ta.sar(0.010.010.1)
    x2 ta.sar(0.010.020.1)
    x3ta.sar(0.010.030.1)
    x4ta.sar(0.010.020.2)
    x5ta.sar(0.010.040.2)
    x6ta.sar(0.020.020.2)
    x7ta.sar(00.11)
    x8ta.sar(00.011)
    x9ta.sar(00.010.2)
    x10ta.sar(0.100.2)
    x11ta.sar(0.10.10.1)
    x12ta.sar(0.050.0750.35)

    reverseavg=(p1+EP1+epNew1+x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x12)/15
    plot
    (reverseavgcolor=isUpTrend1 color.green color.redtitle='REVERSE-AVG'style=plot.style_steplinelinewidth=2)
    //Break
    start88 input(0title="start"group="Parabolic SAR")
    increment88 input(0.001title="Increment"group="Parabolic SAR")
    maximum88 input(1title="Maximum"group="Parabolic SAR"
    out88 ta.sar(start88increment88maximum88)
    sarChange1 ta.change(out88<high)
    var 
    prevSar1 out88

    if(sarChange1)
        
    prevSar1 := out88[1] + ((out88[1]/100)*0.9)
     
    plot(out88 and sarChange1?na:prevSar1style=plot.style_linebroffset = -5color=out88<highcolor.orange color.orangetitle="Kırılım"linewidth=3)
    //END 

Sayfa 248/336 İlkİlk ... 148198238246247248249250258298 ... SonSon

Yer İmleri

Yer İmleri

Gönderi Kuralları

  • Yeni konu açamazsınız
  • Konulara cevap yazamazsınız
  • Yazılara ek gönderemezsiniz
  • Yazılarınızı değiştiremezsiniz
  •