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
Tracking Error
0
Treynor Ratio
0
Total Fees
$0.00
Estimated Strategy Capacity
$0
from QuantConnect.Data.Consolidators import CalendarInfo
        
class QTrendswconsoldata(QCAlgorithm):

    # Set parameters
    # Backtest Portfolio Parameters
    cash = 100000
    startyyyy, startm, startd = 2020, 1, 5
    endyyyy, endm, endd = 2020, 3, 15
    symbol = "GOOG"

    def Initialize(self):
        
        # self.SetBenchmark(self.secticker)
        self.SetBrokerageModel(BrokerageName.InteractiveBrokersBrokerage, AccountType.Margin)
        self.SetStartDate(self.startyyyy, self.startm, self.startd)   # Set Start Date
        self.SetEndDate(self.endyyyy, self.endm, self.endd)     # Set End Date
        self.SetCash(self.cash)            # Set Strategy Cash
        self.lookback = 30 # Set number of days to look back
        self.Transactions.MarketOrderFillTimeout = timedelta(seconds=30)
        self.AddEquity(self.symbol, Resolution.Minute) # Set security
        hourlyConsolidator = TradeBarConsolidator(self.Custom) # consolidate 1-hour bars
        hourlyConsolidator.DataConsolidated += self.OnDataConsolidated
        self.SubscriptionManager.AddConsolidator(self.symbol, hourlyConsolidator)
        self.Securities[self.symbol].SetDataNormalizationMode(DataNormalizationMode.Raw)
            
    # set start and end time for bars
    def Custom(self, dt):
        period = timedelta(hours=1)
        start = dt.replace(minute=30)
        if start > dt:
            start -= period
        return CalendarInfo(start, period)
    
    def OnDataConsolidated(self, sender, tradebar):
        symbol = tradebar.Symbol.Value
        sec = self.Securities[symbol]
        sopen= tradebar.Open
        close = tradebar.Close
        high = tradebar.High
        low = tradebar.Low

        self.Log(f"{self.Time} {symbol} O {sopen} H {high} L {low} C {close}")