How can I build a seamless charting system with both real-time and full historical OHLCV data using my own chain data and external APIs?