You don't want more than 1inch of fish per 1 gallon of water. I would suggest either getting a bigger (10 gal or so) tank, or getting rid of a fish or two. Goldfish are naturally more "dirty" than some of the other tropical fish like mollies or guppies. Also, make sure you change 25% of the water everyweek, and change the filter 1x a month! If it gets really bad, you might want to try an algeacide (find at walmart) and use according to directions! I use it in my 55gal, 30gal and my 10 gal, and as long as used as directed it is safe for the fish! Make sure you get a bottom feeder (cory cats are great) as well as an algea eater (plecostomus, chinese algea eater). These guys have different "jobs". The Cory cats will eat the extra food ect off the bottom, while the algea eaters will eat the algea off the sides of the tank and the decorations!
Hope this is helpful! PM me if you need anymore help! I am an aquarium enthusiast!