Ability to zoom in and out the chart from your EA

Greetings!

Is there a way to make the chart zoom in and out automatically so that all objects on it are visible?

Yes! It is all in the MQL documentation (see the various Chart Properties options for scaling or sizing)!

Just have an indicator or the EA scale or size the chart appropriately based on the price data and graphic objects placed on it.

I do that in my own EAs so that I can always have the chart scaled to show the Stop-Loss and Take-Profit prices even when they would normally appear off-chart.