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)