You don't understand what I said. Let's take a close-up look on how MetaTrader display the Close price of the last candle in EURUSD chart.
I thought MetaTrader display the latest Close price = (latest Bid + latest Ask) / 2. Example 1: Bid = 1.2000, Ask = 1.2002, then Close = 1.2001. But what if the spread is 3 pips. Example 2: Bid = 1.2000, Ask =1.2003, then Close = 1.20015. Have you seen MetaTrader displayed 1.20015 (it contains undisplayable 0.5 pip) in EURUSD chart? never. It's because MetaTrader rounds up the price to a displayable price.
I figured it out last two days that MetaTrader uses the Normalize() function to round up the undealable or undisplayable price. That for sure means Close = Normalize((Bid + Ask) / 2).
What I wanted to do here is to reverse Close price back to Bid. This means I have to reverse the price rounding (denomalize). Unfortunately reverse the priceing rounding is only 50% accurate which is unacceptable.