As Yaroslav mentioned you can simply use any of the backtrader input options, I don't recall anything special about Binance data. I usually load my data with Pandas first (some data sources come from DB, some from CSV) for easier pre-processing, and then I do something like this:
bt_data = bt.feeds.PandasDirectData(dataname=crypt_df, datetime=crypt_df.columns.get_loc('timestamp')+1, open=crypt_df.columns.get_loc('open')+1, high=crypt_df.columns.get_loc('max')+1, low=crypt_df.columns.get_loc('min')+1, close=crypt_df.columns.get_loc('close')+1,volume=crypt_df.columns.get_loc('volume')+1,openinterest=-1)
Then we use this later on when initializing Cerebro:
Not sure what bugs you're referring to, I haven't had any issues that I recall in data loading, although some of the behavior is undocumented and requires some review of the BT code (for example, the "+1" offsets in the PandasDirectData class that I'm using.