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 -7.163 Tracking Error 0.195 Treynor Ratio 0 Total Fees $0.00 |
from collections import deque from datetime import datetime, timedelta from numpy import sum ### Demonstrates how to create a custom indicator and register it for automatic updated class CustomIndicatorAlgorithm(QCAlgorithm): def Initialize(self): self.SetStartDate(2013,10,7) self.SetEndDate(2013,10,11) self.symbol = Symbol.Create("SPY", SecurityType.Equity, Market.USA) self.AddUniverse(self.CoarseSelectionFunction) # Create a QuantConnect indicator and a python custom indicator for comparison self.indicator = None def CoarseSelectionFunction(self, coarse): if self.indicator is None: self.indicator = CustomSimpleMovingAverage('custom', self) self.indicator.Update(TradeBar(self.Time, self.symbol, 1, 2, 0.8, 1, 100)) self.Plot("Ready", "Val", int(self.indicator.IsReady)) self.Log("Plotting") return [self.symbol] def OnSecuritiesChanged(self, changes): for security in changes.AddedSecurities: self.RegisterIndicator(security.Symbol, self.indicator, Resolution.Daily) # Python implementation of SimpleMovingAverage. # Represents the traditional simple moving average indicator (SMA). class CustomSimpleMovingAverage(PythonIndicator): def __init__(self, name, algorithm): self.Name = name self.Time = datetime.min self.Value = 0 self.algorithm = algorithm # Update method is mandatory def Update(self, input): self.algorithm.Log("Called Update") self.Time = input.EndTime return True