Overall Statistics
class OptimizedVerticalChamber(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2020, 1, 30)  # Set Start Date
        self.SetCash(100000)  # Set Strategy Cash
        self.AddEquity("SPY", Resolution.Hour)
        
        self.window = RollingWindow[TradeBar](11)
        
        
    def OnData(self, data):
        
        if data.Bars.ContainsKey("SPY"):
            bar = data.Bars["SPY"]
            self.window.Add(bar)
            
        if not self.window.IsReady:
            return
        
        self.Debug(f"Has Pivot Point? : {self.PivotPointHigh(self.window)}")
        
    
    def PivotPointHigh(self, window):
        if not window.IsReady:
            return
        
        middleBar = self.window[5]
        middleHigh = middleBar.High
        
        for i in range(5):
            if self.window[i].High > middleHigh:
                return False
        
        for i in range(6, 11):
            if self.window[i].High > middleHigh:
                return False
                
        return True