Make the sauce first. Combine the orange and lemon juices, the vinegar, and the shallots in a small saucepan. Bring it up to a light boil, and reduce by about half.
Remove the pan from the heat and whisk in the butter, a tablespoon at a time. Return the pan to very low heat for just a few seconds if necessary to keep the new pieces of added butter melting. After all the butter is in, add salt and pepper to taste, and strain through a fine sieve. Keep warm while the fish is cooking.
Wash the fish fillets and pat dry. Season lightly with salt and white pepper. Rub a little butter on a broiling pan and place the fillets on it. Top each piece of fish with a sliver of butter. Place the fish under the broiler, about three inches from the heat, for three to six minutes, depending on the thickness of the fish, until the edges brown.
Quick way to tell whether fish is done: poke a kitchen fork into the center of the biggest fish, and hold it there for ten seconds. Then quickly (and carefully) touch the tips of the fork to your lips. If the fork feels even a little warm, the fish is done.
Place a fish fillet on each plate. Spoon some of the sauce over it, and top with a sprinkle of orange zest.