Merge branch 'develop' into stoploss_on_exchange

This commit is contained in:
misagh
2018-11-30 15:13:43 +01:00
14 changed files with 232 additions and 23 deletions

View File

@@ -157,7 +157,12 @@ class Edge():
return position_size
def stoploss(self, pair: str) -> float:
return self._cached_pairs[pair].stoploss
if pair in self._cached_pairs:
return self._cached_pairs[pair].stoploss
else:
logger.warning('tried to access stoploss of a non-existing pair, '
'strategy stoploss is returned instead.')
return self.strategy.stoploss
def adjust(self, pairs) -> list:
"""

View File

@@ -207,7 +207,8 @@ class Exchange(object):
f'Pair {pair} not compatible with stake_currency: {stake_cur}')
if self.markets and pair not in self.markets:
raise OperationalException(
f'Pair {pair} is not available at {self.name}')
f'Pair {pair} is not available at {self.name}'
f'Please remove {pair} from your whitelist.')
def validate_timeframes(self, timeframe: List[str]) -> None:
"""

View File

@@ -657,7 +657,7 @@ class FreqtradeBot(object):
return True
break
else:
logger.info('checking sell')
logger.debug('checking sell')
if self.check_sell(trade, sell_rate, buy, sell):
return True

View File

@@ -152,6 +152,18 @@ def test_stoploss(mocker, default_conf):
assert edge.stoploss('E/F') == -0.01
def test_nonexisting_stoploss(mocker, default_conf):
freqtrade = get_patched_freqtradebot(mocker, default_conf)
edge = Edge(default_conf, freqtrade.exchange, freqtrade.strategy)
mocker.patch('freqtrade.edge.Edge._cached_pairs', mocker.PropertyMock(
return_value={
'E/F': PairInfo(-0.01, 0.66, 3.71, 0.50, 1.71, 10, 60),
}
))
assert edge.stoploss('N/O') == -0.1
def _validate_ohlc(buy_ohlc_sell_matrice):
for index, ohlc in enumerate(buy_ohlc_sell_matrice):
# if not high < open < low or not high < close < low