Phosphate is the problem. I guarantee it.
The algae on the sand can be eliminated first by feeding better food, and less of it. Are you feeding flaked food? (I'm guessing)
An algae scrubber of some type.
There are chemical phosphate absorbers, I've never used them but many here have with success and can give advice.
The rocks are going to be a problem. What happens when ammonia gets high with live rock is that it kills the animals that live in the rock. Good live rock has shrimp, worms, bugs, clams, all kinds of animals living in it. If these are killed by ammonia then the nutrients from the animal are adsorbed into the rock and slowly released at the surface. This is idea for hair algae because it is able to use the nutrients directly from the rock and no matter how low the nutrient levels are in the water it can thrive.
It typically takes about a year for all of the nutrients to escape. At that point the hair algae will quickly diminish.