Detailed configuration parameters reference
This reference provides detailed explanations of all configuration parameters used in the auto-trading system.
The system uses JSON configuration files with environment variable substitution:
config/
directory with .json
extension.env
file substituted at runtime.env
file)BINANCE_API_KEY=your_api_key_here
BINANCE_API_SECRET=your_secret_key_here
WEB_USERNAME=admin
WEB_PASSWORD=your_secure_password
WEB_PORT=8101
DATA_DIR=/path/to/your/trading-data
TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrSTUVwxyz
TELEGRAM_CHAT_ID=123456789
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": {...}
}
{
"max_open_trades": 5,
"stake_amount": "unlimited",
"tradable_balance_ratio": 0.99
}
max_open_trades
stake_amount
20
(invest $20 per trade)"5%"
(5% of available balance per trade)"unlimited"
(divide balance by max_open_trades)tradable_balance_ratio
0.99
means 99% of balance can be used, 1% kept as reserve{
"stake_currency": "USDT",
"fiat_display_currency": "USD"
}
stake_currency
fiat_display_currency
{
"timeframe": "5m",
"dry_run": true,
"cancel_open_orders_on_exit": false
}
timeframe
dry_run
true
for testing{
"stoploss": -0.1,
"trailing_stop": false,
"trailing_stop_positive": 0.01,
"trailing_stop_positive_offset": 0.02,
"trailing_only_offset_is_reached": false
}
stoploss
-0.05
= 5% stop loss-0.99
= 99% stop loss (effectively disabled)-0.99
to rely on internal logictrailing_stop
minimal_roi
{
"minimal_roi": {
"0": 0.05, // 5% profit immediately
"30": 0.025, // 2.5% profit after 30 minutes
"60": 0.01, // 1% profit after 1 hour
"120": 0 // Break even after 2 hours
}
}
{
"position_adjustment_enable": true,
"max_entry_position_adjustment": 3
}
position_adjustment_enable
{
"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": [...]
}
}
{
"pair_whitelist": [
"BTC/USDT",
"ETH/USDT",
"BNB/USDT"
],
"pair_blacklist": [
"BNB/BTC"
]
}
pair_whitelist
pair_blacklist
{
"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
}
]
}
{
"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"
}
}
}
{
"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}"
}
}
{
"internals": {
"process_throttle_secs": 5,
"heartbeat_interval": 60
}
}
{
"stoploss": -0.99,
"minimal_roi": {},
"trailing_stop": false,
"position_adjustment_enable": true,
"use_custom_stoploss": true,
"max_open_trades": 5
}
{
"stoploss": -0.1,
"minimal_roi": {
"0": 0.05,
"30": 0.025,
"60": 0.01,
"120": 0
},
"timeframe": "5m",
"max_open_trades": 3
}
# 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
Always test new configurations in dry-run mode:
"dry_run": true
in template# Test configuration with backtesting
docker run --rm -v "$(pwd):/freqtrade" \
freqtradeorg/freqtrade:latest \
backtesting --config config/your-config.json \
--strategy YourStrategy \
--timerange 20230101-20230201
// 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
}
# Check if variables are set
echo $BINANCE_API_KEY
# Verify .env file loading
docker run --rm --env-file .env alpine env | grep BINANCE
# JSON syntax validation
cat config/your-config.json | jq .
# Freqtrade configuration validation
./docker-launch.sh YourStrategy --dry-run
chmod 600 .env
)