Overall Statistics
Total Trades
4
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
$4.00
Estimated Strategy Capacity
$350000.00
Lowest Capacity Asset
SGBX WLLX3R3P31PH
class MinimalSGBX(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2020, 4, 1)  # Set Start Date
        self.SetEndDate(2020,4, 2)
        self.SetCash(100000)  # Set Strategy Cash
        self.sgbx = self.AddEquity("SGBX", Resolution.Minute)

        self.Schedule.On(self.DateRules.EveryDay(), self.TimeRules.BeforeMarketClose("SGBX", 1), self.ClosingBar)
        self.Schedule.On(self.DateRules.EveryDay(), self.TimeRules.AfterMarketOpen("SGBX", 2), self.OpeningBar)
        
    def LogBar(self, bar):
        return f"O: {bar.Open}, H: {bar.High}, L: {bar.Low}, C: {bar.Close}, V: {bar.Volume}"
    
    def OnData(self, data):
        tradeBars = data.Bars
        sgbxTradeBar = tradeBars['SGBX']
        
        self.Log(f"OnData {self.Time} {self.LogBar(sgbxTradeBar)}")
        
    def ClosingBar(self):
        self.Log(f"##### Close {self.Time}")
        if self.Portfolio.Invested:
            self.Liquidate()
    
    def OpeningBar(self):
        self.Log(f"##### Open {self.Time}")

        current_price = self.Securities[self.sgbx.Symbol].Price
        self.Log(f"{self.Time}: Open@{current_price}")
        
        # put in short order - if the price goes above 9.30 then liquidate the position
        self.MarketOrder(self.sgbx.Symbol, -10)
        self.StopMarketOrder(self.sgbx.Symbol, 10, 9.30)