Add runmode "dry_run" to default configuration

This commit is contained in:
Matthias
2024-01-06 18:07:40 +01:00
parent 74bb1a29b6
commit 582f51ccdd
3 changed files with 10 additions and 2 deletions

View File

@@ -553,6 +553,7 @@ def get_default_conf(testdatadir):
"internals": {},
"export": "none",
"dataformat_ohlcv": "feather",
"runmode": "dry_run",
"candle_type_def": CandleType.SPOT,
}
return configuration

View File

@@ -1132,6 +1132,7 @@ def test_processed(default_conf, mocker, testdatadir) -> None:
def test_backtest_dataprovider_analyzed_df(default_conf, fee, mocker, testdatadir) -> None:
default_conf['use_exit_signal'] = False
default_conf['max_open_trades'] = 10
default_conf['runmode'] = 'backtest'
mocker.patch(f'{EXMS}.get_fee', fee)
mocker.patch(f"{EXMS}.get_min_pair_stake_amount", return_value=0.00001)
mocker.patch(f"{EXMS}.get_max_pair_stake_amount", return_value=100000)
@@ -1298,6 +1299,7 @@ def test_backtest_alternate_buy_sell(default_conf, fee, mocker, testdatadir):
mocker.patch(f"{EXMS}.get_max_pair_stake_amount", return_value=float('inf'))
mocker.patch(f'{EXMS}.get_fee', fee)
default_conf['max_open_trades'] = 10
default_conf['runmode'] = 'backtest'
backtest_conf = _make_backtest_conf(mocker, conf=default_conf,
pair='UNITTEST/BTC', datadir=testdatadir)
default_conf['timeframe'] = '1m'
@@ -1342,6 +1344,7 @@ def test_backtest_multi_pair(default_conf, fee, mocker, tres, pair, testdatadir)
dataframe['exit_short'] = 0
return dataframe
default_conf['runmode'] = 'backtest'
mocker.patch(f"{EXMS}.get_min_pair_stake_amount", return_value=0.00001)
mocker.patch(f"{EXMS}.get_max_pair_stake_amount", return_value=float('inf'))
mocker.patch(f'{EXMS}.get_fee', fee)

View File

@@ -438,6 +438,7 @@ def test_enter_positions_no_pairs_left(default_conf_usdt, ticker_usdt, limit_buy
create_order=MagicMock(return_value=limit_buy_order_usdt_open),
get_fee=fee,
)
mocker.patch('freqtrade.configuration.config_validation._validate_whitelist')
default_conf_usdt['exchange']['pair_whitelist'] = whitelist
freqtrade = FreqtradeBot(default_conf_usdt)
patch_get_signal(freqtrade)
@@ -857,7 +858,7 @@ def test_execute_entry(mocker, default_conf_usdt, fee, limit_order,
open_order['id'] = '22'
freqtrade.strategy.confirm_trade_entry = MagicMock(return_value=True)
assert freqtrade.execute_entry(pair, stake_amount)
assert enter_rate_mock.call_count == 1
assert enter_rate_mock.call_count == 2
assert enter_mm.call_count == 1
call_args = enter_mm.call_args_list[0][1]
assert call_args['pair'] == pair
@@ -879,7 +880,7 @@ def test_execute_entry(mocker, default_conf_usdt, fee, limit_order,
fix_price = 0.06
assert freqtrade.execute_entry(pair, stake_amount, fix_price, is_short=is_short)
# Make sure get_rate wasn't called again
assert enter_rate_mock.call_count == 0
assert enter_rate_mock.call_count == 1
assert enter_mm.call_count == 2
call_args = enter_mm.call_args_list[1][1]
@@ -2240,6 +2241,7 @@ def test_update_trade_state(mocker, default_conf_usdt, limit_order, is_short, ca
order = limit_order[entry_side(is_short)]
mocker.patch('freqtrade.freqtradebot.FreqtradeBot.handle_trade', MagicMock(return_value=True))
mocker.patch('freqtrade.freqtradebot.FreqtradeBot._notify_enter')
mocker.patch(f'{EXMS}.fetch_order', return_value=order)
mocker.patch(f'{EXMS}.get_trades_for_order', return_value=[])
mocker.patch('freqtrade.freqtradebot.FreqtradeBot.get_real_amount', return_value=0.0)
@@ -2309,6 +2311,7 @@ def test_update_trade_state_withorderdict(
order_id = "oid_123456"
order['id'] = order_id
mocker.patch(f'{EXMS}.get_trades_for_order', return_value=trades_for_order)
mocker.patch('freqtrade.freqtradebot.FreqtradeBot._notify_enter')
# fetch_order should not be called!!
mocker.patch(f'{EXMS}.fetch_order', MagicMock(side_effect=ValueError))
patch_exchange(mocker)
@@ -2352,6 +2355,7 @@ def test_update_trade_state_exception(mocker, default_conf_usdt, is_short, limit
order = limit_order[entry_side(is_short)]
freqtrade = get_patched_freqtradebot(mocker, default_conf_usdt)
mocker.patch(f'{EXMS}.fetch_order', return_value=order)
mocker.patch('freqtrade.freqtradebot.FreqtradeBot._notify_enter')
# TODO: should not be magicmock
trade = MagicMock()