The best food you can give your fish is food that they eat in the wild. Second to that is frozen food which is nearly as good, Most fish will do very well on food with high amounts of protein like krill, Shrimp and other such foods, These types of foods make up a large part of most fishes diet (except herbivores) in the wild.
There is some debate about flake food and its nutritional benifits, i dont feed my fish flake anymore. Most worms are very high in protein especially earth worms which is why my fish get regular treats of them.
Try to give your fish a varied diet too.