After hitting a high of 41,055.80 points, the 30-share BSE Sensex ended 428 points, or 1.05 per cent, higher at 41,009.71.
Forex traders said the news that the US and China are very close to reaching a trade deal supported the local unit.
After rising 284 points in early session, the 30-share Sensex was trading 244.04 points or 0.60 per cent higher at 40,825.75.
After rallying over 300 points, the 30-share BSE Sensex ended 169.14 points, or 0.42 per cent, higher at 40,581.71.
Forex traders said the domestic unit gained ground ahead of the release of key macro-economic numbers.
The 30-share Sensex was trading 149.75 points or 0.37 per cent higher at 40,562.32 in morning trade.
After swinging nearly 330 points, the Sensex finished 172.69 points or 0.43 per cent higher at 40,412.57.
In the international market, gold was trading at USD 1,464.8 per ounce, while silver was quoting at USD 16.62 per ounce.
Forex traders said investors were optimistic about the US-China trade talks.
The appreciating rupee and mixed leads from other Asian markets too influenced sentiment, traders said.