So in my backtest here, Ive been trying to wrap my head around looping through my SymbolData objects, which point to continuous futures, which are then mapped to the current front month, but it seems to be trading multiple months at the same time. It seems like I'm not actually looping through the symbols that get traded, so it isn't detecting, 

The algo will get a signal from ‘GC X5NNSA8F63Z1’ but then the orders show me trading GC26M19 and then two days later it signals GC29N19, when the goal of the .Invested check is to perform certain logic based on if I am in that asset already.

Maybe I'm missing something simple here, I just feel like maybe I'm looping through the self.Data.items incorrectly, since without this section

if breakoutUp == 0.0 or breakoutDown == 0.0 or price == 0.0:
               return

the code loops through contracts that have no indicators registered

Apologies for the rookie question, Im just trying to keep a handle on what exactly is happening within the algorithm