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 2.173 Tracking Error 0.457 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset |
class WellDressedTanChimpanzee(QCAlgorithm): def Initialize(self): self.SetStartDate(2021, 5, 1) self.SetEndDate(2021, 5, 4) self.SetCash(10000) # Set Strategy Cash self.SetBrokerageModel(BrokerageName.Bitfinex, AccountType.Cash) self.btc = self.AddCrypto('BTCUSD', Resolution.Hour, Market.Bitfinex) self.ema1 = self.EMA(self.btc.Symbol, 1, Resolution.Hour) self.slow1 = self.EMA(self.btc.Symbol, 200, Resolution.Hour) self.fast1 = self.EMA(self.btc.Symbol, 21, Resolution.Hour) self.SetWarmUp(timedelta(200*5), Resolution.Hour) # Plot Chart stockPlot = Chart('Trade Plot') stockPlot.AddSeries(Series('Price', SeriesType.Candle, 0)) stockPlot.AddSeries(Series('Slow', SeriesType.Line, 0)) stockPlot.AddSeries(Series('Fast', SeriesType.Line, 0)) self.AddChart(stockPlot) self.Debug('CHIMPANZEE INITIALIZED') def OnData(self, data): if self.IsWarmingUp : return if not self.slow1.IsReady and not self.fast1.IsReady: return if self.Portfolio.CashBook['BTC'].Amount == 0: # Identify bullish trend if self.slow1 > self.fast1: # Identify if price has crossed ema21 if self.ema1 > self.slow1: # buy amount = (0.5 * self.Portfolio.CashBook['USD'].Amount) / self.btc.Price self.Buy('BTCUSD', amount) if self.Portfolio.CashBook['BTC'].Amount > 0: if self.ema1 <= self.slow1: self.Liquidate() self.Plot('Trade Plot', 'Price', data.Bars["BTCUSD"].Close) self.Plot('Trade Plot', 'Slow', self.slow1.Current.Value) self.Plot('Trade Plot', 'Fast', self.fast1.Current.Value)