I've continued my investigation of FXCM, MT4 and Zorro data.

FXCM provides a tool to download their data: FXCM Historical Data Downloder. It's possible to download both Bid and Ask M1 data (BTW maybe this explains different price history from FXCM: simply Bid and Ask data, more on this below).

As it's known Zorro uses ask prices and bar close time. FXCM uses bar open time.
Data downloaded from FXCM API with Zorro (Ask):
2018.02.07 21:57:00 1.22685 1.22686 1.22662 1.2267 119
2018.02.07 21:56:00 1.22704 1.22707 1.22685 1.22685 170
2018.02.07 21:55:00 1.22678 1.22705 1.22678 1.22704 151
2018.02.07 21:54:00 1.22666 1.22679 1.22663 1.22678 98
2018.02.07 21:53:00 1.22685 1.22696 1.22646 1.22666 301

Data downloaded from FXCM with their tool (Ask):
2/7/2018 21:57:00 1.2267 1.22673 1.22654 1.22655 119
2/7/2018 21:56:00 1.22685 1.22686 1.22662 1.2267 119
2/7/2018 21:55:00 1.22704 1.22707 1.22685 1.22685 170
2/7/2018 21:54:00 1.22678 1.22705 1.22678 1.22704 151
2/7/2018 21:53:00 1.22666 1.22679 1.22663 1.22678 98

Data looks good taking into account that FXCM uses open time and Zorro close time. Good!

Let's continue and compare FXCM bid price, FXCM MT4 price (bid as well) and Zorro's data downloaded from FXCM MT4.
Data downloaded from FXCM with their tool (Bid):
2/7/2018 21:53:00 1.22663 1.22676 1.2266 1.22675
2/7/2018 21:54:00 1.22675 1.22703 1.22675 1.22701
2/7/2018 21:55:00 1.22701 1.22705 1.22682 1.22682
2/7/2018 21:56:00 1.22682 1.22682 1.22662 1.2267
2/7/2018 21:57:00 1.2267 1.2267 1.2265 1.22652

Data exported from FXCM MT4 (bid as well cause MT4 uses bid):
2018.02.07 23:53 1.22662 1.22676 1.2266 1.22675
2018.02.07 23:54 1.22676 1.22702 1.22676 1.22701
2018.02.07 23:55 1.227 1.22705 1.22682 1.22682
2018.02.07 23:56 1.22682 1.22682 1.22662 1.22669
2018.02.07 23:57 1.2267 1.2267 1.22651 1.22652

Data almost identical (small differences less then PIP and also timezone shift: 2h). As we remember, FXCM uses bar open time. Data in MT4 is the same. So, it seems that MT4 uses bar open time as well.

Now data downloaded from FXCM MT4 with Zorro:
2018.02.07 21:53:00 1.22662 1.22676 1.2266 1.22675
2018.02.07 21:54:00 1.22676 1.22702 1.22676 1.22701
2018.02.07 21:55:00 1.227 1.22705 1.22682 1.22682
2018.02.07 21:56:00 1.22682 1.22682 1.22662 1.22669
2018.02.07 21:57:00 1.2267 1.2267 1.22651 1.22652

Data identical to FXCM's and MT4 data. But it should be identical because both FXCM and MT4 uses bar open time and Zorro bar close time.

I hope these results explain the issue.
To sum up: MT4 uses bar open time (as well as FXCM). Zorro downloads data from FXCM API correctly. Zorro's data downloaded from MT4 is shifted because of bar time confusion.

If you have any questions please feel free to ask!