I tried to backtest this simple strategy on Thinkorswim and it showed profits, so I am trying to port it over to Quantconnect. The idea is simple, when the close crosses upper bollinger band, go long, with 3 ATR target and 1.5, ATR stop, and opposte for short side. However, I am having many problems (noted in the code as NOTE.)

The main problem is I want to select quarterly contracts (not first month), and just can't figure out how to do it with Universe. Tried to implement my own IDerivativeSecurityFilterUniverse, but was not successful.

So next I took an approach similar to Futures lab, where the filtering is done in OnData method. This seems to work when I debug, but every third Tuesday of the month, it comes up without any securities. 

Third: my orders show trades on 6E17Q20, which has an August expiry, I don't understand why this happens, as my debugging shows that anything other than March, June, Sept and Dec contracts are filtered out successfully.

Last: my backtest shows orders stop sometime in August, even though my start date is in June and End date is in Octoboer. Even the indicators plot is empty after August. I don't know if this is due to a limitation of free account.

Appreciate any help on this.