suivi de tendance

Viewing 2 posts - 1 through 2 (of 2 total)
  • #253512

    Bonjour j’ai trouvé cet indicateur sur trading view si quelqu’un pouvait le traduire en prt merci d’avance
    //@version=5
    // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
    // © KivancOzbilgic

    //created by: @Anil_Ozeksi
    //developer: ANIL ÖZEKŞİ
    //author: @kivancozbilgic

    strategy(‘Twin Optimized Trend Tracker’, ‘TOTT’, overlay=true)
    src = input(close, title=’Source’)
    length = input.int(40, ‘OTT Period’, minval=1)
    percent = input.float(1, ‘Optimization Constant’, step=0.1, minval=0)
    coeff = input.float(0.001, ‘Twin OTT Coefficient’, step=0.001, minval=0)
    showsupport = input(title=’Show Support Line?’, defval=true)
    showsignalsk = input(title=’Show Signals?’, defval=true)
    mav = input.string(title=’Moving Average Type’, defval=’VAR’, options=[‘SMA’, ‘EMA’, ‘WMA’, ‘TMA’, ‘VAR’, ‘WWMA’, ‘ZLEMA’, ‘TSF’])
    highlighting = input(title=’Highlighter On/Off ?’, defval=true)
    Var_Func(src, length) =>
    valpha = 2 / (length + 1)
    vud1 = src > src[1] ? src – src[1] : 0
    vdd1 = src < src[1] ? src[1] - src : 0 vUD = math.sum(vud1, 9) vDD = math.sum(vdd1, 9) vCMO = nz((vUD - vDD) / (vUD + vDD)) VAR = 0.0 VAR := nz(valpha * math.abs(vCMO) * src) + (1 - valpha * math.abs(vCMO)) * nz(VAR[1]) VAR VAR = Var_Func(src, length) Wwma_Func(src, length) =>
    wwalpha = 1 / length
    WWMA = 0.0
    WWMA := wwalpha * src + (1 – wwalpha) * nz(WWMA[1])
    WWMA
    WWMA = Wwma_Func(src, length)
    Zlema_Func(src, length) =>
    zxLag = length / 2 == math.round(length / 2) ? length / 2 : (length – 1) / 2
    zxEMAData = src + src – src[zxLag]
    ZLEMA = ta.ema(zxEMAData, length)
    ZLEMA
    ZLEMA = Zlema_Func(src, length)
    Tsf_Func(src, length) =>
    lrc = ta.linreg(src, length, 0)
    lrc1 = ta.linreg(src, length, 1)
    lrs = lrc – lrc1
    TSF = ta.linreg(src, length, 0) + lrs
    TSF
    TSF = Tsf_Func(src, length)
    getMA(src, length) =>
    ma = 0.0
    if mav == ‘SMA’
    ma := ta.sma(src, length)
    ma

    if mav == ‘EMA’
    ma := ta.ema(src, length)
    ma

    if mav == ‘WMA’
    ma := ta.wma(src, length)
    ma

    if mav == ‘TMA’
    ma := ta.sma(ta.sma(src, math.ceil(length / 2)), math.floor(length / 2) + 1)
    ma

    if mav == ‘VAR’
    ma := VAR
    ma

    if mav == ‘WWMA’
    ma := WWMA
    ma

    if mav == ‘ZLEMA’
    ma := ZLEMA
    ma

    if mav == ‘TSF’
    ma := TSF
    ma
    ma

    MAvg = getMA(src, length)
    fark = MAvg * percent * 0.01
    longStop = MAvg – fark
    longStopPrev = nz(longStop[1], longStop)
    longStop := MAvg > longStopPrev ? math.max(longStop, longStopPrev) : longStop
    shortStop = MAvg + fark
    shortStopPrev = nz(shortStop[1], shortStop)
    shortStop := MAvg < shortStopPrev ? math.min(shortStop, shortStopPrev) : shortStop dir = 1 dir := nz(dir[1], dir) dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir MT = dir == 1 ? longStop : shortStop OTT = MAvg > MT ? MT * (200 + percent) / 200 : MT * (200 – percent) / 200
    OTTup = OTT * (1 + coeff)
    OTTdn = OTT * (1 – coeff)

    PPLOT = plot(showsupport ? MAvg : na, color=color.new(#0585E1, 0), linewidth=2, title=’Support Line’)

    pALLup = plot(nz(OTTup[2]), color=color.new(color.green, 0), linewidth=2, title=’OTTup’)
    pALLdn = plot(nz(OTTdn[2]), color=color.new(color.red, 0), linewidth=2, title=’OTTdown’)

    buySignalk = ta.crossover(MAvg, OTTup[2])
    sellSignalk = ta.crossunder(MAvg, OTTdn[2])
    K1 = ta.barssince(buySignalk)
    K2 = ta.barssince(sellSignalk)
    O1 = ta.barssince(buySignalk[1])
    O2 = ta.barssince(sellSignalk[1])

    plotshape(buySignalk and showsignalsk and O1 > K2 ? math.min(low, OTTdn) : na, title=’Buy’, text=’Buy’, location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.new(color.white, 0))
    plotshape(sellSignalk and showsignalsk and O2 > K1 ? math.max(high, OTTup) : na, title=’Sell’, text=’Sell’, location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.new(color.white, 0))
    mPlot = plot(ohlc4, title=”, style=plot.style_circles, linewidth=0, display=display.none)
    longFillColor = highlighting ? O2 > K1 ? color.green : na : na
    shortFillColor = highlighting ? O1 > K2 ? color.red : na : na
    fill(mPlot, PPLOT, title=’UpTrend Highligter’, color=longFillColor, transp=90)
    fill(mPlot, PPLOT, title=’DownTrend Highligter’, color=shortFillColor, transp=90)
    fill(pALLup, pALLdn, title=’Flat Zone Highligter’, color=color.new(color.blue, 90))

    dummy0 = input(true, title=’=Backtest Inputs=’)
    FromDay = input.int(defval=1, title=’From Day’, minval=1, maxval=31)
    FromMonth = input.int(defval=1, title=’From Month’, minval=1, maxval=12)
    FromYear = input.int(defval=2005, title=’From Year’, minval=2005)
    ToDay = input.int(defval=1, title=’To Day’, minval=1, maxval=31)
    ToMonth = input.int(defval=1, title=’To Month’, minval=1, maxval=12)
    ToYear = input.int(defval=9999, title=’To Year’, minval=2006)
    Start = timestamp(FromYear, FromMonth, FromDay, 00, 00)
    Finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)
    Timerange() =>
    time >= Start and time <= Finish ? true : false if buySignalk strategy.entry('Long', strategy.long, when=Timerange()) if sellSignalk strategy.entry('Short', strategy.short, when=Timerange())

    #253519

    voici

    1 user thanked author for this post.
Viewing 2 posts - 1 through 2 (of 2 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login