Settings Panel Guide¶
The ArBot Settings Panel provides comprehensive configuration options for all aspects of the trading bot. This guide covers every setting and how to optimize them for your trading strategy.
Accessing Settings¶
From GUI: 1. Click the "Settings" button in the main toolbar 2. Use keyboard shortcut Ctrl+, (Ctrl+Comma) 3. Settings window opens with tabbed interface
Settings Window Layout: - Tabbed Interface: Navigate between different configuration categories - Scrollable Panels: All panels support scrolling for long lists of options - Real-time Validation: Settings are validated as you type - Save/Cancel: Apply changes or revert to previous values
Trading Tab¶
Core arbitrage and trading configuration.
Basic Trading Settings¶
Trading Mode¶
- Simulation: Paper trading with live data - Live: Real trading with actual funds - Recommendation: Always test in simulation firstTrade Amount¶
- Purpose: Standard size for each arbitrage trade - Impact: Larger amounts = higher profits but more risk - Recommendation: Start with 50-100 USDMin Profit Threshold¶
- Purpose: Minimum profit percentage to trigger trade - Impact: Lower = more opportunities, higher = better quality - Recommendation: 0.3-0.8% for active trading, 1.0%+ for conservativeAdvanced Settings¶
Max Position Size¶
- Purpose: Maximum USD amount per single trade - Risk Control: Prevents over-exposure on large opportunities - Recommendation: 5-10x your typical trade amountSlippage Tolerance¶
- Purpose: Expected price movement during execution - Market Impact: Higher in volatile markets - Recommendation: 0.05-0.15% for stable pairs, 0.2-0.5% for volatileMax Spread Age¶
- Purpose: Maximum age of price data for arbitrage calculation - Freshness: Ensures prices are recent - Recommendation: 2-5 seconds for active marketsMax Trades Per Hour¶
- Purpose: Rate limiting to prevent overtrading - Risk Management: Controls frequency of execution - Recommendation: 20-50 for conservative, 50-100 for aggressiveMax Spread Threshold¶
- Purpose: Filter out unrealistic spreads (likely errors) - Anomaly Detection: Prevents trading on bad data - Recommendation: 100-300% depending on market volatilitySymbol Management¶
Max Symbols to Monitor¶
- Performance: More symbols = more CPU/memory usage - Opportunities: More symbols = more chances for arbitrage - Recommendation: 50-100 for most systems, 200+ for powerful hardwareDynamic Symbol Selection¶
- When Enabled: Bot selects high-volume pairs automatically - When Disabled: Uses manually configured symbol list - Recommendation: Keep enabled for best opportunitiesMoving Average Settings¶
- Purpose: Time window for trend calculation - Responsiveness: Lower = more reactive, higher = smoother - Recommendation: 15-30s for active trading, 60s+ for stable trendsQuote Currency Filtering¶
Control which quote currencies to monitor:
Recommendations by Strategy: - Stable Trading: USDT, USDC only - Diversified: USDT, USDC, BUSD - All Markets: Enable all options
Premium Detection¶
Statistical analysis of exchange pricing patterns:
Parameters: - Lookback Periods: Historical data points to analyze - Min Samples: Minimum data required for analysis - Outlier Threshold: Standard deviations for outlier detection
Exchanges Tab¶
Configure exchange connections and regional settings.
Exchange Configuration¶
Each exchange has individual settings:
┌─ Binance ────────────────────────┐
│ ☑ Enabled │
│ ☑ Arbitrage Enabled │
│ Region: [Global ▼] │
│ Premium Baseline: [0.0] │
└──────────────────────────────────┘
Enable/Disable Exchanges¶
- Enabled: Connect to exchange for data
- Arbitrage Enabled: Include in arbitrage calculations
- Recommendation: Enable at least 2 exchanges for arbitrage
Regional Settings¶
- Global: Standard international access
- US: US-specific endpoints (where available)
- Impact: May affect available trading pairs
Premium Baseline¶
- Purpose: Expected premium/discount for this exchange
- Usage: Adjusts arbitrage calculations
- Default: 0.0 (no expected premium)
API Configuration¶
API keys are configured through environment variables:
API Permissions Required: - Read Market Data: For price feeds - Trade: For order execution (live mode only)
Risk Management Tab¶
Protect your capital with comprehensive risk controls.
Drawdown Protection¶
- Purpose: Stop trading if losses exceed this percentage - Calculation: Based on peak portfolio value - Recommendation: 3-10% depending on risk tolerancePosition Risk¶
- Purpose: Maximum loss per individual trade - Application: Automatic position closure - Recommendation: 1-3% for conservative, 3-5% for aggressivePosition Sizing¶
- Fixed: Use configured trade amount - Kelly: Size based on Kelly Criterion (advanced) - Recommendation: Start with Fixed sizingConcurrent Trades¶
- Purpose: Limit simultaneous open positions - Risk Control: Prevents overexposure - Recommendation: 2-5 for most strategiesBalance Protection¶
- Purpose: Stop trading if balance falls below threshold - Safety Net: Preserves minimum funds - Recommendation: 10-20% of starting balanceDatabase Tab¶
Configure data storage and management.
Database Configuration¶
Database Path¶
- Purpose: Location of SQLite database file
- Recommendation: Keep in data/ directory
- Backup: Regular backups recommended
Backup Settings¶
- Backup Interval: How often to backup database
- Max History: How long to keep historical data
- Storage Impact: Longer history = larger database
Data Management¶
Automatic Cleanup: - Old ticker data removed based on max_history_days - Trade records preserved indefinitely - Performance metrics kept for analysis
Backtest Tab¶
Configure historical testing parameters.
Date Range¶
- Format: ISO date format (YYYY-MM-DD) - Range: Based on available data - Recommendation: At least 1-3 months for meaningful resultsInitial Conditions¶
- Purpose: Starting portfolio value for backtest - Scaling: Results scale proportionally - Recommendation: Use realistic starting amountData Source¶
- Database: Use ArBot's historical data - CSV: Import external data files - Format: Standard OHLCV format for CSVGeneral Tab¶
UI and system preferences.
Interface Settings¶
- Purpose: How often GUI updates - Performance: Lower = more responsive, higher = less CPU - Recommendation: 300-1000ms for most systemsLogging¶
- DEBUG: Detailed system information - INFO: Normal operation events- WARNING: Potential issues - ERROR: Critical problems only
Notifications¶
- System Notifications: Desktop alerts for important events - Recommendations: Enable for monitoring alertsTheme¶
- Dark: Professional dark theme (default) - Light: High contrast light themeRegional Tab¶
Configure regional premium tracking.
Regional Premium Settings¶
Track premiums for specific geographic regions:
┌─ Korea (Kimchi Premium) ─────────┐
│ Exchanges: [upbit, bithumb] │
│ Typical Premium: [2.5%] │
│ ☐ Enable Premium Tracking │
└──────────────────────────────────┘
Use Cases: - Research geographic arbitrage opportunities - Filter out regional premium effects - Academic analysis of market efficiency
Settings Optimization¶
Conservative Strategy Settings¶
Risk-Averse Configuration:
{
"min_profit_threshold": 1.0,
"max_position_size": 500.0,
"max_concurrent_trades": 2,
"max_drawdown_percent": 3.0,
"stop_loss_percent": 1.5,
"use_trend_filter": true
}
Aggressive Strategy Settings¶
High-Frequency Configuration:
{
"min_profit_threshold": 0.3,
"max_symbols": 300,
"max_spread_age_seconds": 2.0,
"refresh_rate_ms": 200,
"max_trades_per_hour": 100
}
Balanced Strategy Settings¶
Moderate Risk Configuration:
{
"min_profit_threshold": 0.5,
"max_position_size": 1000.0,
"max_concurrent_trades": 3,
"max_drawdown_percent": 5.0,
"stop_loss_percent": 2.0
}
Common Configuration Patterns¶
Market Condition Adaptations¶
High Volatility Markets: - Increase slippage tolerance (0.3-0.5%) - Reduce max spread age (2-3 seconds) - Lower position sizes - Stricter risk controls
Low Volatility Markets: - Decrease profit threshold (0.2-0.4%) - Increase max symbols (200+) - Longer spread age tolerance (5-10 seconds) - Higher position sizes
Trending Markets: - Enable trend filtering - Adjust trend confirmation threshold - Use appropriate trend filter mode - Monitor moving average periods
Troubleshooting Settings¶
Performance Issues¶
High CPU Usage: - Reduce max_symbols (50-100) - Increase refresh_rate_ms (1000+) - Disable unnecessary exchanges
Memory Issues: - Reduce moving_average_periods (15-20) - Lower max_history_days (7-14) - Limit max_symbols (50)
Trading Issues¶
No Opportunities Found: - Lower min_profit_threshold - Increase max_symbols - Check exchange connectivity - Verify quote currency settings
Too Many False Signals: - Increase min_profit_threshold - Enable premium detection - Use trend filtering - Stricter risk parameters
Settings Backup
Export your optimized settings and keep backups. Settings that work well in certain market conditions may need adjustment when markets change.
Live Trading Caution
Always test new settings thoroughly in simulation mode before applying them to live trading. Small changes can have significant impacts on performance and risk.
Created: July 12, 2025