KLCI holds on to gains as ringgit, crude oil rally