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
3.485
Tracking Error
0.092
Treynor Ratio
0
Total Fees
$0.00
from clr import AddReference
AddReference("System")
AddReference("QuantConnect.Algorithm")
AddReference("QuantConnect.Common")

from System import *
from QuantConnect import *
from QuantConnect.Algorithm import *
from QuantConnect.Data.Consolidators import *
from datetime import timedelta


class VerticalParticleEngine(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2020, 7, 20)  # Set Start Date
        self.SetCash(100000)  # Set Strategy Cash
        
        self.cryptoSymbol = self.AddCrypto("BTCUSD", Resolution.Hour, Market.GDAX).Symbol
        
        HourlyConsolidator = TradeBarConsolidator(timedelta(hours=24))
        HourlyConsolidator.DataConsolidated += self.HourlyConsolidator
        self.SubscriptionManager.AddConsolidator(self.cryptoSymbol, HourlyConsolidator)
        
        self.window = RollingWindow[TradeBar](2)
        self.daily = RollingWindow[TradeBar](2)
        
    def HourlyConsolidator(self, sender, bar):
        self.daily.Add(bar)
        self.bar = bar
    
    
    def OnData(self, data):
        if not data.ContainsKey(self.cryptoSymbol):
            return

        self.window.Add(data.Bars[self.cryptoSymbol])
        if not (self.window.IsReady and self.daily.IsReady): return
    
        currBar = self.window[0].Close
        
        yesterdayc = self.daily[1].Close
        
        current_close_price = self.window[0].Close
        
        b_cond_upper = self.daily[1].High
        b_cond_low = self.daily[1].Low
        prev_close = self.daily[1].Close
        prev_open = self.daily[1].Open