Skip to content

Commit f529b7b

Browse files
committed
docs: Update trade-object documentation
partially reverts c1cd14 - includes a few enhancements to it
1 parent c1cd14c commit f529b7b

File tree

1 file changed

+53
-11
lines changed

1 file changed

+53
-11
lines changed

docs/trade-object.md

Lines changed: 53 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,20 @@ The following attributes / properties are available for each individual trade -
1414
| Attribute | DataType | Description |
1515
|------------|-------------|-------------|
1616
| `pair` | string | Pair of this trade. |
17-
| `base_currency` | string | Base currency of the trading pair. |
18-
| `stake_currency` | string | Stake/quote currency of the trading pair. |
17+
| `safe_base_currency` | string | Compatibility layer for base currency . |
18+
| `safe_quote_currency` | string | Compatibility layer for quote currency. |
1919
| `is_open` | boolean | Is the trade currently open, or has it been concluded. |
20+
| `exchange` | string | Exchange where this trade was executed. |
2021
| `open_rate` | float | Rate this trade was entered at (Avg. entry rate in case of trade-adjustments). |
22+
| `open_rate_requested` | float | The rate that was requested when the trade was opened. |
23+
| `open_trade_value` | float | Value of the open trade including fees. |
2124
| `close_rate` | float | Close rate - only set when is_open = False. |
25+
| `close_rate_requested` | float | The close rate that was requested. |
26+
| `safe_close_rate` | float | Close rate or close_rate_requested or 0.0 if neither is available. |
2227
| `stake_amount` | float | Amount in Stake (or Quote) currency. |
28+
| `max_stake_amount` | float | Maximum stake amount that was used in this trade (including DCA orders). |
2329
| `amount` | float | Amount in Asset / Base currency that is currently owned. Will be 0.0 until the initial order fills. |
30+
| `amount_requested` | float | Amount that was originally requested for this trade in the first entry order. |
2431
| `open_date` | datetime | Timestamp when trade was opened **use `open_date_utc` instead** |
2532
| `open_date_utc` | datetime | Timestamp when trade was opened - in UTC. |
2633
| `close_date` | datetime | Timestamp when trade was closed **use `close_date_utc` instead** |
@@ -31,26 +38,47 @@ The following attributes / properties are available for each individual trade -
3138
| `leverage` | float | Leverage used for this trade - defaults to 1.0 in spot markets. |
3239
| `enter_tag` | string | Tag provided on entry via the `enter_tag` column in the dataframe. |
3340
| `exit_reason` | string | Reason why the trade was exited. |
41+
| `exit_order_status` | string | Status of the exit order. |
42+
| `strategy` | string | Strategy name that was used for this trade. |
43+
| `timeframe` | int | Timeframe used for this trade. |
3444
| `is_short` | boolean | True for short trades, False otherwise. |
3545
| `orders` | Order[] | List of order objects attached to this trade (includes both filled and cancelled orders). |
3646
| `date_last_filled_utc` | datetime | Time of the last filled order. |
3747
| `date_entry_fill_utc` | datetime | Date of the first filled entry order. |
3848
| `entry_side` | "buy" / "sell" | Order Side the trade was entered. |
3949
| `exit_side` | "buy" / "sell" | Order Side that will result in a trade exit / position reduction. |
4050
| `trade_direction` | "long" / "short" | Trade direction in text - long or short. |
51+
| `max_rate` | float | Highest price reached during this trade. Not 100% accurate. |
52+
| `min_rate` | float | Lowest price reached during this trade. Not 100% accurate. |
4153
| `nr_of_successful_entries` | int | Number of successful (filled) entry orders. |
4254
| `nr_of_successful_exits` | int | Number of successful (filled) exit orders. |
55+
| `has_open_position` | boolean | True if there is an open position (amount > 0) for this trade. Only false while the initial entry order is unfilled. |
4356
| `has_open_orders` | boolean | Has the trade open orders (excluding stoploss orders). |
57+
| `has_open_sl_orders` | boolean | True if there are open stoploss orders for this trade. |
4458
| `open_orders` | Order[] | All open orders for this trade excluding stoploss orders. |
59+
| `open_sl_orders` | Order[] | All open stoploss orders for this trade. |
60+
| `fully_canceled_entry_order_count` | int | Number of fully canceled entry orders. |
61+
| `canceled_exit_order_count` | int | Number of canceled exit orders. |
62+
63+
### Stop Loss related attributes
64+
65+
| Attribute | DataType | Description |
66+
|------------|-------------|-------------|
4567
| `stop_loss` | float | Absolute value of the stop loss. |
46-
| `stop_loss_pct` | float | Percentage value of the stop loss. |
68+
| `stop_loss_pct` | float | Relative value of the stop loss. |
4769
| `initial_stop_loss` | float | Absolute value of the initial stop loss. |
48-
| `initial_stop_loss_pct` | float | Percentage value of the initial stop loss. |
70+
| `initial_stop_loss_pct` | float | Relative value of the initial stop loss. |
4971
| `is_stop_loss_trailing` | boolean | True if the stop loss is trailing. |
5072
| `stoploss_last_update_utc` | datetime | Timestamp of the last stoploss update. |
51-
| `stoploss_or_liquidation` | float | Returns the more restrictive of stoploss or liquidation price. |
52-
| `max_rate` | float | Highest price reached during this trade. |
53-
| `min_rate` | float | Lowest price reached during this trade. |
73+
| `stoploss_or_liquidation` | float | Returns the more restrictive of stoploss or liquidation price and corresponds to the price a stoploss would trigger at. |
74+
75+
### Futures/Margin trading attributes
76+
77+
| Attribute | DataType | Description |
78+
|------------|-------------|-------------|
79+
| `liquidation_price` | float | Liquidation price for leveraged trades. |
80+
| `interest_rate` | float | Interest rate for margin trades. |
81+
| `funding_fees` | float | Total funding fees for futures trades. |
5482

