Any takers on this, I can use some help. I am trying to improve this algorithm to NOT buy a stock if the same stock has been sold on that same day (Technically trying to prevent day trading - am too broke to afford 25k minimum). I tried navigating my code by attempting to debug the date a symbol is sold then looping around telling the buy function not to buy any symbol that the algo had/has sold within that same market day. The ago I have so far gives an error when I attempt backtest (see attached algo).  Will really appreciate any help I can get on this

 

from datetime import datetime
from datetime import timedelta

class BasicTemplateAlgorithm(QCAlgorithm):

def Initialize(self):

self.SetStartDate(2022,2,20)
self.SetCash(50000000)
self.Data_Symbol = {}
tickers = ["SPY", #10 stocks per row
#Longs
"AAPL", "MSFT", "AMZN",


]


self.SetWarmUp(30, Resolution.Daily)

for stock in tickers:
symbol = self.AddEquity(stock, Resolution.Minute).Symbol
self.Data_Symbol[symbol] = SymbolData(self, symbol)


self.Schedule.On(self.DateRules.EveryDay("SPY"), self.TimeRules.Every(timedelta(minutes=1)), self.EveryDayAfterMarketOpen)



def EveryDayAfterMarketOpen(self):


if self.IsWarmingUp: return

for symbol, symbol_data in self.Data_Symbol.items():
if not symbol_data.cci.IsReady: continue


holdings = self.Portfolio[symbol]
invested = holdings.Invested
nowprice = holdings.Price
aveprice = holdings.AveragePrice
quantity = holdings.Quantity


cci = symbol_data.cci.Current.Value



#Buy symbol only if if CCI < 100 and that symbol was not sold today
if not invested and not sold_today and cci < -100:
self.MarketOrder(symbol, + mofactor)
self.Debug (symbol)
self.Debug (self.Time.date)

what_to_buy = (symbol)
when_to_buy = (self.Time.date)
tobuy = what_to_buy and when_to_buy

if invested and nowprice > aveprice * 1.01:
self.MarketOrder (symbol, (-1 * quantity))
self.Debug (symbol)
self.Debug (self.Time.date)
sold_symbol = (symbol)
when_sold = (self.Time.date)
sold_today = sold_symbol and when_sold


class SymbolData:
def __init__ (self,algo,symbol):
self.algorithm = algo
self.symbol = symbol

#CCI Functions
self.cci = algo.CCI(symbol, 14, MovingAverageType.Simple, Resolution.Daily)