Configuration Reference

Detailed configuration parameters reference

Configuration Reference

This reference provides detailed explanations of all configuration parameters used in the auto-trading system.

Configuration Overview

The system uses JSON configuration files with environment variable substitution:

Environment Variables (.env file)

Required Variables

Binance API Configuration

BINANCE_API_KEY=your_api_key_here
BINANCE_API_SECRET=your_secret_key_here

Web Interface Access

WEB_USERNAME=admin
WEB_PASSWORD=your_secure_password
WEB_PORT=8101

Data Storage

DATA_DIR=/path/to/your/trading-data

Optional Variables

Telegram Notifications

TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrSTUVwxyz
TELEGRAM_CHAT_ID=123456789

Configuration Template Structure

Basic Template Sections

Every configuration template contains these main sections:

{
  "max_open_trades": 5,
  "stake_currency": "USDT", 
  "stake_amount": "unlimited",
  "tradable_balance_ratio": 0.99,
  "fiat_display_currency": "USD",
  "timeframe": "5m",
  "dry_run": true,
  "cancel_open_orders_on_exit": false,
  
  "bid_strategy": {...},
  "ask_strategy": {...}, 
  "exchange": {...},
  "pairlists": [...],
  "telegram": {...},
  "api_server": {...},
  "internals": {...}
}

Trading Parameters

Position Management

{
  "max_open_trades": 5,
  "stake_amount": "unlimited",
  "tradable_balance_ratio": 0.99
}

max_open_trades

stake_amount

tradable_balance_ratio

Currency Settings

{
  "stake_currency": "USDT",
  "fiat_display_currency": "USD"
}

stake_currency

fiat_display_currency

Timeframe and Execution

{
  "timeframe": "5m",
  "dry_run": true,
  "cancel_open_orders_on_exit": false
}

timeframe

dry_run

Risk Management

Stop Loss and Take Profit

{
  "stoploss": -0.1,
  "trailing_stop": false,
  "trailing_stop_positive": 0.01,
  "trailing_stop_positive_offset": 0.02,
  "trailing_only_offset_is_reached": false
}

stoploss

trailing_stop

minimal_roi

Position Adjustments

{
  "position_adjustment_enable": true,
  "max_entry_position_adjustment": 3
}

position_adjustment_enable

Exchange Configuration

Basic Exchange Settings

{
  "exchange": {
    "name": "binance",
    "key": "${BINANCE_API_KEY}",
    "secret": "${BINANCE_API_SECRET}",
    "ccxt_config": {
      "enableRateLimit": false,
      "urls": {
        "api": "http://binance-proxy:8100/binance"
      }
    },
    "pair_whitelist": [...],
    "pair_blacklist": [...]
  }
}

API Authentication

Trading Pairs

{
  "pair_whitelist": [
    "BTC/USDT",
    "ETH/USDT", 
    "BNB/USDT"
  ],
  "pair_blacklist": [
    "BNB/BTC"
  ]
}

pair_whitelist

pair_blacklist

Advanced Configuration

Pair List Filters

{
  "pairlists": [
    {
      "method": "StaticPairList"
    },
    {
      "method": "VolumePairList", 
      "number_assets": 20,
      "sort_key": "quoteVolume"
    },
    {
      "method": "RangeStabilityFilter",
      "lookback_days": 10,
      "min_rate_of_change": 0.02,
      "max_rate_of_change": 0.75
    }
  ]
}

Available Methods

Telegram Configuration

{
  "telegram": {
    "enabled": true,
    "token": "${TELEGRAM_BOT_TOKEN}",
    "chat_id": "${TELEGRAM_CHAT_ID}",
    "notification_settings": {
      "status": "on",
      "warning": "on",
      "startup": "on", 
      "buy": "on",
      "sell": "on",
      "buy_cancel": "on",
      "sell_cancel": "on"
    }
  }
}

Notification Types

Web API Server

{
  "api_server": {
    "enabled": true,
    "listen_ip_address": "0.0.0.0",
    "listen_port": 8101,
    "verbosity": "error",
    "enable_openapi": false,
    "jwt_secret_key": "generated_secret",
    "CORS_origins": [],
    "username": "${WEB_USERNAME}",
    "password": "${WEB_PASSWORD}"
  }
}

Security Settings

Internal Settings

{
  "internals": {
    "process_throttle_secs": 5,
    "heartbeat_interval": 60
  }
}

Performance Tuning

Strategy-Specific Configurations

NFI Configuration

{
  "stoploss": -0.99,
  "minimal_roi": {},
  "trailing_stop": false,
  "position_adjustment_enable": true,
  "use_custom_stoploss": true,
  "max_open_trades": 5
}

ReinforcedQuickie Configuration

{
  "stoploss": -0.1,
  "minimal_roi": {
    "0": 0.05,
    "30": 0.025, 
    "60": 0.01,
    "120": 0
  },
  "timeframe": "5m",
  "max_open_trades": 3
}

Validation and Testing

Configuration Validation

# Test configuration syntax
docker run --rm -v "$(pwd)/config:/config" \
  freqtradeorg/freqtrade:latest \
  config validate --config /config/your-config.json

# Test strategy loading
docker run --rm -v "$(pwd):/freqtrade" \
  freqtradeorg/freqtrade:latest \
  list-strategies --config config/your-config.json

Dry-Run Testing

Always test new configurations in dry-run mode:

  1. Set "dry_run": true in template
  2. Launch bot with new configuration
  3. Monitor for 24-48 hours minimum
  4. Analyze simulated performance before going live

Backtesting Validation

# Test configuration with backtesting
docker run --rm -v "$(pwd):/freqtrade" \
  freqtradeorg/freqtrade:latest \
  backtesting --config config/your-config.json \
  --strategy YourStrategy \
  --timerange 20230101-20230201

Common Configuration Patterns

Conservative Setup

Aggressive Setup

Multi-Strategy Setup

Troubleshooting Configuration

Common Errors

// Invalid JSON syntax
{
  "max_open_trades": 5,  // Missing comma
  "stake_currency": "USDT"
  "dry_run": true
}

// Correct syntax
{
  "max_open_trades": 5,
  "stake_currency": "USDT",
  "dry_run": true
}

Environment Variable Issues

# Check if variables are set
echo $BINANCE_API_KEY

# Verify .env file loading
docker run --rm --env-file .env alpine env | grep BINANCE

Validation Tools

# JSON syntax validation
cat config/your-config.json | jq .

# Freqtrade configuration validation
./docker-launch.sh YourStrategy --dry-run

Security Best Practices

API Key Protection

Configuration Security

Next Steps