Overall Statistics |
Total Trades 1 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 $37.00 |
class MultidimensionalNadionCircuit(QCAlgorithm): def Initialize(self): self.SetStartDate(2019, 11, 17) # Set Start Date self.SetEndDate(2019, 11, 17) # Set Start Date self.SetCash(100000) # Set Strategy Cash # self.AddEquity("SPY", Resolution.Minute) self.gold = self.AddFuture(Futures.Metals.Gold,Resolution.Minute) self.gold.SetFilter(0, 90) self.lookback = 70 self.signalDeltaPercent = 0 def OnData(self, slice): for chain in slice.FutureChains: self.popularContracts = [contract for contract in chain.Value if contract.OpenInterest > 1000] if len(self.popularContracts) == 0: continue sortedByOIContracts = sorted(self.popularContracts, key=lambda k : k.OpenInterest, reverse=True) self.liquidContract = sortedByOIContracts[0] if self.Portfolio[self.liquidContract.Symbol].Invested: self.__macd.Update(slice.Time, self.liquidContract.LastPrice) #self.Log(f"Current Value: {self.__macd.Current.Value}") #self.Log(f"Signal: {self.signalDeltaPercent}") return self.Log(f"Signal: {self.signalDeltaPercent}") self.__macd = self.MACD(self.liquidContract.Symbol, 12, 26, 9, MovingAverageType.Exponential, Resolution.Minute) hist = self.History(self.liquidContract.Symbol, self.lookback)['close'] #self.Log(hist.to_string()) for k, v in hist.items(): self.__macd.Update(k[2], v) self.signalDeltaPercent = (self.__macd.Current.Value - self.__macd.Signal.Current.Value) if self.signalDeltaPercent > 0.003: self.SetHoldings(self.liquidContract.Symbol, 1) #self.Log(f"Signal: {self.signalDeltaPercent}") def OnEndOfDay(self): pass