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.502
Tracking Error
0.154
Treynor Ratio
0
Total Fees
$0.00
Estimated Strategy Capacity
$0
Lowest Capacity Asset
class TradierEquitiesStochAlpha(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2021, 1, 1)
        self.SetEndDate(2021, 2, 1)
        self.SetCash(1000)
        self.AddEquity("SPY", Resolution.Daily, Market.USA)
        self.SetBrokerageModel(BrokerageName.TradierBrokerage) 
        self.sto = self.STO("SPY", 14)
        
        self.sell_price = None
            
    def OnData(self, data):
        
        if not self.sto.IsReady: 
            return
    
        price = self.Securities["SPY"].Close
        if self.sto.Current.Value < 30 and self.Portfolio == 0:
            self.Debug("Daily SPY STO is < 30")
            
            self.MarketOrder("SPY", 1)
            self.Debug(f"Market order was placed for 95% of protfolio in SPY")
            self.sell_price = (1 + 0.05) * price
        
        if self.sell_price is not None and price >= self.sell_price and self.sto.Current.Value > 80:
            self.Debug("SPY sold at a 5% gain or more")
            self.MarketOrder("SPY", -self.Portfolio.CashBook["SPY"].Amount)
            self.sell_price = None
            
        #if self.sell_price is not None and price <= self.sell_price * .95:
            #self.Debug("Price dropped 5%")
            #self.MarketOrder(self.symbol, -self.Portfolio.CashBook["ETH"].Amount)
            #self.sell_price = None