How to code Zigzag whether pointing UP or DOWN

 
I've found from other forum with the below script to identify whether the Zigzag pointing UP or DOWN. However, the below script has discrepancy with the original Zigzag indi. What I would like to have is to identify the current direction of the original Zigzag indi to execute Buy or Sell & close immediately when the opposite direction of Zigzag appear.

Would greatly appreciate if anyone could share the script.

Thanks and best regards.

 
 int n, i;
  double zag, zig;
  i=0;
    while(n<2)
{
   if(zig>0) zag=zig;
   zig=iCustom(NULL, 0, "ZigZag", 0, i);
   if(zig>0) n+=1;
   i++;
}
RESULT
-----------
if(zag<zig) indicator shows down
if(zig<zag) indicator shows up