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, 2, 1)

        self.Consolidate("SPY", CalendarType.Weekly, self.CalendarTradeBarHandler)
        self.window = RollingWindow[TradeBar](2)
        
    def CalendarTradeBarHandler(self, tradeBar):
        self.window.Add(tradeBar)
        self.Log(f'{tradeBar.Time}: {tradeBar.Open} - {tradeBar.EndTime}: {tradeBar.Close}')
        
    def OnData(self, data):
        # Wait for windows to be ready.
        if not (self.window.IsReady): return


    def CalendarTradeBarHandler(self, tradeBar):
        self.window.Add(tradeBar)
        self.Log(f'{tradeBar.Time}: {tradeBar.Open} - {tradeBar.EndTime}: {tradeBar.Close}')
        
    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
        self.Log("BarLogs: {0} : {1} : {2}".format(pastBar.Time, pastBar.High, pastBar.Low))
        
        if not self.Portfolio.Invested:
            if currP>prehigh:
                MarketOrder(self.ticker, 100)
        '''
        if not self.Portfolio.Invested:
            if currP>prehigh:
                MarketOrder(self.ticker, 100)
        '''