Mock fee during testing to 0.0025

This commit is contained in:
enenn 2018-02-04 10:48:10 +01:00
parent d93913b828
commit b6c173e3f4
4 changed files with 32 additions and 4 deletions

View File

@ -280,9 +280,9 @@ def test_get_name(default_conf, mocker):
def test_get_fee(default_conf, mocker):
api_mock = MagicMock()
api_mock.calculate_fee = MagicMock(return_value={'type': 'taker', 'currency': 'BTC', 'rate': 0.001, 'cost': 0.002})
api_mock.calculate_fee = MagicMock(return_value={'type': 'taker', 'currency': 'BTC', 'rate': 0.025, 'cost': 0.05})
mocker.patch('freqtrade.exchange._API', api_mock)
assert get_fee() == 0.001
assert get_fee() == 0.025
# TODO: disable until caching implemented

View File

@ -47,7 +47,9 @@ def test_get_timeframe(default_strategy):
def test_backtest(default_strategy, default_conf, mocker):
mocker.patch.dict('freqtrade.main._CONF', default_conf)
exchange._API = ccxt.binance({'key': '', 'secret': ''})
mocker.patch.multiple('freqtrade.optimize.backtesting.exchange',
get_fee=MagicMock(return_value=0.0025))
exchange._API = ccxt.binance()
data = optimize.load_data(None, ticker_interval=5, pairs=['ETH/BTC'])
data = trim_dictlist(data, -200)
@ -60,7 +62,9 @@ def test_backtest(default_strategy, default_conf, mocker):
def test_backtest_1min_ticker_interval(default_strategy, default_conf, mocker):
mocker.patch.dict('freqtrade.main._CONF', default_conf)
exchange._API = ccxt.binance({'key': '', 'secret': ''})
mocker.patch.multiple('freqtrade.optimize.backtesting.exchange',
get_fee=MagicMock(return_value=0.0025))
exchange._API = ccxt.binance()
# Run a backtesting for an exiting 5min ticker_interval
data = optimize.load_data(None, ticker_interval=1, pairs=['UNITTEST/BTC'])
@ -133,6 +137,8 @@ def simple_backtest(config, contour, num_results):
def test_backtest2(default_conf, mocker, default_strategy):
mocker.patch.dict('freqtrade.main._CONF', default_conf)
mocker.patch.multiple('freqtrade.optimize.backtesting.exchange',
get_fee=MagicMock(return_value=0.0025))
data = optimize.load_data(None, ticker_interval=5, pairs=['ETH/BTC'])
data = trim_dictlist(data, -200)
results = backtest({'stake_amount': default_conf['stake_amount'],
@ -156,6 +162,8 @@ def test_processed(default_conf, mocker, default_strategy):
def test_backtest_pricecontours(default_conf, mocker, default_strategy):
mocker.patch.dict('freqtrade.main._CONF', default_conf)
mocker.patch.multiple('freqtrade.optimize.backtesting.exchange',
get_fee=MagicMock(return_value=0.0025))
tests = [['raise', 17], ['lower', 0], ['sine', 17]]
for [contour, numres] in tests:
simple_backtest(default_conf, contour, numres)

View File

@ -164,6 +164,7 @@ def test_profit_handle(
send_msg=msg_mock)
mocker.patch.multiple('freqtrade.main.exchange',
validate_pairs=MagicMock(),
get_fee=MagicMock(return_value=0.0025),
get_ticker=ticker)
mocker.patch.multiple('freqtrade.fiat_convert.Pymarketcap',
ticker=MagicMock(return_value={'price_usd': 15000.0}),
@ -219,6 +220,7 @@ def test_forcesell_handle(default_conf, update, ticker, ticker_sell_up, mocker):
send_msg=MagicMock())
mocker.patch.multiple('freqtrade.main.exchange',
validate_pairs=MagicMock(),
get_fee=MagicMock(return_value=0.0025),
get_ticker=ticker)
mocker.patch('freqtrade.fiat_convert.CryptoToFiatConverter._find_price', return_value=15000.0)
init(default_conf, create_engine('sqlite://'))
@ -232,6 +234,7 @@ def test_forcesell_handle(default_conf, update, ticker, ticker_sell_up, mocker):
# Increase the price and sell it
mocker.patch.multiple('freqtrade.main.exchange',
validate_pairs=MagicMock(),
get_fee=MagicMock(return_value=0.0025),
get_ticker=ticker_sell_up)
update.message.text = '/forcesell 1'
@ -256,6 +259,7 @@ def test_forcesell_down_handle(default_conf, update, ticker, ticker_sell_down, m
send_msg=MagicMock())
mocker.patch.multiple('freqtrade.main.exchange',
validate_pairs=MagicMock(),
get_fee=MagicMock(return_value=0.0025),
get_ticker=ticker)
mocker.patch('freqtrade.fiat_convert.CryptoToFiatConverter._find_price', return_value=15000.0)
init(default_conf, create_engine('sqlite://'))
@ -266,6 +270,7 @@ def test_forcesell_down_handle(default_conf, update, ticker, ticker_sell_down, m
# Decrease the price and sell it
mocker.patch.multiple('freqtrade.main.exchange',
validate_pairs=MagicMock(),
get_fee=MagicMock(return_value=0.0025),
get_ticker=ticker_sell_down)
trade = Trade.query.first()
@ -317,6 +322,7 @@ def test_forcesell_all_handle(default_conf, update, ticker, mocker):
send_msg=MagicMock())
mocker.patch.multiple('freqtrade.main.exchange',
validate_pairs=MagicMock(),
get_fee=MagicMock(return_value=0.0025),
get_ticker=ticker)
mocker.patch('freqtrade.fiat_convert.CryptoToFiatConverter._find_price', return_value=15000.0)
init(default_conf, create_engine('sqlite://'))
@ -384,6 +390,7 @@ def test_performance_handle(
send_msg=msg_mock)
mocker.patch.multiple('freqtrade.main.exchange',
validate_pairs=MagicMock(),
get_fee=MagicMock(return_value=0.0025),
get_ticker=ticker)
init(default_conf, create_engine('sqlite://'))
@ -417,6 +424,7 @@ def test_daily_handle(default_conf, update, ticker, limit_buy_order, limit_sell_
send_msg=msg_mock)
mocker.patch.multiple('freqtrade.main.exchange',
validate_pairs=MagicMock(),
get_fee=MagicMock(return_value=0.0025),
get_ticker=ticker)
mocker.patch.multiple('freqtrade.fiat_convert.Pymarketcap',
ticker=MagicMock(return_value={'price_usd': 15000.0}),

View File

@ -281,6 +281,7 @@ def test_handle_trade(default_conf, limit_buy_order, limit_sell_order, mocker):
'ask': 0.00001173,
'last': 0.00001172
}),
get_fee=MagicMock(return_value=0.0025),
buy=MagicMock(return_value='mocked_limit_buy'),
sell=MagicMock(return_value='mocked_limit_sell'))
mocker.patch.multiple('freqtrade.fiat_convert.Pymarketcap',
@ -598,6 +599,7 @@ def test_execute_sell_up(default_conf, ticker, ticker_sell_up, mocker):
rpc_mock = mocker.patch('freqtrade.main.rpc.send_msg', MagicMock())
mocker.patch.multiple('freqtrade.main.exchange',
validate_pairs=MagicMock(),
get_fee=MagicMock(return_value=0.0025),
get_ticker=ticker)
mocker.patch('freqtrade.fiat_convert.CryptoToFiatConverter._find_price', return_value=15000.0)
init(default_conf, create_engine('sqlite://'))
@ -611,6 +613,7 @@ def test_execute_sell_up(default_conf, ticker, ticker_sell_up, mocker):
# Increase the price and sell it
mocker.patch.multiple('freqtrade.main.exchange',
validate_pairs=MagicMock(),
get_fee=MagicMock(return_value=0.0025),
get_ticker=ticker_sell_up)
execute_sell(trade=trade, limit=ticker_sell_up()['bid'])
@ -636,6 +639,7 @@ def test_execute_sell_down(default_conf, ticker, ticker_sell_down, mocker):
send_msg=MagicMock())
mocker.patch.multiple('freqtrade.main.exchange',
validate_pairs=MagicMock(),
get_fee=MagicMock(return_value=0.0025),
get_ticker=ticker)
mocker.patch('freqtrade.fiat_convert.CryptoToFiatConverter._find_price', return_value=15000.0)
init(default_conf, create_engine('sqlite://'))
@ -669,6 +673,7 @@ def test_execute_sell_without_conf_sell_down(default_conf, ticker, ticker_sell_d
rpc_mock = mocker.patch('freqtrade.main.rpc.send_msg', MagicMock())
mocker.patch.multiple('freqtrade.main.exchange',
validate_pairs=MagicMock(),
get_fee=MagicMock(return_value=0.0025),
get_ticker=ticker)
init(default_conf, create_engine('sqlite://'))
@ -681,6 +686,7 @@ def test_execute_sell_without_conf_sell_down(default_conf, ticker, ticker_sell_d
# Decrease the price and sell it
mocker.patch.multiple('freqtrade.main.exchange',
validate_pairs=MagicMock(),
get_fee=MagicMock(return_value=0.0025),
get_ticker=ticker_sell_down)
mocker.patch('freqtrade.main._CONF', {})
@ -700,6 +706,7 @@ def test_execute_sell_without_conf_sell_up(default_conf, ticker, ticker_sell_up,
rpc_mock = mocker.patch('freqtrade.main.rpc.send_msg', MagicMock())
mocker.patch.multiple('freqtrade.main.exchange',
validate_pairs=MagicMock(),
get_fee=MagicMock(return_value=0.0025),
get_ticker=ticker)
init(default_conf, create_engine('sqlite://'))
@ -712,6 +719,7 @@ def test_execute_sell_without_conf_sell_up(default_conf, ticker, ticker_sell_up,
# Increase the price and sell it
mocker.patch.multiple('freqtrade.main.exchange',
validate_pairs=MagicMock(),
get_fee=MagicMock(return_value=0.0025),
get_ticker=ticker_sell_up)
mocker.patch('freqtrade.main._CONF', {})
@ -743,6 +751,7 @@ def test_sell_profit_only_enable_profit(default_conf, limit_buy_order, mocker):
'ask': 0.00002173,
'last': 0.00002172
}),
get_fee=MagicMock(return_value=0.0025),
buy=MagicMock(return_value='mocked_limit_buy'))
init(default_conf, create_engine('sqlite://'))
@ -771,6 +780,7 @@ def test_sell_profit_only_disable_profit(default_conf, limit_buy_order, mocker):
'ask': 0.00002173,
'last': 0.00002172
}),
get_fee=MagicMock(return_value=0.0025),
buy=MagicMock(return_value='mocked_limit_buy'))
init(default_conf, create_engine('sqlite://'))
@ -799,6 +809,7 @@ def test_sell_profit_only_enable_loss(default_conf, limit_buy_order, mocker):
'ask': 0.00000173,
'last': 0.00000172
}),
get_fee=MagicMock(return_value=0.0025),
buy=MagicMock(return_value='mocked_limit_buy'))
init(default_conf, create_engine('sqlite://'))
@ -827,6 +838,7 @@ def test_sell_profit_only_disable_loss(default_conf, limit_buy_order, mocker):
'ask': 0.00000173,
'last': 0.00000172
}),
get_fee=MagicMock(return_value=0.0025),
buy=MagicMock(return_value='mocked_limit_buy'))
init(default_conf, create_engine('sqlite://'))