---
id: "T:cAlgo.API.AbsoluteTakeProfitProtections"
kind: "record"
namespace: "cAlgo.API"
url: "https://help.ctrader.com/ctrader-algo/references/Trading/AbsoluteTakeProfitProtections/"
---

> Documentation index for agents: https://help.ctrader.com/ctrader-algo/llms.txt · machine index: https://help.ctrader.com/ctrader-algo/api.json

# AbsoluteTakeProfitProtections (record)

Represents a ladder of up to four partial take profits at absolute prices, followed by a final take profit that closes any remaining volume.

Environments: Desktop supported · CLI supported · Cloud supported.

## Definition

```csharp
public class AbsoluteTakeProfitProtections
```

Available since cAlgo.API 5.8.

## Examples

C#:

```csharp
var entryPrice = Symbol.Bid - 20 * Symbol.PipSize;
var takeProfits = new AbsoluteTakeProfitProtections(
    new AbsoluteTakeProfitProtection(10000, entryPrice + 20 * Symbol.PipSize),
    new AbsoluteTakeProfitLastProtection(entryPrice + 40 * Symbol.PipSize));
var stopLoss = new AbsoluteStopLossProtection(entryPrice - 20 * Symbol.PipSize);
var result = PlaceLimitOrder(TradeType.Buy, SymbolName, 20000, entryPrice, "myLabel", stopLoss, takeProfits);
Print("Limit order with a price based take profit ladder placed: {0}", result.IsSuccessful);
```

Python:

```python
entryPrice = api.Symbol.Bid - 20 * api.Symbol.PipSize
takeProfits = AbsoluteTakeProfitProtections(
    AbsoluteTakeProfitProtection(10000, entryPrice + 20 * api.Symbol.PipSize),
    AbsoluteTakeProfitLastProtection(entryPrice + 40 * api.Symbol.PipSize))
stopLoss = AbsoluteStopLossProtection(entryPrice - 20 * api.Symbol.PipSize)
result = api.PlaceLimitOrder(TradeType.Buy, api.SymbolName, 20000, entryPrice, "myLabel", stopLoss, takeProfits)
api.Print(f"Limit order with a price based take profit ladder placed: {result.IsSuccessful}")
```

## Constructors

- `public AbsoluteTakeProfitProtections(AbsoluteTakeProfitLastProtection lastTakeProfit)` — Initializes a new instance with only a final take profit. [details](https://help.ctrader.com/ctrader-algo/references/Trading/AbsoluteTakeProfitProtections/Constructor/index.md)
- `public AbsoluteTakeProfitProtections(AbsoluteTakeProfitProtection firstTakeProfit, AbsoluteTakeProfitLastProtection lastTakeProfit)` — Initializes a new instance with one partial take profit and a final take profit. [details](https://help.ctrader.com/ctrader-algo/references/Trading/AbsoluteTakeProfitProtections/Constructor/index.md)
- `public AbsoluteTakeProfitProtections(AbsoluteTakeProfitProtection firstTakeProfit, AbsoluteTakeProfitProtection secondTakeProfit, AbsoluteTakeProfitLastProtection lastTakeProfit)` — Initializes a new instance with two partial take profits and a final take profit. [details](https://help.ctrader.com/ctrader-algo/references/Trading/AbsoluteTakeProfitProtections/Constructor/index.md)
- `public AbsoluteTakeProfitProtections(AbsoluteTakeProfitProtection firstTakeProfit, AbsoluteTakeProfitProtection secondTakeProfit, AbsoluteTakeProfitProtection thirdTakeProfit, AbsoluteTakeProfitLastProtection lastTakeProfit)` — Initializes a new instance with three partial take profits and a final take profit. [details](https://help.ctrader.com/ctrader-algo/references/Trading/AbsoluteTakeProfitProtections/Constructor/index.md)
- `public AbsoluteTakeProfitProtections(AbsoluteTakeProfitProtection firstTakeProfit, AbsoluteTakeProfitProtection secondTakeProfit, AbsoluteTakeProfitProtection thirdTakeProfit, AbsoluteTakeProfitProtection fourthTakeProfit, AbsoluteTakeProfitLastProtection lastTakeProfit)` — Initializes a new instance with four partial take profits and a final take profit. [details](https://help.ctrader.com/ctrader-algo/references/Trading/AbsoluteTakeProfitProtections/Constructor/index.md)
- `public AbsoluteTakeProfitProtections(AbsoluteTakeProfitProtections original)` —  [details](https://help.ctrader.com/ctrader-algo/references/Trading/AbsoluteTakeProfitProtections/Constructor/index.md)

## Properties

- `public AbsoluteTakeProfitProtection FirstTakeProfit {get;}` — Gets the first partial take profit, if any. [details](https://help.ctrader.com/ctrader-algo/references/Trading/AbsoluteTakeProfitProtections/FirstTakeProfit/index.md)
- `public AbsoluteTakeProfitProtection FourthTakeProfit {get;}` — Gets the fourth partial take profit, if any. [details](https://help.ctrader.com/ctrader-algo/references/Trading/AbsoluteTakeProfitProtections/FourthTakeProfit/index.md)
- `public AbsoluteTakeProfitLastProtection LastTakeProfit {get;}` — Gets the final take profit that closes the remaining volume. [details](https://help.ctrader.com/ctrader-algo/references/Trading/AbsoluteTakeProfitProtections/LastTakeProfit/index.md)
- `public AbsoluteTakeProfitProtection SecondTakeProfit {get;}` — Gets the second partial take profit, if any. [details](https://help.ctrader.com/ctrader-algo/references/Trading/AbsoluteTakeProfitProtections/SecondTakeProfit/index.md)
- `public AbsoluteTakeProfitProtection ThirdTakeProfit {get;}` — Gets the third partial take profit, if any. [details](https://help.ctrader.com/ctrader-algo/references/Trading/AbsoluteTakeProfitProtections/ThirdTakeProfit/index.md)

