Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
    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)