mirror of
https://github.com/freqtrade/freqtrade.git
synced 2026-04-28 13:00:13 +00:00
fix localTrade and trade classe miroring, fix persistence tests
This commit is contained in:
@@ -491,11 +491,10 @@ def test_update_market_order(market_buy_order_usdt, market_sell_order_usdt, fee,
|
||||
leverage=1.0,
|
||||
)
|
||||
|
||||
trade.open_order_id = 'mocked_market_buy'
|
||||
oobj = Order.parse_from_ccxt_object(market_buy_order_usdt, 'ADA/USDT', 'buy')
|
||||
trade.orders.append(oobj)
|
||||
trade.update_trade(oobj)
|
||||
assert trade.open_order_id is None
|
||||
assert len(trade.open_orders) == 0
|
||||
assert trade.open_rate == 2.0
|
||||
assert trade.close_profit is None
|
||||
assert trade.close_date is None
|
||||
@@ -506,11 +505,10 @@ def test_update_market_order(market_buy_order_usdt, market_sell_order_usdt, fee,
|
||||
|
||||
caplog.clear()
|
||||
trade.is_open = True
|
||||
trade.open_order_id = 'mocked_market_sell'
|
||||
oobj = Order.parse_from_ccxt_object(market_sell_order_usdt, 'ADA/USDT', 'sell')
|
||||
trade.orders.append(oobj)
|
||||
trade.update_trade(oobj)
|
||||
assert trade.open_order_id is None
|
||||
assert len(trade.open_orders) == 0
|
||||
assert trade.close_rate == 2.2
|
||||
assert pytest.approx(trade.close_profit) == 0.094513715710723
|
||||
assert trade.close_date is not None
|
||||
@@ -560,7 +558,7 @@ def test_calc_open_close_trade_price(
|
||||
)
|
||||
entry_order = limit_order[trade.entry_side]
|
||||
exit_order = limit_order[trade.exit_side]
|
||||
trade.open_order_id = f'something-{is_short}-{lev}-{exchange}'
|
||||
# trade.open_order_id = f'something-{is_short}-{lev}-{exchange}'
|
||||
|
||||
oobj = Order.parse_from_ccxt_object(entry_order, 'ADA/USDT', trade.entry_side)
|
||||
oobj.trade = trade
|
||||
@@ -658,7 +656,7 @@ def test_calc_close_trade_price_exception(limit_buy_order_usdt, fee):
|
||||
leverage=1.0,
|
||||
)
|
||||
|
||||
trade.open_order_id = 'something'
|
||||
# trade.open_order_id = 'something'
|
||||
oobj = Order.parse_from_ccxt_object(limit_buy_order_usdt, 'ADA/USDT', 'buy')
|
||||
trade.update_trade(oobj)
|
||||
assert trade.calc_close_trade_value(trade.close_rate) == 0.0
|
||||
@@ -677,7 +675,7 @@ def test_update_open_order(limit_buy_order_usdt):
|
||||
trading_mode=margin
|
||||
)
|
||||
|
||||
assert trade.open_order_id is None
|
||||
assert len(trade.open_orders) == 0
|
||||
assert trade.close_profit is None
|
||||
assert trade.close_date is None
|
||||
|
||||
@@ -685,7 +683,7 @@ def test_update_open_order(limit_buy_order_usdt):
|
||||
oobj = Order.parse_from_ccxt_object(limit_buy_order_usdt, 'ADA/USDT', 'buy')
|
||||
trade.update_trade(oobj)
|
||||
|
||||
assert trade.open_order_id is None
|
||||
assert len(trade.open_orders) == 0
|
||||
assert trade.close_profit is None
|
||||
assert trade.close_date is None
|
||||
|
||||
@@ -758,7 +756,7 @@ def test_calc_open_trade_value(
|
||||
is_short=is_short,
|
||||
trading_mode=trading_mode
|
||||
)
|
||||
trade.open_order_id = 'open_trade'
|
||||
# trade.open_order_id = 'open_trade'
|
||||
oobj = Order.parse_from_ccxt_object(
|
||||
limit_buy_order_usdt, 'ADA/USDT', 'sell' if is_short else 'buy')
|
||||
trade.update_trade(oobj) # Buy @ 2.0
|
||||
@@ -813,7 +811,7 @@ def test_calc_close_trade_price(
|
||||
trading_mode=trading_mode,
|
||||
funding_fees=funding_fees
|
||||
)
|
||||
trade.open_order_id = 'close_trade'
|
||||
# trade.open_order_id = 'close_trade'
|
||||
assert round(trade.calc_close_trade_value(rate=close_rate), 8) == result
|
||||
|
||||
|
||||
@@ -1135,7 +1133,7 @@ def test_calc_profit(
|
||||
trading_mode=trading_mode,
|
||||
funding_fees=funding_fees
|
||||
)
|
||||
trade.open_order_id = 'something'
|
||||
# trade.open_order_id = 'something'
|
||||
|
||||
assert pytest.approx(trade.calc_profit(rate=close_rate)) == round(profit, 8)
|
||||
assert pytest.approx(trade.calc_profit_ratio(rate=close_rate)) == round(profit_ratio, 8)
|
||||
@@ -1330,7 +1328,7 @@ def test_to_json(fee):
|
||||
open_rate=0.123,
|
||||
exchange='binance',
|
||||
enter_tag=None,
|
||||
open_order_id='dry_run_buy_12345',
|
||||
# open_order_id='dry_run_buy_12345',
|
||||
precision_mode=1,
|
||||
amount_precision=8.0,
|
||||
price_precision=7.0,
|
||||
@@ -1346,7 +1344,7 @@ def test_to_json(fee):
|
||||
'is_open': None,
|
||||
'open_date': trade.open_date.strftime(DATETIME_PRINT_FORMAT),
|
||||
'open_timestamp': int(trade.open_date.timestamp() * 1000),
|
||||
'open_order_id': 'dry_run_buy_12345',
|
||||
# 'open_order_id': trade.open_orders_count,
|
||||
'close_date': None,
|
||||
'close_timestamp': None,
|
||||
'open_rate': 0.123,
|
||||
@@ -1401,6 +1399,7 @@ def test_to_json(fee):
|
||||
'price_precision': 7.0,
|
||||
'precision_mode': 1,
|
||||
'orders': [],
|
||||
'open_orders': [],
|
||||
}
|
||||
|
||||
# Simulate dry_run entries
|
||||
@@ -1468,7 +1467,7 @@ def test_to_json(fee):
|
||||
'is_open': None,
|
||||
'max_rate': None,
|
||||
'min_rate': None,
|
||||
'open_order_id': None,
|
||||
# 'open_order_id': None,
|
||||
'open_rate_requested': None,
|
||||
'open_trade_value': 12.33075,
|
||||
'exit_reason': None,
|
||||
@@ -1487,6 +1486,7 @@ def test_to_json(fee):
|
||||
'price_precision': 8.0,
|
||||
'precision_mode': 2,
|
||||
'orders': [],
|
||||
'open_orders': [],
|
||||
}
|
||||
|
||||
|
||||
@@ -2638,7 +2638,7 @@ def test_recalc_trade_from_orders_dca(data) -> None:
|
||||
assert len(trade.orders) == idx + 1
|
||||
if idx < len(data) - 1:
|
||||
assert trade.is_open is True
|
||||
assert trade.open_order_id is None
|
||||
assert len(trade.open_orders) == 0
|
||||
assert trade.amount == result[0]
|
||||
assert trade.open_rate == result[1]
|
||||
assert trade.stake_amount == result[2]
|
||||
@@ -2652,4 +2652,4 @@ def test_recalc_trade_from_orders_dca(data) -> None:
|
||||
assert not trade.is_open
|
||||
trade = Trade.session.scalars(select(Trade)).first()
|
||||
assert trade
|
||||
assert trade.open_order_id is None
|
||||
assert len(trade.open_orders) == 0
|
||||
|
||||
Reference in New Issue
Block a user