The Sensex opened with a positive gap of 35 points at 12,388, but soon slipped into the negative zone to touch a low of 12,315. The index thereafter swung in and out of the positive zone as both bulls and bears fought to take the initiative.The bulls took the charge by mid-noon deals and heavy buying in technology, metal and oil & gas stocks saw the index rally to higher levels. The index touched a high of 12,557 - up 242 points from the day's low.The Sensex finally settled with a gain of 184 points at 12,538.