Overall Statistics
Total Orders
0
Average Win
0%
Average Loss
0%
Compounding Annual Return
0%
Drawdown
0%
Expectancy
0
Start Equity
15000
End Equity
15000
Net Profit
0%
Sharpe Ratio
0
Sortino 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
Portfolio Turnover
0%
# region imports
from AlgorithmImports import *
# endregion

class MyAlgorithm (QCAlgorithm):
    def initialize(self):
        self.set_start_date(2025, 1, 1)
        self.set_end_date(2025, 5, 1)
        self.set_cash(15000)
        self.tsla = self.add_equity("TSLA", Resolution.HOUR).symbol
        self.set_brokerage_model(BrokerageName.INTERACTIVE_BROKERS_BROKERAGE, AccountType.MARGIN)
        self.set_warm_up(timedelta(days=1))

        self.schedule.on(
        self.date_rules.every_day(self.tsla),
        self.time_rules.after_market_open(self.tsla, 1),
        self._trade
        )

        self.schedule.on(
        self.date_rules.every_day(self.tsla),
        self.time_rules.before_market_close(self.tsla, 30),
        self.liquidate
        )

    def _trade(self):
        if self.is_warming_up:
            return
        history = self.history(self.tsla, 24, Resolution.HOUR)
        self.last_bar = history.iloc[-1]
        price = self.securities[self.tsla].price
        if not self.portfolio.invested:
            if price > self.last_bar.high:
                self.set_holdings(self.tsla, 0.5)
            elif price < self.last_bar.low:
                self.set_holdings(self.tsla, -0.5)