MT4 or MT5 dilemma?
For the sake of rapid prototyping, MT4 is for many reasons the safer choice.
Backtesting engine being run externally to the MT4 is possible.
MT4 code-execution engine allows to integrate process-to-process communications with external systems ( fully distributed heterogeneous multi-process & multi-platform system, be it called a Cloud or a Grid-computing or a MATRIX ).
One can similarly equip MT4 with a remote console and type manually commands or run script-batches of such command from a remote terminal CLI.
In the very same way one may operate a remote Backtesting engine on MT4 grounds via the same process-to-process messaging framework.
Chart annotations? Yes, of course!
MT4 code-execution engine, using a C-family MQL4 language, has a feature-rich palette for chart annotations. Both [TimeDOMAIN,PriceDOMAIN] grid-locked and a screen-layout PixelDOMAIN [x,y] grid-locked. As a starting point, use the MQL4 language reference, Chapter on ( visual ) Objects.
Samples for inspiration?
As just a teaser,
check the MT4 possibilities:
<aMouseRightCLICK>.openPictureOnAnotherTab to see full HiRes picture details

or
