The algae is from overfeeding and not doing enough to remove what you are putting in. Everything you put in the tank must be removed by you. Think about it- it's a closed system. There is no where for the food you are putting in to go. Just because the food disappears, doesn't mean it's gone. Crabs and snails aren't going to solve the problem.
How often and how much are you feeding?
How often and how large are the water changes?
What other filtration are you using besides the rock?