The trick is to backtest with tick data.There are three features which can cause a difference in backtest vs. realtime results.
1) Set statements: SetStopLoss, SetProfitTarget, etc. These statements operate INTRABAR...so in Backtest mode, Multicharts does not know which came first...the high or the low.
2) IOG set on (IntrabarOrderGeneration=True). This setting will cause ALL ORDERS to be fired anytime within the bar vs. fired at the end of the bar.
3) Renko bars - the current implementation is buggy as I have witnessed. To resolve this, I switched to the newer FlexRenko bars and all is well when backtesting.
But I guess, none of the available commercial solutions support that.