| Overall Statistics |
|
Total Trades 111 Average Win 9.90% Average Loss -5.31% Compounding Annual Return 18.076% Drawdown 40.600% Expectancy 0.406 Net Profit 154.384% Sharpe Ratio 0.603 Probabilistic Sharpe Ratio 10.635% Loss Rate 51% Win Rate 49% Profit-Loss Ratio 1.86 Alpha 0.145 Beta 0.211 Annual Standard Deviation 0.273 Annual Variance 0.075 Information Ratio 0.234 Tracking Error 0.303 Treynor Ratio 0.78 Total Fees $0.00 Estimated Strategy Capacity $1100000.00 Lowest Capacity Asset ETHUSD XJ Portfolio Turnover 2.65% |
from AlgorithmImports import *
class TrendlineRSI(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2018, 1, 1)
self.SetCash(10000)
self.ticker=self.AddCrypto("ETHUSD", Resolution.Hour)
self.rsi=self.RSI(self.ticker.Symbol, 14, Resolution.Hour)
self.TREND=self.SMA(self.ticker.Symbol, 25, Resolution.Daily)
self.SetWarmup(25)
def OnData(self, data):
if self.IsWarmingUp:
return
if not self.ticker.Price > self.TREND.Current.Value:
return
rsi_value=self.rsi.Current.Value
trade_quantity = int(self.Portfolio.Cash / self.ticker.Price)*0.5
if not self.Portfolio.Invested:
if rsi_value>15 and rsi_value<20:
self.MarketOrder(self.ticker.Symbol, trade_quantity)
self.StopMarketOrder(self.ticker.Symbol, -trade_quantity, self.ticker.Price*0.9)
self.entry_price=self.ticker.Price
if self.Portfolio.Invested:
if rsi_value>95:
self.Liquidate()