That's a painful experience. I sympathize.
The only way to help avoid it in the future is to cross-check raw data from your data source, with the results from your back testing.
In regard to any platform results, trust but verify before going forward.
It has nothing to do with the data. You can input the exact same datasets and you'd still get two different results. The issue is known and not even NT knows why that is.
All retail platforms have the same problem. They are set up slick and clean until the peons chime in with feature requests: "can I have a purple Stochastic?" "Can I have trendlines on the indicator XYZ" "Can we have OCO orders and trailing stops?" You get the deal.
After years of adding one module after another, the entire code is just fucked up and finding a bug becomes a nightmare.