The charts are formed from ticks that come on the charting server of the broker. The OHLC that is shown in marketdepth is streamed by the exchange.
Market opening, there could be thousands of ticks, so the opening caught by the server at best could be at 3 to 5 ticks per second. So this actual opening tick might never get captured, hence you will see the difference on the chart.
Even if u look at the TT chart, you can see the open at around 18470 and not 18311.
It is technically impossible to capture the right opening tick when the market opens by the charting server.
What we do is, at end of day we use OHLC declared by NSE in the bhavcopy to plot the day's candles. But intraday candles can't ever be matched with NSE as they don't give any data dump of 1 min OHLC after market close.
Check this:
http://tradingqna.com/8843/technical-charts-google-finance-yahoo-finance-amibroker-match