| 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