parent
406c1267a2
commit
4005708f85
@ -81,10 +81,15 @@ class Edge:
|
|||||||
if config.get('fee'):
|
if config.get('fee'):
|
||||||
self.fee = config['fee']
|
self.fee = config['fee']
|
||||||
else:
|
else:
|
||||||
self.fee = self.exchange.get_fee(symbol=expand_pairlist(
|
try:
|
||||||
self.config['exchange']['pair_whitelist'], list(self.exchange.markets))[0])
|
self.fee = self.exchange.get_fee(symbol=expand_pairlist(
|
||||||
|
self.config['exchange']['pair_whitelist'], list(self.exchange.markets))[0])
|
||||||
|
except IndexError:
|
||||||
|
self.fee = None
|
||||||
|
|
||||||
def calculate(self, pairs: List[str]) -> bool:
|
def calculate(self, pairs: List[str]) -> bool:
|
||||||
|
if self.fee is None and pairs:
|
||||||
|
self.fee = self.exchange.get_fee(pairs[0])
|
||||||
|
|
||||||
heartbeat = self.edge_config.get('process_throttle_secs')
|
heartbeat = self.edge_config.get('process_throttle_secs')
|
||||||
|
|
||||||
|
@ -330,11 +330,11 @@ def test_edge_process_no_data(mocker, edge_conf, caplog):
|
|||||||
|
|
||||||
def test_edge_process_no_trades(mocker, edge_conf, caplog):
|
def test_edge_process_no_trades(mocker, edge_conf, caplog):
|
||||||
freqtrade = get_patched_freqtradebot(mocker, edge_conf)
|
freqtrade = get_patched_freqtradebot(mocker, edge_conf)
|
||||||
mocker.patch('freqtrade.exchange.Exchange.get_fee', MagicMock(return_value=0.001))
|
mocker.patch('freqtrade.exchange.Exchange.get_fee', return_value=0.001)
|
||||||
mocker.patch('freqtrade.edge.edge_positioning.refresh_data', MagicMock())
|
mocker.patch('freqtrade.edge.edge_positioning.refresh_data', )
|
||||||
mocker.patch('freqtrade.edge.edge_positioning.load_data', mocked_load_data)
|
mocker.patch('freqtrade.edge.edge_positioning.load_data', mocked_load_data)
|
||||||
# Return empty
|
# Return empty
|
||||||
mocker.patch('freqtrade.edge.Edge._find_trades_for_stoploss_range', MagicMock(return_value=[]))
|
mocker.patch('freqtrade.edge.Edge._find_trades_for_stoploss_range', return_value=[])
|
||||||
edge = Edge(edge_conf, freqtrade.exchange, freqtrade.strategy)
|
edge = Edge(edge_conf, freqtrade.exchange, freqtrade.strategy)
|
||||||
|
|
||||||
assert not edge.calculate(edge_conf['exchange']['pair_whitelist'])
|
assert not edge.calculate(edge_conf['exchange']['pair_whitelist'])
|
||||||
@ -342,6 +342,23 @@ def test_edge_process_no_trades(mocker, edge_conf, caplog):
|
|||||||
assert log_has("No trades found.", caplog)
|
assert log_has("No trades found.", caplog)
|
||||||
|
|
||||||
|
|
||||||
|
def test_edge_process_no_pairs(mocker, edge_conf, caplog):
|
||||||
|
edge_conf['exchange']['pair_whitelist'] = []
|
||||||
|
freqtrade = get_patched_freqtradebot(mocker, edge_conf)
|
||||||
|
fee_mock = mocker.patch('freqtrade.exchange.Exchange.get_fee', return_value=0.001)
|
||||||
|
mocker.patch('freqtrade.edge.edge_positioning.refresh_data')
|
||||||
|
mocker.patch('freqtrade.edge.edge_positioning.load_data', mocked_load_data)
|
||||||
|
# Return empty
|
||||||
|
mocker.patch('freqtrade.edge.Edge._find_trades_for_stoploss_range', return_value=[])
|
||||||
|
edge = Edge(edge_conf, freqtrade.exchange, freqtrade.strategy)
|
||||||
|
assert fee_mock.call_count == 0
|
||||||
|
assert edge.fee is None
|
||||||
|
|
||||||
|
assert not edge.calculate(['XRP/USDT'])
|
||||||
|
assert fee_mock.call_count == 1
|
||||||
|
assert edge.fee == 0.001
|
||||||
|
|
||||||
|
|
||||||
def test_edge_init_error(mocker, edge_conf,):
|
def test_edge_init_error(mocker, edge_conf,):
|
||||||
edge_conf['stake_amount'] = 0.5
|
edge_conf['stake_amount'] = 0.5
|
||||||
mocker.patch('freqtrade.exchange.Exchange.get_fee', MagicMock(return_value=0.001))
|
mocker.patch('freqtrade.exchange.Exchange.get_fee', MagicMock(return_value=0.001))
|
||||||
|
Loading…
Reference in New Issue
Block a user