Optimized Trend Tracker

Penulis:ChaoZhang, Tanggal: 2022-05-06 23:35:19
Tag:OTT

Indikator baru dari pengembang indikator MOST (Moving Stop Loss) Anıl Özekşi.

Optimized Trend Tracker OTT adalah indikator yang menyediakan pedagang untuk menemukan tren yang ada atau dengan kata lain untuk melihat sisi mana dari tren saat ini kita berada.

Kami berada di bawah efek uptrend dalam kasus di mana harga di atas OTT, di bawah pengaruh tren penurunan, ketika harga di bawah OTT mungkin kita bisa mengatakan bahwa kita.

Parameter pertama dalam indikator OTT yang ditetapkan oleh kedua parameter adalah periode/panjangnya.

OTT akan lebih sensitif terhadap pergerakan tren jika lebih kecil. Dan sebaliknya, akan kurang sensitif ketika lebih lama.

Seiring berjalannya waktu akan menjadi kurang sensitif terhadap tren kecil dan pergerakan harga.

Dengan cara ini, pilihan periode Anda, akan terkait erat dengan jenis tren yang Anda minati.

Parameter persentase OTT dalam OTT adalah koefisien optimasi. Nilai kecil lebih baik dalam menangkap fluktuasi jangka pendek, sedangkan nilai besar akan lebih cocok untuk tren jangka panjang.

Selain itu, ketika OTT digunakan dengan garis dukungan di dalamnya, sinyal beli dan jual akan menjadi indikator yang produktif.

Anda dapat menggunakan alarm default OTT dan sinyal Beli Jual seperti:

1- Beli ketika Harga di atas OTT JUAL ketika Harga di bawah OTT

2- Beli ketika OTT support Line melintasi garis OTT. JUAL ketika OTT support line melintasi di bawah OTT line.

3- Beli ketika garis OTT adalah hijau dan membuat tertinggi yang lebih tinggi. Jual ketika garis OTT merah dan membuat terendah.

Catatan: Sebuah liputan kecil dengan subtitle bahasa Inggris akan segera tersedia di saluran Youtube saya.Pengamatan

img


/*backtest
start: 2022-04-06 00:00:00
end: 2022-05-05 23:59:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// 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

study("Optimized Trend Tracker","OTT", overlay=true)
src = input(close, title="Source")
length=input(2, "OTT Period", minval=1)
percent=input(1.4, "OTT Percent", type=input.float, step=0.1, minval=0)
showsupport = input(title="Show Support Line?", type=input.bool, defval=true)
showsignalsk = input(title="Show Support Line Crossing Signals?", type=input.bool, defval=true)
showsignalsc = input(title="Show Price/OTT Crossing Signals?", type=input.bool, defval=false)
highlight = input(title="Show OTT Color Changes?", type=input.bool, defval=false)
showsignalsr = input(title="Show OTT Color Change Signals?", type=input.bool, defval=false)
highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true)
mav = input(title="Moving Average Type", defval="VAR", options=["SMA", "EMA", "WMA", "TMA", "VAR", "WWMA", "ZLEMA", "TSF"])
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=sum(vud1,9)
    vDD=sum(vdd1,9)
    vCMO=nz((vUD-vDD)/(vUD+vDD))
    VAR=0.0
    VAR:=nz(valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*nz(VAR[1])
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_Func(src,length)
Zlema_Func(src,length)=>
    zxLag = length/2==round(length/2) ? length/2 : (length - 1) / 2
    zxEMAData = (src + (src - src[zxLag]))
    ZLEMA = ema(zxEMAData, length)
ZLEMA=Zlema_Func(src,length)
Tsf_Func(src,length)=>
    lrc = linreg(src, length, 0)
    lrc1 = linreg(src,length,1)
    lrs = (lrc-lrc1)
    TSF = linreg(src, length, 0)+lrs
TSF=Tsf_Func(src,length)
getMA(src, length) =>
    ma = 0.0
    if mav == "SMA"
        ma := sma(src, length)
        ma

    if mav == "EMA"
        ma := ema(src, length)
        ma

    if mav == "WMA"
        ma := wma(src, length)
        ma

    if mav == "TMA"
        ma := sma(sma(src, ceil(length / 2)), 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 ? max(longStop, longStopPrev) : longStop
shortStop =  MAvg + fark
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := MAvg < shortStopPrev ? 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 
plot(showsupport ? MAvg : na, color=#0585E1, linewidth=2, title="Support Line")
OTTC = highlight ? OTT[2] > OTT[3] ? color.green : color.red : #B800D9 
pALL=plot(nz(OTT[2]), color=OTTC, linewidth=2, title="OTT", transp=0)

buySignalk = crossover(MAvg, OTT[2])
plotshape(buySignalk and showsignalsk ? OTT*0.995 : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0)
sellSignallk = crossunder(MAvg, OTT[2])
plotshape(sellSignallk and showsignalsk ? OTT*1.005 : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)

if buySignalk
    strategy.entry("entry long", strategy.long)
else if sellSignallk
    strategy.entry("entry short", strategy.short)
  
  


Berkaitan

Lebih banyak