Indian markets closed higher for the ninth consecutive session. Consistent inflows of foreign funds lifted the rupee to 54 against the dollar.