sun + ammonia or nitrates = algae
Algae grows when it has sunlight and nutrition.
Sunlight can be blocked by adding floating plants to the pond, water lilies, parrots feather, anachris allowed to float, there are several choices.
Be sure that fertilizers added to plants are pond safe and are well hidden in the mud, for leakage of fertlizers will lead to algae.
The nutrition feeding the algea may be from various sources. First, if temperatures are very cool, the bacteria in the filter is not working very well. The answer then is to feed less. Pond fish do not need much food when water temps are below 75 F. I do not feed at all below 50 F.
Next, be sure the filter is working well, check to see that it has good flow, clean it out. It may be nasty.
Check the bottom of the pond for accumultaed trash which may decay and add to ammonia and nitrates.
Check the levels of ammonia and nitrate in the pond and in the tap water. If tap water is lower than pond levels, do some partial water changes, being sure to condition water for chlorine or chloramine as needed. If water temps are different, do very small volumes so fish are not shocked by temp change.
Some sources say that greenwater is combated in nature by tiny micro organisms (like daphnia). In a pond, the fish eat these critters if there are not sufficient hiding places for them to be safe and multiply. The theory is that as water lilies and such multiply to the point that fish cannot hunt well in the tangle of stems, then the tiny critters can work to reduce greenwater.
In my pond, I found that in the spring as temps began to rise, I got a greenwater bloom if I was feeding the fish too much. It also seemed linked to high pollen levels, perhaps that added nutrients to the water. I found that, rather magically, one day it was suddenly gone. It may take 3 weeks or more.