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;

You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
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.