Maybe it has got something to do with "Open Prices model in backtester". Try using ticks and see if the problem still occur.
Testing Features and Limits in MetaTrader 4 - MQL4 Articles Fifth bullet from the top.

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 have found a bug on iClose function. If you ask for iClose(x,0,0) where x is another symbol different that the current symbol you will always get iOpen(x,0,0) value instead, EVEN if iTime(x,0,0) < iTime(NULL,0,0). I have only checked it on D1 time-frame with Open Prices model in backtester. Could you please solve it?
Kind Regards