5583
## Class methods
5684

@@ -116,6 +144,10 @@ from freqtrade.persistence import Trade
116144
profit = Trade.total_open_trades_stakes()
117145
```
118146

147+
## Class methods not supported in backtesting/hyperopt
148+
149+
The following class methods are not supported in backtesting/hyperopt mode.
150+
119151
### get_overall_performance
120152

121153
Retrieve the overall performance - similar to the `/performance` telegram command.
@@ -204,6 +236,10 @@ Most properties here can be None as they are dependent on the exchange response.
204236
| `trade` | Trade | Trade object this order is attached to |
205237
| `ft_pair` | string | Pair this order is for |
206238
| `ft_is_open` | boolean | is the order still open? |
239+
| `ft_order_side` | string | Order side ('buy', 'sell', or 'stoploss') |
240+
| `ft_cancel_reason` | string | Reason why the order was canceled |
241+
| `ft_order_tag` | string | Custom order tag |
242+
| `order_id` | string | Exchange order ID |
207243
| `order_type` | string | Order type as defined on the exchange - usually market, limit or stoploss |
208244
| `status` | string | Status as defined by [ccxt's order structure](https://docs.ccxt.com/#/README?id=order-structure). Usually open, closed, expired, canceled or rejected |
209245
| `side` | string | buy or sell |
@@ -212,14 +248,20 @@ Most properties here can be None as they are dependent on the exchange response.
212248
| `amount` | float | Amount in base currency |
213249
| `filled` | float | Filled amount (in base currency) (use `safe_filled` instead) |
214250
| `safe_filled` | float | Filled amount (in base currency) - guaranteed to not be None |
251+
| `safe_amount` | float | Amount - falls back to ft_amount if None |
252+
| `safe_price` | float | Price - falls back through average, price, stop_price, ft_price |
253+
| `safe_placement_price` | float | Price at which the order was placed |
215254
| `remaining` | float | Remaining amount (use `safe_remaining` instead) |
216255
| `safe_remaining` | float | Remaining amount - either taken from the exchange or calculated. |
217-
| `cost` | float | Cost of the order - usually average * filled (*Exchange dependent on futures, may contain the cost with or without leverage and may be in contracts.*) |
218-
| `stake_amount` | float | Stake amount used for this order. *Added in 2023.7.* |
219-
| `stake_amount_filled` | float | Filled Stake amount used for this order. *Added in 2024.11.* |
256+
| `safe_cost` | float | Cost of the order - guaranteed to not be None |
257+
| `safe_fee_base` | float | Fee in base currency - guaranteed to not be None |
258+
| `safe_amount_after_fee` | float | Amount after deducting fees |
259+
| `cost` | float | Cost of the order - usually average * filled (*Exchange dependent on futures trading, may contain the cost with or without leverage and may be in contracts.*) |
260+
| `stop_price` | float | Stop price for stop orders. Empty for non-stoploss orders. |
261+
| `stake_amount` | float | Stake amount used for this order. |
262+
| `stake_amount_filled` | float | Filled Stake amount used for this order. |
220263
| `order_date` | datetime | Order creation date **use `order_date_utc` instead** |
221264
| `order_date_utc` | datetime | Order creation date (in UTC) |
222265
| `order_filled_date` | datetime | Order fill date **use `order_filled_utc` instead** |
223266
| `order_filled_utc` | datetime | Order fill date |
224267
| `order_update_date` | datetime | Last order update date |
225-
| `funding_fee` | float | Funding fee for this order (futures trading) |

0 commit comments

Comments
 (0)