This is going to sound nuts, but it works. Have been doing it to our fiberglass motorhome and my bass boat for 7 years now.
Go to Lowes or Home Depot and get the Zep wet look floor wax (the kind for commercial floor tile)
Get some Bar Keepers friend.
Scrub the boat top to bottom with the Bar Keepers friend to remove all the oxidation / stains.
Pour the Zep into a pie pan, take a microfiber towel (white if you can find one or pre wash the colored ones), saturate the microfiber towel and wring it out until it is damp. (wear rubber gloves, the acrylic wax will dry on your hands)
begin wiping the hull in one direction, you just want it to be wet. If it is too wet it will run and leave streaks.
by the time you get all the way around the boat, start back over again the first part should be dry. At first it will look like doo doo, some shiny spots some dull spots! After about four or five coats it will start to look almost brand new.
Each year, put on a coat or two. Had it on my metal flake bass boat for 7 years now and have yet to strip it all off and start over again.
If you ever want to take it off, use the floor stripper Zep sells and it will remove it.
makes or 1999 motorhome and my 1996 Blazer look almost brand new.
Same basic stuff as the polyglow or vertiglass they sell for way more. One gallon of Zep would probably do 20 boats.
The acrylic coating seals the fiberglass and it can not oxidize again. Regular was and buffing will start to look bad again in short order!
If you really want to put the time in, you could buff it with the pro grade compound (must not contain any wax) then do the Zep treatment.