Optimierter Trend-Tracker

Schriftsteller:ChaoZhang, Datum: 2022-05-06 23:35:19
Tags:OTT

Ein brandneuer Indikator vom Entwickler des MOST-Indikators Anıl Özekşi.

Optimierter Trend-Tracker OTT ist ein Indikator, der es den Händlern ermöglicht, einen bestehenden Trend zu finden oder mit anderen Worten zu sehen, auf welcher Seite des aktuellen Trends wir uns befinden.

Wir sind unter dem Einfluss des Aufwärtstrends in Fällen, in denen die Preise über OTT liegen. unter dem Einfluss einer Abwärtstrend, wenn die Preise unter dem OTT liegen Es ist möglich zu sagen, dass wir es sind.

Der erste Parameter des OTT-Indikators, der durch die beiden Parameter festgelegt wird, ist die Periode/Länge.

OTT wird bei kleinerer Bandbreite sehr empfindlich auf Trendbewegungen reagieren und umgekehrt bei längerer Bandbreite weniger empfindlich.

Mit zunehmendem Zeitraum wird es weniger empfindlich für kleine Trends und Kursbewegungen.

Auf diese Weise wird Ihre Wahl der Periode eng mit der Art der Trends zusammenhängen, an denen Sie interessiert sind.

Der OTT-Prozentparameter in OTT ist ein Optimierungskoeffizient. Kleine Werte erfassen kurzfristige Schwankungen besser, während große Werte Die Entwicklung der Wirtschaft in den letzten Jahren hat sich in den letzten Jahren deutlich verändert.

Darüber hinaus, wenn OTT mit der Support-Linie verwendet wird, kaufen und verkaufen Signale Es wird zu einem produktiven Indikator.

Sie können OTT-Standard-Alarme und Buy Sell-Signale wie:

1- Kaufen, wenn die Preise über OTT liegen Verkaufen, wenn die Preise unter OTT liegen

2- Kaufen, wenn die OTT-Unterstützungslinie über die OTT-Linie geht. Verkaufe, wenn die OTT-Unterstützungslinie unter der OTT-Linie kreuzt.

3- Kaufen, wenn die OTT-Linie grün ist und höhere Höchstwerte erzielt. SELL, wenn die OTT-Linie rot ist und niedrigere Tiefststände erreicht.

Hinweis: Eine kleine Berichterstattung mit englischen Untertiteln wird bald auf meinem Youtube-Kanal erscheinen.Wiederholung

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)
  
  


Verwandt

Mehr