Автор: esmalkov Нет, FinamTrade для Андроида
Этот индикатор вычисляется так:
I. ATR = SMA(TR(high, low, close), period), где
TR = max(a,b,c)
a = abs(high - low)
b = abs(high - prevClose)
c = abs(low - prevClose)
prevClose = shift(close, 1)
TrailingStops(source):
source - исходная последовательность
mode: {LONG, SHORT}
mode.invert(): {если LONG: SHORT, иначе: LONG}
Инициализация:
mode = LONG
level = high(0) - source(0) * multiplier
Далее для каждого х:
price = {если mode LONG: high(х), иначе: low(х)}
level = {если mode LONG: max(level, high(х) - source(х) * multiplier), иначе: min(level, low(х) - source(х) * multiplier)}
stopPrice = {если mode = LONG: low, иначе: high}
{ если (stopped(stopPrice)): mode.invert(); level = stopPrice - source(x) * multiplier}
TrailingStops = level
здесь stopped(price);
{ если mode = LONG: price <=level иначе: price >= level }
III. Итоговый индикатор ATR TS - композиция двух, описанных выше:
TrailingStops(ATR(...))