Mark
#SUPERTREND def ST_Atr_Mult = 1.0; def ST_Length = 4; def ST_AvgType = AverageType.HULL; def ATRSuper = MovingAverage(ST_AvgType, TrueRange(high, close, low), ST_Length); def UP = HL2 + (ST_Atr_Mult * ATRSuper); def DN = HL2 + (-ST_Atr_Mult * ATRSuper); def ST = if close < ST[1] then UP else DN; #CCI_ATR def pricedata = hl2; def lengthCCI = 50; def lengthATR = 21; def AtrFactorSuper = 1.0; def ATRcci = Average(TrueRange(high, close, low), lengthATR) * AtrFactorSuper; def price = close + low + high; def linDev = LinDev(price, lengthCCI); def CCI = if linDev == 0 then 0 else (price - Average(price, lengthCCI)) / linDev / 0.015; def MT1 = if CCI > 0 then Max(MT1[1], pricedata - ATRcci) else Min(MT1[1], pricedata + ATRcci); def SuperTrendSignalLong = close > MT1 and close > ST; def SuperTrendSignalShort = close < MT1 and close < ST;

Comment