I am confusted about the following.

1) can we set dynamic strike price in a future based on its equity performanace.as of now i know is by using setfilter(-6,6).

2) i have tried a lot on how to do put and call based o the condition.

The condition is based on the future underlying asset performing in 2 consecutive  30 min bar at the opening of market.I need to liquidate the contract at the end.

class NadionTachyonProcessor(QCAlgorithm):

def Initialize(self):
self.SetStartDate(2019, 11, 4) # Set Start Date
self.SetCash(100000) # Set Strategy Cash
self.AddEquity("SPY", Resolution.Minute)
self.future = self.AddFuture(Futures.Indices.SP500EMini)
self.future.SetFilter(-6,6,timedelta(0), timedelta(182))
# self.Schedule.On(self.DateRules.EveryDay("SPY"), self.TimeRules.BeforeMarketClose("SPY", 10), self.ClosePositions)

def OnData(self, slice):
'''OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here.
data: Slice object keyed by symbol containing the stock data
if self.Portfolio.Invested or self.openingBar is None or self.secondaryBar is None:

for kvp in slice.OptionChains:
if kvp.Key != self.option_symbol: continue
chain = kvp.Value

contracts = sorted(sorted(sorted(chain, \
key = lambda x: abs(chain.Underlying.Price - x.Strike)), \
key = lambda x: x.Expiry, reverse=True), \
key = lambda x: x.Right, reverse=True)

if (self.secondaryBar.Close > self.openingBar.High) and (self.openingBar.High>self.secondaryBar.Low>self.openingBar.High):
#call at price self.openingBar.Low

if (self.secondaryBar.Close < self.openingBar.Low) and (self.openingBar.High>self.secondaryBar.High>self.openingBar.High):
#call at price self.openingBar.High

def OnDataConsolidated(self, bar):
if bar.Time.hour == 9 and bar.Time.minute == 30:
self.openingBar = bar
if bar.Time.hour == 10 and bar.Time.minute == 0:
self.secondaryBar = bar

def ClosePositions(self):
self.secondaryBar = None
self.openingBar = None

I have tried to implement it,but facing problem while making a call and put.It will be highly apprecieted if you can help in this.

I am providing the code that i write till now.