Indian markets overcame an uncertain start and traded in a range, before ending the day in  gains. Global cues were also mixed due to delay in the approval of  US stimulus package and mixed economic data coming in from around the world. The BSE Sensex ended at 38,050.78, up 173.44 points  or 0.46%. The Nifty closed at 11,259.4, up 81  points or 0.72%.