Optimized Trend Tracker OTT is an indicator that provides traders to find an existing trend or in another words to see which side of the current trend we are on.
We are under the effect of the uptrend in cases where the prices are above OTT ,
under the influence of a downward trend, when prices are below OTT.
The first parameter in the OTT indicator set by the two parameters is the period/length.
OTT will be much sensitive to trend movements if it is smaller. And vice versa, will be less sensitive when it is longer.
As the period increases it will become less sensitive to little trends and price actions.
In this way, your choice of period, will be closely related to which of the sort of trends you are interested in.
The OTT percent parameter in OTT is an optimization coefficient. Just like in the period
small values are better at capturing short term fluctuations, while large values
will be more suitable for long-term trends.
In addition, when OTT is used with the support line in it, buy and sell signals
it will become a producing indicator.
You can use OTT default alarms and Buy Sell signals like:
1-
BUY when Prices are above OTT
SELL when Prices are below OTT
2-
BUY when OTT support Line crosses over OTT line.
SELL when OTT support Line crosses under OTT line.
3-
BUY when OTT line is Green and makes higher highs.
SELL when OTT line is Red and makes lower lows.
Text from his author: KivancOzbilgic
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
//PRC_Optimized Trend Tracker | indicator //version = 0 //14.02.24 //Iván González @ www.prorealcode.com //Sharing ProRealTime knowledge ////developer: ANIL ÖZEKŞİ //////inputs src = customclose length = 2 //OTT period percent = 1.4 //OTT percent showsupport = 1 //Show Support Line showsignalsk = 1 //Show Support Line Crossing Signals showsignalsc = 0 //Show Price/OTT Crossing Signals highlight = 0 //Show OTT Color Changes highlighting = 1 //Highlighter On/Off mav = 1 //Moving Average Type ///////indicator ////VAR if barindex < 9 then var = src else valpha=2/(length+1) if src > src[1] then vud1= src-src[1] vdd1= 0 elsif src < src[1] then vud1= 0 vdd1=src[1]-src else vud1=0 vdd1=0 endif vUD=summation[9](vud1) vDD=summation[9](vdd1) vCMO=(vUD-vDD)/(vUD+vDD) VAR=(valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*VAR[1] endif if barindex < length then Mavg = src dir = 1 else if AverageTypeVAR then Mavg = var else Mavg=average[length,mav](src) endif fark = Mavg*percent*0.01 longStop = Mavg - fark longStopPrev = longStop[1] if Mavg > longStopPrev then longStop = max(longStop,longStopPrev) else longStop = longStop endif shortStop = Mavg + fark shortStopPrev = shortStop[1] if Mavg < shortStopPrev then shortStop = min(shortStop,shortStopPrev) else shortStop = shortStop endif if dir = -1 and Mavg > shortStopPrev then dir = 1 elsif dir = 1 and Mavg < longStopPrev then dir = -1 else dir = dir[1] endif endif if dir = 1 then MT = longStop else MT = shortStop endif if Mavg > MT then OTT = MT*(200+percent)/200 else OTT = MT*(200-percent)/200 endif pALL = OTT[2] ///////////OTT colors if highlight then if OTT[2]>OTT[3] then r=76 g=175 b=80 else r=255 g=82 b=82 endif else r=184 g=0 b=117 endif //////////print signals buysignal = Mavg crosses over OTT[2] sellsignal = Mavg crosses under OTT[2] if buysignal and showsignalsk then drawarrowup(barindex,low-0.25*averagetruerange[10](close))coloured("green") elsif sellsignal and showsignalsk then drawarrowdown(barindex,high+0.25*averagetruerange[10](close))coloured("red") endif buySignalc = src crosses over OTT[2] sellSignallc = src crosses under OTT[2] if buySignalc and showsignalsc then drawtext("▲",barindex,low-0.25*averagetruerange[10](close))coloured("green") elsif sellSignallc and showsignalsc then drawtext("▼",barindex,high+0.25*averagetruerange[10](close))coloured("red") endif if Mavg > OTT then r1=0 g1=250 b1=0 else r1=250 g1=0 b1=0 endif mplot = (high+low+close+open)/4 if highlighting then colorbetween(mplot,pALL,r1,g1,b1,40) endif return Mavg*showsupport as "Media" coloured(0,0,250)style(dottedline,2),pALL as "OTT"coloured(r,g,b)style(line,2) |
Share this
No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.
ProRealTime ITF files and other attachments :PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials
Hi, many thanks for this indicator but it doesn’t work. Need to define the AverageTypeVAR
Hi! If you download the indicator the variable will be defined. Anyway here you have again with default parameters:
//PRC_Optimized Trend Tracker | indicator
//version = 0
//14.02.24
//Iván González @ http://www.prorealcode.com
//Sharing ProRealTime knowledge
////developer: ANIL ÖZEKŞİ
//////inputs
src = customclose
length = 2 //OTT period
percent = 1.4 //OTT percent
showsupport = 1 //Show Support Line
showsignalsk = 1 //Show Support Line Crossing Signals
showsignalsc = 0 //Show Price/OTT Crossing Signals
highlight = 0 //Show OTT Color Changes
highlighting = 1 //Highlighter On/Off
AverageTypeVAR = 1 // use VAR average
mav = 1 //Moving Average Type
///////indicator
////VAR
if barindex < 9 then
var = src
else
valpha=2/(length+1)
if src > src[1] then
vud1= src-src[1]
vdd1= 0
elsif src < src[1] then
vud1= 0
vdd1=src[1]-src
else
vud1=0
vdd1=0
endif
vUD=summation[9](vud1)
vDD=summation[9](vdd1)
vCMO=(vUD-vDD)/(vUD+vDD)
VAR=(valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*VAR[1]
endif
if barindex < length then
Mavg = src
dir = 1
else
if AverageTypeVAR then
Mavg = var
else
Mavg=average[length,mav](src)
endif
fark = Mavg*percent*0.01
longStop = Mavg – fark
longStopPrev = longStop[1]
if Mavg > longStopPrev then
longStop = max(longStop,longStopPrev)
else
longStop = longStop
endif
shortStop = Mavg + fark
shortStopPrev = shortStop[1]
if Mavg < shortStopPrev then
shortStop = min(shortStop,shortStopPrev)
else
shortStop = shortStop
endif
if dir = -1 and Mavg > shortStopPrev then
dir = 1
elsif dir = 1 and Mavg < longStopPrev then
dir = -1
else
dir = dir[1]
endif
endif
if dir = 1 then
MT = longStop
else
MT = shortStop
endif
if Mavg > MT then
OTT = MT*(200+percent)/200
else
OTT = MT*(200-percent)/200
endif
pALL = OTT[2]
///////////OTT colors
if highlight then
if OTT[2]>OTT[3] then
r=76
g=175
b=80
else
r=255
g=82
b=82
endif
else
r=184
g=0
b=117
endif
//////////print signals
buysignal = Mavg crosses over OTT[2]
sellsignal = Mavg crosses under OTT[2]
if buysignal and showsignalsk then
drawarrowup(barindex,low-0.25*averagetruerange[10](close))coloured(“green”)
elsif sellsignal and showsignalsk then
drawarrowdown(barindex,high+0.25*averagetruerange[10](close))coloured(“red”)
endif
buySignalc = src crosses over OTT[2]
sellSignallc = src crosses under OTT[2]
if buySignalc and showsignalsc then
drawtext(“▲”,barindex,low-0.25*averagetruerange[10](close))coloured(“green”)
elsif sellSignallc and showsignalsc then
drawtext(“▼”,barindex,high+0.25*averagetruerange[10](close))coloured(“red”)
endif
if Mavg > OTT then
r1=0
g1=250
b1=0
else
r1=250
g1=0
b1=0
endif
mplot = (high+low+close+open)/4
if highlighting then
colorbetween(mplot,pALL,r1,g1,b1,40)
endif
return Mavg*showsupport as “Media” coloured(0,0,250)style(dottedline,2),pALL as “OTT”coloured(r,g,b)style(line,2)
Thanks, now it’s OK. in your first code at line 15-16 it’s missing.
Hello Ivan
Did you try a strategy with this indicator
Hi. No I didn’t. This is a code translation requested by an user a few days ago.