def list_available_pairs(timeframe: Optional[str] = None, stake_currency: Optional[str] = None, config=Depends(get_config)): dh = get_datahandler(config['datadir'], config.get('dataformat_ohlcv', None)) pair_interval = dh.ohlcv_get_available_data(config['datadir']) if timeframe: pair_interval = [ pair for pair in pair_interval if pair[1] == timeframe ] if stake_currency: pair_interval = [ pair for pair in pair_interval if pair[0].endswith(stake_currency) ] pair_interval = sorted(pair_interval, key=lambda x: x[0]) pairs = list({x[0] for x in pair_interval}) result = { 'length': len(pairs), 'pairs': pairs, 'pair_interval': pair_interval, } return result
def list_available_pairs(timeframe: Optional[str] = None, stake_currency: Optional[str] = None, candletype: Optional[CandleType] = None, config=Depends(get_config)): dh = get_datahandler(config['datadir'], config.get('dataformat_ohlcv', None)) trading_mode: TradingMode = config.get('trading_mode', TradingMode.SPOT) pair_interval = dh.ohlcv_get_available_data(config['datadir'], trading_mode) if timeframe: pair_interval = [ pair for pair in pair_interval if pair[1] == timeframe ] if stake_currency: pair_interval = [ pair for pair in pair_interval if pair[0].endswith(stake_currency) ] if candletype: pair_interval = [ pair for pair in pair_interval if pair[2] == candletype ] else: candle_type = CandleType.get_default(trading_mode) pair_interval = [ pair for pair in pair_interval if pair[2] == candle_type ] pair_interval = sorted(pair_interval, key=lambda x: x[0]) pairs = list({x[0] for x in pair_interval}) pairs.sort() result = { 'length': len(pairs), 'pairs': pairs, 'pair_interval': pair_interval, } return result
def _list_available_pairs(self): """ Handler for /available_pairs. Returns an object, with pairs, available pair length and pair_interval combinations Takes the following get arguments: get: parameters: - stake_currency: Filter on this stake currency - timeframe: Timeframe to get data for Filter elements to this timeframe """ timeframe = request.args.get("timeframe") stake_currency = request.args.get("stake_currency") from freqtrade.data.history import get_datahandler dh = get_datahandler(self._config['datadir'], self._config.get('dataformat_ohlcv', None)) pair_interval = dh.ohlcv_get_available_data(self._config['datadir']) if timeframe: pair_interval = [ pair for pair in pair_interval if pair[1] == timeframe ] if stake_currency: pair_interval = [ pair for pair in pair_interval if pair[0].endswith(stake_currency) ] pair_interval = sorted(pair_interval, key=lambda x: x[0]) pairs = list({x[0] for x in pair_interval}) result = { 'length': len(pairs), 'pairs': pairs, 'pair_interval': pair_interval, } return jsonify(result)