Dashboard Overview
The XAUUSD Trading Bot dashboard provides a comprehensive interface for market analysis and trade signal generation. Built with Streamlit, it offers real-time data visualization and AI-powered insights.The dashboard uses a wide layout optimized for viewing multi-timeframe analysis side-by-side.
Interface Layout
The dashboard is organized into three main sections:Control Panel (Sidebar)
The sidebar contains all controls for bot operation.Run New Analysis Button
Location:app.py:57
- Fetches XAUUSD data from MetaTrader 5 across 6 timeframes
- Calculates technical indicators (RSI, EMA, ATR)
- Sends data to Groq LLM for AI analysis
- Generates trading signals
- Updates dashboard with results
- On first launch
- When you want fresh market analysis
- Before making trading decisions
- After significant market events
Analysis typically takes 10-30 seconds depending on your internet connection and Groq API response time.
Auto Refresh Toggle
Location:app.py:55
- Visual progress bar showing time until next refresh
- Countdown timer (MM:SS format)
- Automatic re-analysis without manual intervention
Monitor Progress
A progress bar appears showing:The bar fills over 30 minutes, then automatically triggers new analysis.
app.py:97-115):
Current Spread Metric
Location:app.py:71-72
- Lower spreads = better entry conditions
- High spreads = avoid trading (increased cost)
- Typical XAUUSD spread: 20-50 points
Last Update Timestamp
Location:app.py:92
YYYY-MM-DD HH:MM:SS
Example: 2026-03-03 14:32:15
Main Content Tabs
The dashboard uses a tabbed interface for organized data presentation. Location:app.py:65
Tab 1: π Analysis
Displays comprehensive technical analysis and market data.Technical Analysis Section
Location:app.py:76-77
- RSI (Relative Strength Index) values
- EMA (Exponential Moving Average) trends
- ATR (Average True Range) volatility
- Market structure (bullish/bearish)
- Key support and resistance levels
Market Data by Timeframe
Location:app.py:79-84
- D1 (Daily) - Long-term trend
- H4 (4-Hour) - Swing trading context
- H1 (1-Hour) - Intraday direction
- M30 (30-Minute) - Entry timing
- M15 (15-Minute) - Precise entries
- M5 (5-Minute) - Scalping reference
app.py:12-18):
- OHLC data (Open, High, Low, Close)
- Volume
- Technical indicator values
- Price patterns
Click on any timeframe expander to view detailed market data. All expanders are collapsed by default for clean presentation.
Tab 2: π― Trading Signal
Displays AI-generated trading recommendations. Location:app.py:86-89
- Trade direction (BUY/SELL)
- Entry price
- Stop-loss level
- Take-profit target(s)
- Risk-reward ratio
- Position sizing (based on 1% risk)
- Trade reasoning/confluence factors
app.py:20-24):
Custom Styling
The dashboard uses custom CSS for enhanced visuals. Location:app.py:28-47
- Dark theme optimized for trading
- Rounded corners on UI elements
- Consistent color scheme
- Professional appearance
Session State Management
The dashboard maintains state across interactions:- Results persist when toggling tabs
- Auto-refresh timer maintains state
- No data loss on interaction
No Analysis State
Location:app.py:94
Error Handling
Location:app.py:117-118
Workflow Example
Initial Setup
- Ensure MT5 is running and logged in
- Verify Groq API key is configured
- Dashboard shows βNo analysis results yetβ warning
Run First Analysis
Click π Run New Analysis button
- Spinner shows βAnalyzing market dataβ¦β
- Wait 10-30 seconds for completion
Review Technical Analysis
In π Analysis tab:
- Read AI technical analysis summary
- Expand timeframe data to see details
- Check multiple timeframes for confluence
Check Trading Signal
Switch to π― Trading Signal tab:
- Review trade direction and entry
- Note stop-loss and take-profit levels
- Assess risk-reward ratio
Monitor Spread
Check Current Spread in sidebar:
- Low spread = good entry timing
- High spread = wait for better conditions
Tips and Best Practices
Optimal Dashboard Usage
Optimal Dashboard Usage
- Run new analysis during active market hours (London/New York sessions)
- Check multiple timeframe confluence before trading
- Use auto-refresh for swing trading (30-min updates sufficient)
- Disable auto-refresh if actively scalping (run manual analysis as needed)
- Keep MT5 running continuously for uninterrupted data
Performance Optimization
Performance Optimization
- Close unused browser tabs to reduce resource usage
- Clear browser cache if dashboard becomes slow
- Restart Streamlit periodically for long-running sessions
- Monitor memory usage if running 24/7
Data Interpretation
Data Interpretation
- Higher timeframes (D1, H4) = overall trend
- Lower timeframes (M15, M5) = precise entry timing
- Look for alignment across timeframes (confluence)
- RSI > 70 = overbought, RSI < 30 = oversold
- ATR indicates volatility (higher = larger stop-loss needed)
Next Steps
- Learn to interpret trading signals
- Explore advanced signal analysis
- Understand risk management protocols