Couple of things come to mind.
1. The ground cable, where it bolts to the engine block may need to be cleaned (rust / dirt / grease / oil) will/could cause this problem. Remove, clean and reinstall.
2. Not sure what type of alternator you have but.... you could have a bad alternator/regulator or one with a separate regulator. You should first clean all the "spade" connectors and surfaces that are connected to the regulator with light sand paper, use long nose pliers to squeeze the spade connectors so that they will fit tighter and reconnect.
Even though you bought a new battery, are the old positive and negative cables in good shape? If none of the above worked you may want to clean the ends of the cables and maybe change them out.
Last but not least, you need a better mechanic. Did he check for resistant grounds that may be drawing down the battery. One way to check is to take off the positive battery terminal (at night when its dark) and tap it onto the battery terminal and see if you get a spark.