Here's one take on the simple version of colouring a chart:
-----------------------------------
x:= ROC( DI(), 1, $);
plus:=x*(x>0);
minus:=x*(x<0);
{histograms}
0; {blue}
plus; {green}
minus; {red}
-----------------------------------

I think this is more what you're after though?
-----------------------------------
x:= ROC( DI(), 1, $);
yp := ValueWhen(1,x>0,x) > ValueWhen(2,x>0,x);
yn := ValueWhen(1,x<0,x) < ValueWhen(2,x<0,x);
{histograms}
0; {blue}
x*(x>0)*(yp>0); {lightgreen}
x*(x>0)*(yp=0); {darkgreen}
x*(x<0)*(yn>0); {darkred}
x*(x<0)*(yn=0); {red}
-----------------------------------

Hope this helps.
wabbit
![Big Smile [:D]](/emoticons/emotion-2.gif)
P.S. Don't forget to save the chart as a template after adjusting the colours so you don't have to do it every time!
"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim."
Edsgar W. Dijkstra
MS: 6.52 EOD, 7.x EOD, 8.0 PRO, 9.2 PRO w/QC, 10 PRO w/QC C, 11 PRO w/QC & MDK
For custom MetaStock programming : http://www.wabbit.com.au
My SkyPE status : 
My SkyPE account : wabbit.com.au