There are many options when it comes to making orders with the API. You can place orders using the
/order/placeOrder endpoint. You can view the docs here. You’ll notice many parameters are optional - this is because the parameters you use are determined by the type of order you’re placing. For example, a Stop would have a
stopPrice field, where a Limit would have a
price field. A Market order would simply require the naturally required parameters (you’ll see these marked required in red text).
Now you also mentioned specifying take-profits. Rather than trying to work out your own way to place brackets algorithmically, you can piggyback off of Tradovate’s built-in Brackets trading algorithm. In order to do so, you can use the
/orderStrategy/startOrderStrategy endpoint. You can read those docs here. This allows you to create quite complex strategies for taking profit, stopping loss, and adding trailing stops without having to specify unique orders for each window you’d like to trade in - the Brackets algo does a lot of the work for you.
We also have endpoints for OSOs (order-sends-order) and OCOs (order-cancels-order) for alternative order strategies, from which you could build your own bracket-like strategies if you wanted.