So I am new to QuantConnect, and new to creating algorithms in general. I have been trying to develop a strategy that buys a stock from S&P 500 and sells it after a certain amount of time (say 15 minutes). How do I do this? I have been going through the bootcamp but it doesn't seem to be helping much. I'm not trying to create a stopMarketOrder, rather I want to sell the stock I bought after said period of time. This strategy is just to get my bearing on the programming language.
Shailesh Raval
Please refer documentation on scheduled eventsÂ
https://www.quantconnect.com/docs/algorithm-reference/scheduled-events
You may note/save trade time and then schedule call to self.MarketOrder() after adding required time period. Above link has sample/example algorithm as well.
Thanks.
Rahul Chowdhury
Hey Nadeem,
A simple way of accomplishing this is by keeping track of when your entry trade was made with a variable. Then later checking whether the difference between the current time and the entry time has been at least 15 minutes before placing an exit trade. Here's a sample snippet.
class ParticleHorizontalCoil(QCAlgorithm):
   def Initialize(self):
     self.SetStartDate(2019, 10, 1) # Set Start Date
     self.SetCash(100000) # Set Strategy Cash
     self.AddEquity("SPY") # Add our equity
     self.entryTime = self.UtcTime
  def OnData(self, data):
     #If we are not already in a position
     if not self.Portfolio.Invested:
       #Place a market order and save the order time in our variable
       self.entryTime = self.MarketOrder("SPY", 100).Time
    else:
       #If we are in a position and it has been at least 15 minutes
       if (self.UtcTime - self.entryTime) >= timedelta(minutes = 15):
         self.Liquidate("SPY")
Â
Nadeem Hussein
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.
To unlock posting to the community forums please complete at least 30% of Boot Camp.
You can continue your Boot Camp training progress from the terminal. We hope to see you in the community soon!