Merge pull request #10530 from freqtrade/feat/price_precision_mode

add price_precision_mode
This commit is contained in:
Matthias
2024-08-13 12:20:53 +02:00
committed by GitHub
10 changed files with 47 additions and 11 deletions
+1
View File
@@ -243,6 +243,7 @@ def patch_exchange(
mocker.patch(f"{EXMS}.id", PropertyMock(return_value=exchange))
mocker.patch(f"{EXMS}.name", PropertyMock(return_value=exchange.title()))
mocker.patch(f"{EXMS}.precisionMode", PropertyMock(return_value=2))
mocker.patch(f"{EXMS}.precision_mode_price", PropertyMock(return_value=2))
# Temporary patch ...
mocker.patch("freqtrade.exchange.bybit.Bybit.cache_leverage_tiers")
+1
View File
@@ -365,6 +365,7 @@ def test_price_get_one_pip(default_conf, mocker, price, precision_mode, precisio
exchange = get_patched_exchange(mocker, default_conf, exchange="binance")
mocker.patch(f"{EXMS}.markets", markets)
mocker.patch(f"{EXMS}.precisionMode", PropertyMock(return_value=precision_mode))
mocker.patch(f"{EXMS}.precision_mode_price", PropertyMock(return_value=precision_mode))
pair = "ETH/BTC"
assert pytest.approx(exchange.price_get_one_pip(pair, price)) == expected
+4
View File
@@ -1404,6 +1404,7 @@ def test_to_json(fee):
exchange="binance",
enter_tag=None,
precision_mode=1,
precision_mode_price=1,
amount_precision=8.0,
price_precision=7.0,
contract_size=1,
@@ -1473,6 +1474,7 @@ def test_to_json(fee):
"amount_precision": 8.0,
"price_precision": 7.0,
"precision_mode": 1,
"precision_mode_price": 1,
"contract_size": 1,
"orders": [],
"has_open_orders": False,
@@ -1493,6 +1495,7 @@ def test_to_json(fee):
enter_tag="buys_signal_001",
exchange="binance",
precision_mode=2,
precision_mode_price=1,
amount_precision=7.0,
price_precision=8.0,
contract_size=1,
@@ -1562,6 +1565,7 @@ def test_to_json(fee):
"amount_precision": 7.0,
"price_precision": 8.0,
"precision_mode": 2,
"precision_mode_price": 1,
"contract_size": 1,
"orders": [],
"has_open_orders": False,
+1
View File
@@ -96,6 +96,7 @@ def test_rpc_trade_status(default_conf, ticker, fee, mocker) -> None:
"amount_precision": 8.0,
"price_precision": 8.0,
"precision_mode": 2,
"precision_mode_price": 2,
"contract_size": 1,
"has_open_orders": False,
"orders": [
+1
View File
@@ -579,6 +579,7 @@ def test_ft_stoploss_reached(
liquidation_price=liq,
price_precision=4,
precision_mode=2,
precision_mode_price=2,
)
trade.adjust_min_max_rates(trade.open_rate, trade.open_rate)
strategy.trailing_stop = trailing