declare lower; input price = close; input calculationMode = {default Normal, Alternate}; def FastLine; switch (calculationMode) { case Normal: FastLine = Average(price, 3) - Average(price, 10); case Alternate: FastLine = Average(price - Average(price[3], 3), 2); } def SlowLine = Average(FastLine, 16); def Hist = FastLine; def ZeroLine = 0; def condition = slowLine[12] crosses above zeroLine or slowLine[11] crosses above zeroLine or slowLine[10] crosses above zeroLine or slowLine[9] crosses above zeroLine or slowLine[8] crosses above zeroLine or slowLine[7] crosses above zeroLine or slowLine[6] crosses above zeroLine or slowLine[5] crosses above zeroLine or slowLine[4] crosses above zeroLine or slowLine[3] crosses above zeroLine or slowLine[2] crosses above zeroLine or slowLine[1] crosses above zeroLine or slowLine crosses above zeroLine; def fastLineBelowZero = fastLine[3] > 0 and fastLine[2] < 0 and fastLine[1] < 0 and fastLine < 0; def slowLineAboveZero = slowLine > 0; plot test = if condition and fastLineBelowZero and slowLineAboveZero then 1 else 0;