Overall Statistics
Total Trades
0
Average Win
0%
Average Loss
0%
Compounding Annual Return
0%
Drawdown
0%
Expectancy
0
Net Profit
0%
Sharpe Ratio
0
Probabilistic Sharpe Ratio
0%
Loss Rate
0%
Win Rate
0%
Profit-Loss Ratio
0
Alpha
0
Beta
0
Annual Standard Deviation
0
Annual Variance
0
Information Ratio
-0.736
Tracking Error
0.114
Treynor Ratio
0
Total Fees
$0.00
class TachyonQuantumAutosequencers(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2015, 7, 1)  # Set Start Date
        self.SetCash(100000)  # Set Strategy Cash
        
        # string list of symbols we want to trade
        # self.symbolList = ["BTCUSD","ETHUSD","LTCUSD","BCHUSD",
        #                 "XRPUSD","BCHUSD","XLMUSD","EOSUSD",
        #                 "REPUSD","XTZUSD","ETCUSD","ZRXUSD"]
        
        self.symbolList = ["BTCUSD","ETHUSD","LTCUSD","BCHUSD","BCHUSD","XLMUSD","EOSUSD","REPUSD","XTZUSD","ETCUSD","ZRXUSD"]
        
        # self.symbolList = ["BTCUSD","LTCUSD"]
        
        # dictionary to hold rolling window for each symbol
        self.daily = {}
        
        # list of symbol objects
        self.cryptoSymbols = []
        
        for name in self.symbolList:
            # get symbol object
            symbol = self.AddCrypto(name, Resolution.Hour, Market.GDAX).Symbol
            
            #symbol = self.AddCrypto(name, Resolution.Minute, Market.GDAX).Symbol
            
            # append to list
            self.cryptoSymbols.append(symbol)
            
            # create rolling window of len 2
            self.daily[symbol] = RollingWindow[float](2)

        self.SetWarmup(5)
    def OnData(self, data):
        
        # iterate through each object in our list
        for symbol in self.cryptoSymbols:
            
            if data.ContainsKey(symbol): 
                #self.Debug("{}".format(symbol))
            
                # get OHLC values to use later
                o = data.Bars[symbol].Open
                h = data.Bars[symbol].High
                l = data.Bars[symbol].Low
                c = data.Bars[symbol].Close
                
                # update our rolling window
                self.daily[symbol].Add(c)
                
                # check if rolling window is full
                if not (self.daily[symbol].IsReady): return
            
                
                prev_hour_price = self.daily[symbol][1]