I tried the same DayTradeTest algorithm both in the cloud and on my local machine. It was run on minute resolution. The algorithm bought 1 share of AAPL on 9:40am, June 5, 2014 and submitted a MarketOnCloseOrder. But:

In the cloud:

The MarketOnCloseOrder() was filled at the price of $647.35, which is the close price of the 15:59-16:00 minute bar. (I use Debug() in OnData() to verify the close price of that bar)

 

In my local machine:

I tried the same algorithm in my local environment The MarketOnCloseOrder() was also filled at $647.35. But according to the downloaded data, it was the close price of the 15:58-15:59 bar.

I don't mind the difference of the prices between the cloud data and local data. But I do concern that in the local backtest, the MarketOnCloseOrder was NOT filled at the price of the 5:59-16:00 bar.