I would rather not put unneeded code in a live trading strategy. With the current history download speeds, if something happens after a week of trading, getting the system up again will take quite some time. And when testing pre-production, when you have to stop/start a strategy often - this becomes quite a waste of time.
And then there are issues when "retesting". Without recorded data it would be quite difficult to understand if/where things went wrong.
This becomes more pronounced if one uses recursively-calculated indicators like EMA: tiny price differences accumulate and the signals you get on "live" data will be quite different than those on 'history'. Reconciling the differences takes quite some time. And this is especially so with IB, which provides data 'snapshots' in realtime, but full history bars from the historical servers.

As a solution, I started using IB's "True 5-sec RT bars" - which come with a 250-300ms delay, but are clean data, representing all market ticks and coming from their historical servers. This way, there is no difference between "live" and "historical" and "what you trade is what you test/retest on".
https://interactivebrokers.github.io/tws-api/realtime_bars.html#gsc.tab=0
I convinced MC to implement it; Sierra implemented it long ago.

I will work with support to improve IB's history download speeds, but is it
possible to add a Flag to allow saving real time data to history files?