assetHistory has a mode for hourly data, but the manual only lists Bittrex and CryptoCompare for this mode. I tried using it with IB and while it looks like it kind of works, it produces a kind of corrupt history that looks like the image below. I'm assuming this means that this feature does not properly support IB? It would be a nice option considering minute data takes a day to download for a single asset due to their API limits.
Maybe, but is it THAT bad? Even downloading something liquid like QQQ, these artifacts still exist (though they're more rare). And when viewing the graph in the TWS, the data does not have these errors.
Neither bad data nor TWS correction, but IB hourly data is not probably not implemented in assetHistory. Load M1 and then convert it to H1, or post a feature request for IB H1 with assethistory.
While we're on the topic the IB api... Does anyone know exactly what their BID_ASK mode returns for the Open and Close? The doc states "Time average bid" for Open and "Time average ask" for Close but I'm not sure what that means and I don't find it explained anywhere in the doc. The bars it returns look strange. See below comparison of TRADES mode vs BID_ASK mode