| 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 -2.7 Tracking Error 0.106 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset |
# ADX indicator
# -------------
ADX_PERIOD = 14
# -------------
class StandardIndicatorsProject(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2020, 10, 29)
self.SetEndDate(2021, 10, 29)
self.SetCash(10000)
self.stock = self.AddEquity('MSFT', Resolution.Daily).Symbol
consolidator = TradeBarConsolidator(timedelta(days = 1))
self.SubscriptionManager.AddConsolidator(self.stock, consolidator)
self.adx = self.ADX(self.stock, ADX_PERIOD)
self.SetWarmUp(5*14, Resolution.Daily)
self.adx2 = AverageDirectionalIndex(self.stock, ADX_PERIOD)
history = self.History(self.stock, 5*ADX_PERIOD, Resolution.Daily)
for bar in history.itertuples():
trade_bar = TradeBar(bar.Index[1], bar.Index[0], bar.open, bar.high, bar.low, bar.close, bar.volume)
self.adx2.Update(trade_bar)
self.adx3 = AverageDirectionalIndex(ADX_PERIOD)
self.RegisterIndicator(self.stock, self.adx3, consolidator)
def OnData(self, data):
if self.IsWarmingUp or not self.adx.IsReady: return
if not data.Bars.ContainsKey(self.stock): return
self.adx2.Update(data.Bars[self.stock])
self.Plot("Indicator", "adx", self.adx.Current.Value)
self.Plot("Indicator", "adx2", self.adx2.Current.Value)
self.Plot("Indicator", "adx3", self.adx3.Current.Value)