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.596
Tracking Error
0.222
Treynor Ratio
0
Total Fees
$0.00
Estimated Strategy Capacity
$0
Lowest Capacity Asset
from AlgorithmImports import *
from QuantConnect.Indicators import *

class MyAlgorithm(QCAlgorithm):
    
    def Initialize(self):
        # Set the start and end date for the backtest
        self.SetStartDate(2019, 1, 15)
        #self.SetEndDate(2022, 12, 31)
        # Set the initial cash amount
        self.SetCash(100000)
        # Add the ETF QQQ to the list of symbols and set the benchmark as QQQ
        res = Resolution.Daily
        self.STOCKS = [self.AddEquity('QQQ', res).Symbol]
        self.benchmark = [self.AddEquity('QQQ', res).Symbol]
        self.SetBenchmark(self.benchmark[0])
        # Create a Bollinger indicator using Quantconnect.Indicators
        self.Bolband = self.BB(self.STOCKS[0], 18, 1, MovingAverageType.Simple, Resolution.Daily)
    
        # Plot Bollinger band
        self.PlotIndicator(
            "Indicators",
            self.Bolband.LowerBand,
            self.Bolband.MiddleBand,
            self.Bolband.UpperBand,
        )
    def daily_check(self):
            res = Resolution.Daily
            self.STOCKS = [self.AddEquity('QQQ', res).Symbol]
        # Check if the price of QQQ exceeds the upper Bollinger band
            print("Price: ", self.Securities[self.STOCKS[0]].Price, " UpperBand: ", self.Bolband.UpperBand)
            if self.Securities[self.STOCKS[0]].Price > self.Bolband.UpperBand:
        # buy current price
                self.Buy(self.STOCKS[0], 100)
        # Check if the price of QQQ falls below the lower Bollinger band
                if self.Bolband.LowerBand[-1] > self.Securities[self.STOCKS[0]].Price:
                    self.Sell(self.STOCKS[0], 100)