| 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 -4.459 Tracking Error 0.636 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset |
class MuscularGreenAlbatross(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2020, 1, 1) # Set Start Date
self.SetEndDate(2021, 3, 1) #Set End Date
self.SetCash(100000) # Set Strategy Cash
self.SetBrokerageModel(BrokerageName.Bitfinex, AccountType.Cash) #Broker Modell
self.Settings.FreePortfolioValuePercentage = 0.05
self.positionSizeUSD = 5000
self.btc = self.AddCrypto("BTCUSD", Resolution.Daily).Symbol
#self.SetBenchmark("BTCUSD")
#NMA Indikator
length1 = 120
length2 = 12
self.SetWarmUp(length1 + length2, Resolution.Daily)
alpha = float(length1 / length2)
beta = (alpha * float(length1 - 1)) / float(length1 - alpha)
gamma = float(beta) + 1
#NMA with EMA
self.ema1 = self.EMA(self.btc, length1) #120 day EMA
self.ema_ema = IndicatorExtensions.Of(SimpleMovingAverage(length2), self.ema1) #12 day EMA of 120 day EMA
self.nma_a = IndicatorExtensions.Times(self.ema1, float(gamma)) #multiply 120 day EMA with gamma
self.nma_b = IndicatorExtensions.Times(self.ema_ema, float(beta)) #multiply 12 day EMA with beta
self.nma = IndicatorExtensions.Minus(self.nma_a, self.nma_b) #subtract nma_b from nma_a
def OnData(self, data):
if self.IsWarmingUp:
return
if not self.ema1.IsReady or not self.ema_ema.IsReady:
return
#self.Plot("Benchmark", "EMA1", self.ema1.Current.Value)
#self.Plot("Benchmark", "EMA2 of EMA1", self.ema_ema.Current.Value)
self.Plot("Benchmark", "NMA", self.nma.Current.Value)
self.Plot("Benchmark", "NMA_A", self.nma_a.Current.Value)
self.Plot("Benchmark", "NMA_B", self.nma_b.Current.Value)