Overall Statistics |
Total Trades 4 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 $30000000.00 Lowest Capacity Asset ETHUSD XJ |
# region imports from AlgorithmImports import * # endregion class DeterminedAsparagusManatee(QCAlgorithm): def Initialize(self): self.SetStartDate(2020, 6, 22) # Set Start Date self.SetEndDate(2020, 6, 23) self.SetCash(100000) # Set Strategy Cash self.ethusd = self.AddCrypto("ETHUSD", Resolution.Minute).Symbol self.window = RollingWindow[Decimal](2) self.vwap = self.VWAP(self.ethusd) self.p1 = 0.01 self.p2 = 0.02 stockplot = Chart("TradePlot") stockplot.AddSeries(Series("Price", SeriesType.Line, 0)) stockplot.AddSeries(Series("VWAP", SeriesType.Line, 0)) self.AddChart(stockplot) def OnData(self, data: Slice): self.window.Add(data[self.ethusd].Close) if not self.window.IsReady: return pnl = self.Securities[self.ethusd].Holdings.UnrealizedProfitPercent self.Plot("TradePlot", "Price", self.Securities[self.ethusd].Close) self.Plot("TradePlot", "VWAP", self.vwap.Current.Value) currentclose = self.window[0] pastclose = self.window[1] vwap = self.vwap.Current.Value if not self.Portfolio.Invested: if pastclose < vwap and currentclose > vwap: self.Buy(self.ethusd, 1) elif pastclose > vwap and currentclose < vwap: self.Sell(self.ethusd, 1) elif self.Portfolio.Invested: if pnl > self.p2 or pnl < -self.p1: self.Liquidate(self.ethusd)