Freqtrade: Gemini exchange error when downloading data

Created on 27 Dec 2019  路  4Comments  路  Source: freqtrade/freqtrade

Step 1: Have you search for this issue before posting it?

yes

Step 2: Describe your environment

  • Operating system: ubuntu
  • Python Version: 3.7
  • CCXT version: latest
  • Branch: Develop
  • Last Commit ID: freqtrade develop-9987e64e

Step 3: Describe the problem:

Trying to download data to proceed to backtest, then get an str object has no attribute get

Steps to reproduce:

  1. Set exchange to gemini
  2. Set base pair to USD
  3. Set BTC/USD, LTC/USD, BCH/USD and ETH/usd pairs

Observed Results:

  • What happened?
    Get a str object has no atribute get
  • What did you expect to happen?
    Download the data as usual

    Relevant code exceptions or logs:

    2019-12-27 13:07:53,034 - freqtrade.loggers - INFO - Verbosity set to 0
    2019-12-27 13:07:53,035 - freqtrade.configuration.configuration - WARNING - `forcebuy` RPC message enabled.
    2019-12-27 13:07:53,035 - freqtrade.configuration.configuration - INFO - Using user-data directory: /home/dante/freqtrade/user_data ...
    2019-12-27 13:07:53,035 - freqtrade.configuration.configuration - INFO - Using data directory: /home/dante/freqtrade/user_data/data/gemini ...
    2019-12-27 13:07:53,035 - freqtrade.configuration.configuration - INFO - timeframes --timeframes: ['1h', '4h', '12h']
    2019-12-27 13:07:53,035 - freqtrade.configuration.configuration - INFO - Detected --days: 1200
    2019-12-27 13:07:53,035 - freqtrade.configuration.check_exchange - INFO - Checking exchange...
    2019-12-27 13:07:53,035 - freqtrade.configuration.check_exchange - WARNING - Exchange "gemini" is known to the the ccxt library, available for the bot, but not officially supported by the Freqtrade development team. It may work flawlessly (please report back) or have serious issues. Use it at your own discretion.
    2019-12-27 13:07:53,035 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration.
    2019-12-27 13:07:53,035 - freqtrade.configuration.deprecated_settings - WARNING - DEPRECATED: The `experimental.use_sell_signal` setting is deprecated and will be removed in the next versions of Freqtrade. Please use the `ask_strategy.use_sell_signal` setting in your configuration instead.
    2019-12-27 13:07:53,035 - freqtrade.configuration.deprecated_settings - WARNING - DEPRECATED: The `experimental.sell_profit_only` setting is deprecated and will be removed in the next versions of Freqtrade. Please use the `ask_strategy.sell_profit_only` setting in your configuration instead.
    2019-12-27 13:07:53,035 - freqtrade.configuration.deprecated_settings - WARNING - DEPRECATED: The `experimental.ignore_roi_if_buy_signal` setting is deprecated and will be removed in the next versions of Freqtrade. Please use the `ask_strategy.ignore_roi_if_buy_signal` setting in your configuration instead.
    2019-12-27 13:07:53,035 - freqtrade.configuration.deprecated_settings - WARNING - DEPRECATED: Pairlists must be defined explicitly in the future.Defaulting to StaticPairList for now.
    2019-12-27 13:07:53,037 - freqtrade.utils - INFO - About to download pairs: ['BTC/USD', 'LTC/USD', 'BCH/USD', 'ETH/USD'], intervals: ['1h', '4h', '12h'] to /home/dante/freqtrade/user_data/data/gemini
    2019-12-27 13:07:53,037 - freqtrade.resolvers.exchange_resolver - INFO - No Gemini specific subclass found. Using the generic class instead.
    2019-12-27 13:07:53,038 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled
    2019-12-27 13:07:53,038 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True}
    2019-12-27 13:07:53,039 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 1000}
    2019-12-27 13:07:53,041 - freqtrade.exchange.exchange - INFO - Using Exchange "Gemini"
    2019-12-27 13:07:53,928 - freqtrade - ERROR - Fatal exception!
    Traceback (most recent call last):
    File "/home/dante/freqtrade/freqtrade/main.py", line 36, in main
    return_code = args['func'](args)
    File "/home/dante/freqtrade/freqtrade/utils.py", line 201, in start_download_data
    exchange = ExchangeResolver.load_exchange(config['exchange']['name'], config)
    File "/home/dante/freqtrade/freqtrade/resolvers/exchange_resolver.py", line 36, in load_exchange
    exchange = Exchange(config, validate=validate)
    File "/home/dante/freqtrade/freqtrade/exchange/exchange.py", line 119, in __init__
    self.validate_pairs(config['exchange']['pair_whitelist'])
    File "/home/dante/freqtrade/freqtrade/exchange/exchange.py", line 281, in validate_pairs
    elif self.markets[pair].get('info', {}).get('IsRestricted', False):
    AttributeError: 'str' object has no attribute 'get'
    
    
Bug Data download

All 4 comments

Running the following command on the latest develop (same version than you'rs) works fine for me (without having a config.json !).

freqtrade download-data --exchange gemini --pairs BTC/USD LTC/USD BCH/USD ETH/USD -t 1h --days 5

One hint / suggestion when testing or working with multiple exchanges:
always make sure to not have a config.json in your current folder - but pass in a config.json explicitly if needed.

In your case, freqtrade loads config.json (including a pairlist) - and fails while validating the pairlist since gemini returns an unexpected result for markets.

You could fix that by removing pair_whitelist from the configuration ... but it's better to rename config.json - especially since i know that you're working with different exchanges often.

I've fixed that now in #2717 - but fixing the error will then result in errors because coins in config.json's whitelist are not available in the exchange (which is tracked as #2679).

I was using a gemini.json file and not a config.json @xmatthias

@Dante2333
a fix (#2717 ) was merged into the develop branch yesterday, pls update the bot and verify the solution.

@hroff-1902 solution works, thank you.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

King-Techno picture King-Techno  路  3Comments

Dante2333 picture Dante2333  路  3Comments

shusso picture shusso  路  4Comments

macd2 picture macd2  路  4Comments

Andi1990 picture Andi1990  路  4Comments