Ok first of all you should not have the finishing ; in the if line above. If you have that ;, it would just stop the if there and always execute the bracketed code.
Second: gratz You found a bug in MT's C# preprocessing of the Any function.
It was converting the if statement above to: if ((MACDHIST_Histogram[0] >= 0.0) && CCI_Line.Any(0, 4, (i, x) => { return (CCI_Line[ i ].CrossesUp(-100,0)); }))
and it should have been
if ((MACDHIST_Histogram[0] >= 0.0) && CCI_Line.Any(0, 4, (i, x) => { return (CCI_Line.CrossesUp(-100,0)); }))
and third - there is more wrong with that line. It really should be:
if ((MACDHIST_Histogram[0] >= 0.0) && CCI_Line.Any(0, 4, (i, x) => { return (CCI_Line.CrossesUp(-100,i)); }))
but this will take some more fixin'. Doing that now.