Need help with Time Zone!

 
To preface, Forex.com's market watch is in UTC+2 and IG's market watch is in London time (UTC), so Forex.com is 2hrs ahead. Also, this is all MT4 testing.

With the same trading alorithm using the brokers downloaded data history, I have to shift 2 hours ahead with the trading times in my algo for Forex.com to match the same results as IG (obviously slight difference due to the difference in brokers historical data).

When I use Dukascopy data (regardless of whether I use NY dst or London DST), I have to shift 2 hours for both in order to match the same results as the brokers data (so Forex.com's also is shifted 2 hours ahead for both, and IG's is only shifted for dukascopy data.

So the NY dukascopy data and London Dukascopy data show up with almost the same results as eachother (minor difference due to slightly different DST times), therefore the data has to be matching the time zone on the brokers market watch, or else they would showing results with a 5hr difference from eachother.

If this is true, than why do I have to add any shift in the data for IG if the market watch is in London time?

also, why would I have to shift Forex.com 2hrs ahead to match IG with the broker data download if it's 2 hrs behind IG?

Can anyone tell me what is going on here?  I want to match my backtest results to reflect live results, but this is impossible If I don't understand what time zone my backtest refects.
Reason: