Overall Statistics
Total Trades
36
Average Win
0.01%
Average Loss
-0.02%
Compounding Annual Return
0.006%
Drawdown
0.100%
Expectancy
0.347
Net Profit
0.112%
Sharpe Ratio
0.209
Probabilistic Sharpe Ratio
0.007%
Loss Rate
11%
Win Rate
89%
Profit-Loss Ratio
0.52
Alpha
0
Beta
0
Annual Standard Deviation
0
Annual Variance
0
Information Ratio
-0.382
Tracking Error
0.178
Treynor Ratio
-0.312
Total Fees
$36.00
class ConsolodatorTest2(QCAlgorithm):

    def Initialize(self):
        self.Log("inittestlog")
        self.SetStartDate(2000, 12, 11)  # Set Start Dateself.Notify.Email
        self.SetCash(100000)  # Set Strategy Cash
        self.AddEquity("SPY", Resolution.Daily)
        thirtyMinuteConsolidator = TradeBarConsolidator(timedelta(minutes=10))
        thirtyMinuteConsolidator.DataConsolidated += self.ThirtyMinuteBarHandler
        self.SubscriptionManager.AddConsolidator("SPY", thirtyMinuteConsolidator)
        self.rsi = self.RSI("SPY", 14)
    

        
    def ThirtyMinuteBarHandler(self, sender, bar):
        self.Debug(str(self.Time) + " " + str(bar))


    def OnData(self, data):
        '''OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here.
            Arguments:
                data: Slice object keyed by symbol containing the stock data
                
        '''

        #if not self.Portfolio.Invested:
        #    self.SetHoldings("IBM", .01)
        
        if not self.rsi.IsReady: 
            return
    
        if self.rsi.Current.Value < 30 and self.Portfolio["SPY"].Invested <= 0:
            self.Debug("RSI is less then 30")
            a = self.MarketOrder("SPY", 1)
            b = a.AverageFillPrice
            self.Debug("Market Order Fill Price: {0}".format(a.AverageFillPrice))
            self.Debug(a)
            
            self.Log("testlog")
            self.Debug("Market order was placed")
        
        if self.rsi.Current.Value > 70:
            self.Debug("RSI is greater then 70")
            self.Liquidate()
            
        def OnEndOfDay(self):
            self.Plot("Indicators","RSI", self.rsi.Current.Value)