Depending on certain conditions in a strategy, I want to place a long order with a limit, a stop loss and a profit target such that
- A long position is opened once the equity price reaches the limitÂ
- The long position is closed once the equity price either reaches the stop loss (lower boundary) or the profit target (upper boundary)
Alexandre Catarino
Hi Filib,
You can realize that in three steps:
2a. If our limit order was filled, place a take profit (TP) limit order and a stop loss (SL) order (save their OrderTicket or Id)
3a. If our TP or SL was filled, cancel the other.
For further information, please check out the docs, under Trading and Orders section.
Filib Uster
Thanks for your answer, but I have a few follow-up questions:
Alexandre Catarino
Hi Filib,
Yes, sorry, I confused OnSecurityChanges with OnOrderEvent (I edited my previous comment).
Note that if the algorithm uses a market order, it can place the three orders in a sequence of statements.
Filib Uster
Thanks again. You mentioned
Note that if the algorithm uses a market order, it can place the three orders in a sequence of statements.
How would I do that?Â
Erik Bengtson
Filib,Â
If you use a MarketOrder then in your code, you dont have submit the orders inside the event "OnOrderEvent" since you can wait the MarketOrder be filled before placing the subsequent orders. Just call MarketOrder with synchronous flag, and in sequence, submit the orders for SL and TP. Before submiting the SL and TP, check the MarketOrder was filled
Â
Filib Uster
If I place a market order for the actual long position, followed by a SL and a TP as Erik Bengtson suggested, dont I have to cancel either the SL or the TP once one of them is filled, i.e. don't I have to use OnOrderEvent for this?Â
Filib Uster
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!