My algorithm submits a liquidate order if either the day has closed above the profit target or it has closed below the stop loss level. It only handles stocks on a daily timeframe. 

For some reason, sometimes the self.liquidate(symbol, myLengthyTag) does not return an orderId but instead returns an empty list. You can see the lines of code in question in main.py, lines 180 and 191. 

Most of the orders go through just fine, but sometimes, it does not and I get an attribute error saying - 'list' object has no attribute 'Id' (you can see that in the log of the attached backtest)

Any idea why this only happens sometimes? Most orders, it works fine, and I can't figure out why it happens when it does.