Um novo indicador do desenvolvedor do indicador MOST (Moving Stop Loss) Anıl Özekşi.
Optimizado Trend Tracker OTT é um indicador que fornece aos traders para encontrar uma tendência existente ou, em outras palavras, para ver em que lado da tendência atual estamos.
Estamos sob o efeito da tendência ascendente nos casos em que os preços estão acima do OTT, sob a influência de uma tendência descendente, quando os preços são inferiores ao OTT É possível dizer que somos.
O primeiro parâmetro do indicador OTT definido pelos dois parâmetros é o período/duração.
A OTT será muito sensível aos movimentos da tendência se for menor e, vice-versa, será menos sensível quando for mais longa.
À medida que o período aumenta, torna-se menos sensível a pequenas tendências e ações de preços.
Desta forma, a sua escolha de período estará estreitamente relacionada com o tipo de tendências que lhe interessam.
O parâmetro de porcentagem OTT em OTT é um coeficiente de otimização. Os valores mais baixos são mais eficazes para capturar flutuações a curto prazo, enquanto os valores mais elevados são mais eficazes para capturar flutuações a curto prazo. A evolução do mercado de capitais será mais adequada para as tendências de longo prazo.
Além disso, quando o OTT é usado com a linha de suporte, os sinais de compra e venda tornar-se-á um indicador produtivo.
Você pode usar alarmes padrão OTT e sinais Buy Sell como:
1- Comprar quando os preços estão acima do OTT VENDER quando os Preços estão abaixo do OTT
2- Comprar quando a linha de suporte da OTT cruzar a linha da OTT. VENDER quando a linha de apoio OTT cruzar a linha OTT.
3- Compre quando a linha OTT estiver verde e fizer altas altas. Vende quando a linha OTT estiver vermelha e fizer baixos mais baixos.
Nota: Uma pequena cobertura com legendas em inglês estará disponível em breve no meu canal do Youtube.Revisão
/*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)