diff --git a/freqtrade/persistence/models.py b/freqtrade/persistence/models.py index 59d52bee0..3b6b7aa3f 100644 --- a/freqtrade/persistence/models.py +++ b/freqtrade/persistence/models.py @@ -132,7 +132,7 @@ class Order(_DECL_BASE): order_filled_date = Column(DateTime, nullable=True) order_update_date = Column(DateTime, nullable=True) - leverage = Column(Float, nullable=True, default=0.0) + leverage = Column(Float, nullable=True, default=1.0) def __repr__(self): return (f'Order(id={self.id}, order_id={self.order_id}, trade_id={self.ft_trade_id}, ' @@ -263,7 +263,7 @@ class LocalTrade(): timeframe: Optional[int] = None # Margin trading properties - leverage: Optional[float] = 0.0 + leverage: Optional[float] = 1.0 borrowed: float = 0.0 borrowed_currency: str = None collateral_currency: str = None @@ -373,7 +373,7 @@ class LocalTrade(): 'collateral_currency': self.collateral_currency, 'interest_rate': self.interest_rate, 'liquidation_price': self.liquidation_price, - 'leverage': self.leverage, + 'is_short': self.is_short, 'open_order_id': self.open_order_id, } @@ -791,7 +791,7 @@ class Trade(_DECL_BASE, LocalTrade): timeframe = Column(Integer, nullable=True) # Margin trading properties - leverage = Column(Float, nullable=True, default=0.0) + leverage = Column(Float, nullable=True, default=1.0) borrowed = Column(Float, nullable=False, default=0.0) borrowed_currency = Column(Float, nullable=True) collateral_currency = Column(String(25), nullable=True) diff --git a/tests/rpc/test_rpc.py b/tests/rpc/test_rpc.py index 8a41099f4..1e7cfb102 100644 --- a/tests/rpc/test_rpc.py +++ b/tests/rpc/test_rpc.py @@ -107,6 +107,14 @@ def test_rpc_trade_status(default_conf, ticker, fee, mocker) -> None: 'stoploss_entry_dist_ratio': -0.10448878, 'open_order': None, 'exchange': 'binance', + + 'leverage': 1.0, + 'borrowed': 0.0, + 'borrowed_currency': None, + 'collateral_currency': None, + 'interest_rate': 0.0, + 'liquidation_price': None, + 'is_short': False, } mocker.patch('freqtrade.exchange.Exchange.get_sell_rate', @@ -173,6 +181,15 @@ def test_rpc_trade_status(default_conf, ticker, fee, mocker) -> None: 'stoploss_entry_dist_ratio': -0.10448878, 'open_order': None, 'exchange': 'binance', + + 'leverage': 1.0, + 'borrowed': 0.0, + 'borrowed_currency': None, + 'collateral_currency': None, + 'interest_rate': 0.0, + 'liquidation_price': None, + 'is_short': False, + } diff --git a/tests/test_persistence.py b/tests/test_persistence.py index 602446373..30798e60c 100644 --- a/tests/test_persistence.py +++ b/tests/test_persistence.py @@ -665,11 +665,13 @@ def test_migrate_new(mocker, default_conf, fee, caplog): order_date DATETIME, order_filled_date DATETIME, order_update_date DATETIME, + leverage FLOAT, PRIMARY KEY (id), CONSTRAINT _order_pair_order_id UNIQUE (ft_pair, order_id), FOREIGN KEY(ft_trade_id) REFERENCES trades (id) ) """)) + # TODO-mg: Had to add field leverage to this table, check that this is correct connection.execute(text(""" insert into orders ( id, ft_trade_id, ft_order_side, ft_pair, ft_is_open, order_id, status, @@ -918,6 +920,14 @@ def test_to_json(default_conf, fee): 'strategy': None, 'timeframe': None, 'exchange': 'binance', + + 'leverage': None, + 'borrowed': None, + 'borrowed_currency': None, + 'collateral_currency': None, + 'interest_rate': None, + 'liquidation_price': None, + 'is_short': None, } # Simulate dry_run entries @@ -983,6 +993,14 @@ def test_to_json(default_conf, fee): 'strategy': None, 'timeframe': None, 'exchange': 'binance', + + 'leverage': None, + 'borrowed': None, + 'borrowed_currency': None, + 'collateral_currency': None, + 'interest_rate': None, + 'liquidation_price': None, + 'is_short': None, }