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
0
Tracking Error
0
Treynor Ratio
0
Total Fees
$0.00
Estimated Strategy Capacity
$0
Lowest Capacity Asset
# EMA of the midpoint

# -------------------------
CRYPTO = "BTCUSD"; EMA = 9;
# -------------------------

class EmaOfTheMidpoint(QCAlgorithm):
    
    def Initialize(self):
        self.SetStartDate(2022, 5, 1) 
        self.SetEndDate(2022, 5, 1)   
        res = Resolution.Minute
        self.crypto = self.AddCrypto(CRYPTO, res).Symbol
        high = self.Identity(self.crypto, res, Field.High)
        low = self.Identity(self.crypto, res, Field.Low)
        midpoint = IndicatorExtensions.Over(IndicatorExtensions.Plus(high, low), 2)
        self.midpoint_ema = IndicatorExtensions.EMA(midpoint, EMA)
        self.SetWarmUp(5*EMA, res)
        

    def OnData(self, data):
        if self.IsWarmingUp: return
        if not self.midpoint_ema.IsReady: return
        price = self.Securities[self.crypto].Price
        midpoint_ema = self.midpoint_ema.Current.Value
        
        self.Plot(self.crypto, "price", price)
        self.Plot(self.crypto, "midpoint_ema", midpoint_ema)