Why JPY pairs returns Digits 5 to me?
Oh guess I found it, sorry for silly question, it is the condition check messed it up.
double TradeUtil::pipSize = (Digits == 5)? 0.0001:0.01;
I'm totally missed.
The _Digits variable stores number of digits after a decimal point, which defines the price accuracy of the symbol of the current chart.
You may also use the Digits() function.
It freaks my EA, now it keeps saying the spread is high and reject the setup from xxxJPY. USD works fine.