declare lower; input price = close; input colorNormLength = 3; input DpoLength = 14; input MoboDisplace = 0; input MoboLength = 10; input SDmult = .8; def SD = StDev(price, MoboLength); plot DPO = price - Average(price[DpoLength / 2 + 1], DpoLength); def mean = Average(DPO, MoboLength); plot mean1 = mean; plot upper = mean + (SDmult * SD); plot lower = mean + (-SDmult * SD); DPO.DefineColor("Highest", Color.YELLOW); DPO.DefineColor("Lowest", Color.LIGHT_RED); DPO.AssignNormGradientColor(colorNormLength, DPO.Color("Lowest"), DPO.Color("Highest")); upper.AssignValueColor(if mean > mean[1] then Color.GREEN else Color.RED); def nan = double.nan; AddCloud(if DPO > lower then upper else nan, if DPO > lower then lower else nan, Color.Green, Color.Current); AssignPriceColor(if DPO > lower then color.green else color.red);