You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/trade-object.md
+53-11Lines changed: 53 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,13 +14,20 @@ The following attributes / properties are available for each individual trade -
14
14
| Attribute | DataType | Description |
15
15
|------------|-------------|-------------|
16
16
|`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. |
19
19
|`is_open`| boolean | Is the trade currently open, or has it been concluded. |
20
+
|`exchange`| string | Exchange where this trade was executed. |
20
21
|`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. |
21
24
|`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. |
22
27
|`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). |
23
29
|`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. |
24
31
|`open_date`| datetime | Timestamp when trade was opened **use `open_date_utc` instead**|
25
32
|`open_date_utc`| datetime | Timestamp when trade was opened - in UTC. |
26
33
|`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 -
31
38
|`leverage`| float | Leverage used for this trade - defaults to 1.0 in spot markets. |
32
39
|`enter_tag`| string | Tag provided on entry via the `enter_tag` column in the dataframe. |
33
40
|`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. |
34
44
|`is_short`| boolean | True for short trades, False otherwise. |
35
45
|`orders`| Order[]| List of order objects attached to this trade (includes both filled and cancelled orders). |
36
46
|`date_last_filled_utc`| datetime | Time of the last filled order. |
37
47
|`date_entry_fill_utc`| datetime | Date of the first filled entry order. |
38
48
|`entry_side`| "buy" / "sell" | Order Side the trade was entered. |
39
49
|`exit_side`| "buy" / "sell" | Order Side that will result in a trade exit / position reduction. |
40
50
|`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. |
41
53
|`nr_of_successful_entries`| int | Number of successful (filled) entry orders. |
42
54
|`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. |
43
56
|`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. |
44
58
|`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
+
|------------|-------------|-------------|
45
67
|`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. |
47
69
|`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. |
49
71
|`is_stop_loss_trailing`| boolean | True if the stop loss is trailing. |
50
72
|`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. |
54
82
55
83
## Class methods
56
84
@@ -116,6 +144,10 @@ from freqtrade.persistence import Trade
116
144
profit = Trade.total_open_trades_stakes()
117
145
```
118
146
147
+
## Class methods not supported in backtesting/hyperopt
148
+
149
+
The following class methods are not supported in backtesting/hyperopt mode.
150
+
119
151
### get_overall_performance
120
152
121
153
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.
204
236
|`trade`| Trade | Trade object this order is attached to |
205
237
|`ft_pair`| string | Pair this order is for |
206
238
|`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 |
207
243
|`order_type`| string | Order type as defined on the exchange - usually market, limit or stoploss |
208
244
|`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 |
209
245
|`side`| string | buy or sell |
@@ -212,14 +248,20 @@ Most properties here can be None as they are dependent on the exchange response.
212
248
|`amount`| float | Amount in base currency |
213
249
|`filled`| float | Filled amount (in base currency) (use `safe_filled` instead) |
214
250
|`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 |
|`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. |
220
263
|`order_date`| datetime | Order creation date **use `order_date_utc` instead**|
221
264
|`order_date_utc`| datetime | Order creation date (in UTC) |
222
265
|`order_filled_date`| datetime | Order fill date **use `order_filled_utc` instead**|
223
266
|`order_filled_utc`| datetime | Order fill date |
224
267
|`order_update_date`| datetime | Last order update date |
225
-
|`funding_fee`| float | Funding fee for this order (futures trading) |
0 commit comments