The 30-share Sensex traded in a narrow 110-point range before closing at 18,762.87, up 7.42 points -- extending the recent gains to fourth straight day after it gained 324 points in the last 3 days.
In line with most Asian indices that ended in negative zone, domestic stocks failed to make any sharp gains amid the rupee dropping 1.44 per cent or 77 paise to 54.58 against the US dollar due to heavy dollar demand in afternoon trade.
"Generally it is observed that equity markets fall if dollar rises," said Milan Bavishi, Head Research, Inventure Growth & Securities.
Besides, lack of fresh triggers and cautious trading ahead of a slew of blue chip earnings, including Cipla, also kept investors on sidelines for most of the session today.
The sentiment was also affected by European stocks falling and the euro trading at an almost two-month low on concerns that Greece will struggle to win a bailout, brokers said.
US voters will decide tomorrow between President Barack Obama and Republican challenger Mitt Romney and the results could have have global implications, said analysts.
More From This Section
In Sensex, 12 stocks led by pharma majors Cipla (up 0.87 per cent and Dr Reddys (up 1.36 per cent) led gains. FMCG stocks, led by ITC (1.64 per cent), also closed higher.
Metal and auto stocks came under pressure on selling. Bajaj Auto ended over 2 per cent lower. Besides, two of the most influential stocks -- Reliance Industries declined by 0.35 per cent and Infosys fell by 0.44 per cent.
The NSE 50-share Nifty moved up by 6.50 points or 0.11 per cent to finish at 5,704.20. (MORE)