The best place to start is in trying to narrow down the cause. Grab a full aquarium test (API makes a nice one) so you can check nitrate/nitrite and ammonia. If those numbers come out at zero, there is a more expensive test kit for phosphates.
Nitr*te levels are usually an indication the water is not balanced. It sounds like your pond has been established for awhile, so this is usually not a problem except when you make a large change (new fish, change in feeding, new water features, etc).
Ammonia and phosphates can be controlled to some degree by a lot of plants growing in the water, but either one can exceed the capacity that the plants can clean. Then you need to turn to a combination of chemical controls and large water changes to get rid of the excesses. High ammonia levels can be deadly to your fish, but they won't notice high phosphate levels.
Keep in mind that algae will feed from any food source it can find, including dead algae, so using an algae killer can actually make the algae grow faster a week later. Having a lot of other plants in the water can help buffer this affect. Unfortunately you can never completely get rid of algae, but if you make your pond inhospitable by taking away the excess food sources, the algae will remain almost unnoticeable.