Overall Statistics
from datetime import timedelta
import math

class Tachyon (QCAlgorithm):

    def Initialize(self):
        
        self.ticker = 'SPY'
        self.AddEquity(self.ticker, Resolution.Daily)
        self.SetBenchmark(self.ticker)
        self.symbol_ = self.Symbol(self.ticker)
        self.cash = 100000
        self.SetCash(self.cash)
        self.SetStartDate(2019, 1, 1) 
        self.SetEndDate(2019, 6, 1)

        self.Consolidate("SPY", CalendarType.Weekly, self.CalendarTradeBarHandler)
        self.window = RollingWindow[TradeBar](2)


    def CalendarTradeBarHandler(self, tradeBar):
        self.window.Add(tradeBar)
        
    def OnData(self, data):
        if not (self.window.IsReady): return

        currBar = self.window[0] # Current bar had index zero.
        pastBar = self.window[1] # Previous bar has index one
        
        currP = self.Securities[self.ticker].Price
        prehigh = pastBar.High
        
        if not self.Portfolio.Invested:
            if currP > prehigh:
                self.MarketOrder(self.symbol_, 100)