“Decoding Freqtrade: A Comprehensive Guide to Key Configuration Parameters of “config.json” for Beginners”

Let’s break down the provided config.json file with explanations for each parameter:

  1. max_open_trades: 3
    • Explanation: Limits the maximum number of open trades to 3. The bot won’t open more than this number of concurrent trades.
  2. stake_currency: “USDT”
    • Explanation: Sets the currency used for trading as USDT (Tether). All profits and losses will be calculated in terms of USDT.
  3. stake_amount: “unlimited”
    • Explanation: Allows for an unlimited amount to be used as stake currency for trading. This means the entire available balance in USDT can be used for trading.
  4. tradable_balance_ratio: 0.99
    • Explanation: This parameter sets the ratio of the tradable balance to use for trading. In this case, 99% of the tradable balance will be used for trading.
  5. fiat_display_currency: “USD”
    • Explanation: Sets the display currency for showing values in the bot’s interface. Prices, profits, and losses will be displayed in terms of USD.
  6. dry_run: true
    • Explanation: Enables “dry-run” mode, simulating trades without actually executing them. Useful for testing strategies without risking real funds.
  7. dry_run_wallet: 1000
    • Explanation: Specifies the initial balance of the simulated wallet in dry-run mode. In this case, it starts with a balance of 1000 USDT.
  8. cancel_open_orders_on_exit: false
    • Explanation: If set to true, it would cancel any open orders when the bot is stopped. Here, it’s set to false, meaning open orders are not canceled on bot exit.
  9. trading_mode: “spot”
    • Explanation: Specifies the trading mode as “spot.” It indicates that the bot is trading in the traditional spot market rather than a margin or futures market.
  10. margin_mode: “”
    • Explanation: This parameter is empty, indicating that the bot is not set to operate in margin trading mode.
  11. unfilledtimeout:
    • Explanation: Specifies the timeout for unfilled orders.
      • entry: 10 minutes – If an entry order is not filled within 10 minutes, it will be canceled.
      • exit: 10 minutes – If an exit order is not filled within 10 minutes, it will be canceled.
      • exit_timeout_count: 0 – The number of times to tolerate unfilled exit orders.
  12. entry_pricing:
    • Explanation: Configures parameters related to entry pricing.
      • price_side: “same” – Entry order price will be on the same side as the last trade.
      • use_order_book: true – Utilizes the order book data for pricing.
      • order_book_top: 1 – Considers the top order from the order book.
      • price_last_balance: 0.0 – Overrides the last trade’s closing price with a fixed value if set.
  13. exit_pricing:
    • Explanation: Configures parameters related to exit pricing, similar to entry pricing.
  14. exchange:
    • Explanation: Contains details about the exchange the bot will trade on.
      • name: “bybit” – Specifies the exchange as Bybit.
      • key, secret: API key and secret for authentication (empty in this example for security).
      • pair_whitelist, pair_blacklist: Lists of trading pairs to include or exclude.
  15. pairlists:
    • Explanation: Configures a pairlist for dynamic pair selection.
      • method: “StaticPairList” – Uses a static list of pairs.
      • number_assets: 20 – Specifies the number of assets to include.
      • sort_key: “quoteVolume” – Sorts the pairs based on quote volume.
      • min_value: 0 – Filters out pairs with a quote volume less than 0.
      • refresh_period: 1800 – Refreshes the pairlist every 1800 seconds (30 minutes).
  16. telegram:
    • Explanation: Configures Telegram integration for notifications.
      • enabled: false – Telegram integration is disabled.
      • token, chat_id: API token and chat ID for Telegram (empty for security).
  17. api_server:
    • Explanation: Configures an API server for external communication.
      • enabled: false – API server is disabled.
      • listen_ip_address, listen_port: IP address and port for the API server.
      • enable_openapi: false – OpenAPI (Swagger) documentation is disabled.
      • jwt_secret_key: JWT secret key for authentication (empty for security).
      • ws_token: WebSocket token for authentication.
      • CORS_origins: List of allowed CORS origins.
      • username, password: Optional username and password for basic authentication.
  18. bot_name: “freqtrade”
    • Explanation: Sets the name of the bot to “freqtrade.”
  19. initial_state: “running”
    • Explanation: Specifies the initial state of the bot as “running.”
  20. heartbeat_interval: 5
    • Explanation: Sets the interval (in seconds) at which the bot sends a heartbeat signal.
  21. force_entry_enable: false
    • Explanation: If set to true, allows forcing an entry even if the conditions are not met.
  22. internals:
    • Explanation: Configures internal parameters.
      • process_throttle_secs: 5 – Throttles internal processes to run at most every 5 seconds.
  23. These explanations should help beginners understand the purpose of each parameter in the provided config.json file for Freqtrade. Always refer to the official documentation for the latest and most accurate information.