# Price triggers

When trading on CFD or Perpetual markets, the following triggers can be enabled to manage investments and mitigate risks:

* **Take profit**: A take-profit order is used to sell or buy an asset automatically once it hits a predefined price, ensuring the trader locks in profits. For example, if a trader buys ETH at $2,000 and sets the Take profit at $2,100, the platform will sell the ETH automatically when the market price reaches $2100, securing the trader's profit.
* **Stop loss**: A stop-loss order is a tool to limit potential losses. It automatically sells an asset when its price falls to a predetermined level. For example, if a trader buys ETH at $2,000 and sets the Stop loss at $1,900, the asset will be sold if the price drops to $1,900, capping the loss to $100 per ETH.
* **Trailing stop**: A trailing-stop order allows a trader to set a Stop price that dynamically adjusts as the market price moves. It's different from a regular stop-loss order because the Stop price isn't stationary but follows the market price by a specified percentage. When the asset price moves favorably, the Stop price updates, securing potential gains. However, if the price falls, the Stop price stays fixed to protect profits or limit losses. For example, a trader buys ETH at $2,000 and sets the Trailing stop at $1900 with a 10% adjustment. If ETH rises to $2,200, the Trailing stop increases to $2,090. A drop to $2,090 triggers the sale, locking in gains.

The triggers are applicable to all order types: Market, Limit, Stop Market, and Stop Limit. Multiple triggers can be applied simultaneously.

The triggers can be adjusted anytime until a position is fully closed. The Take profit, Stop loss, and Trailing stop always operate with the current position volume.

For **buy** orders, the triggers are activated by the top-of-the-book **bid** price. For **sell** orders, the triggers are activated by the top-of-the-book **ask** price.

{% hint style="danger" %}
Triggers do not activate if a position is in the *Stop out* state. However, if the position persists after the *Stop out*, triggers can then be activated.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://api-docs.b2prime.com/get-started/price-triggers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
