Hello folks
Feel a bit silly for asking but I can't work it out hence falling on the mercy of the group for help.
I grabbed the ZScore lower study a while ago and have updated to just show a plotted line but with positive/negative colours to indicate trend (I find this traffic light colouring suits my simple brain).
I had an idea that I would combine this study as a background on a MACD_BB lower as I use the ZScore plot as a confirmation only and want to save space/simplify the chart.....so the question is, how do I covert my line colouring to a vertical cloud background. I got as far as the below but struggling with the code that includes the infinity statements to make it vertical and getting the 4 colours in that I wanted....is that even possible?
I don't remember where i got the original code from so thanks to the author and apologies if you think I've butchered the code unnecessarily.
Feel a bit silly for asking but I can't work it out hence falling on the mercy of the group for help.
I grabbed the ZScore lower study a while ago and have updated to just show a plotted line but with positive/negative colours to indicate trend (I find this traffic light colouring suits my simple brain).
I had an idea that I would combine this study as a background on a MACD_BB lower as I use the ZScore plot as a confirmation only and want to save space/simplify the chart.....so the question is, how do I covert my line colouring to a vertical cloud background. I got as far as the below but struggling with the code that includes the infinity statements to make it vertical and getting the 4 colours in that I wanted....is that even possible?
I don't remember where i got the original code from so thanks to the author and apologies if you think I've butchered the code unnecessarily.
Code:
#Computes and plots the Zscore
def ZavgLength = 20 ;
def oneSD = StDev(close, 20);
def avgClose = SimpleMovingAvg(close, 20);
def ofoneSD = oneSD * close[1];
def Zscorevalue = ((close - avgClose) / oneSD);
def avgZv = Average(Zscorevalue, 20);
def Zscore = ((close - avgClose) / oneSD);
# ########################################################
# charting & formatting:
declare lower;
#This is an optional plot that will display the momentum of the Z-Score average
DefineGlobalColor("LabelGreen", CreateColor(0, 165, 0)) ;
plot pavgZscore = Average(Zscorevalue, ZavgLength);
plot momZAvg = (avgZv - avgZv[5]);
plot pZscore = Zscore;
plot zero = 0;
def pos1 = pavgZscore >= 0;
def neg1 = pavgZscore < 0;
def up1 = pavgZscore >= pavgZscore[1];
def dn1 = pavgZscore < pavgZscore[1];
def PosUp1 = pos1 and up1;
def PosDn1 = pos1 and dn1;
def NegDn1 = neg1 and dn1;
def NegUp1 = neg1 and up1;
pavgZscore.AssignValueColor(if PosUp1 then Color.GREEN else if PosDn1 then Color.DARK_GREEN else if NegDn1 then Color.RED else if NegUp1 then Color.YELLOW else Color.YELLOW);
zero.SetDefaultColor(GetColor(0));
AddCloud(posup1 or negup1, negdn1 or posdn1, Color.light_GREEN, Color.light_RED);
#=====================================