Live trading optimizations (cumulative: $2,807 net, 81.8% WR, Sharpe 3.97): - #28B: Smart breakeven locks profit at entry + 0.5x ATR instead of fixed $2 - #31B: H1 Price vs EMA20 filter — BUY only when H1 bullish, SELL only when bearish Backtests #26-#32 (7 scripts testing sell improvement, regime-aware entry, confluence scoring, dynamic RR, multi-TF H1, and ML exit optimizer). Winners: #28B (+$229), #31B (+$343). Failed: #26, #27, #29, #30, #32. Also includes: web dashboard redesign, Docker setup, startup scripts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
6.3 KiB
Dashboard Integration with Existing Docker Setup
🎯 Overview
Dashboard dan API telah diintegrasikan ke dalam Docker setup yang sudah ada. Database PostgreSQL yang sudah running TIDAK AKAN DIGANGGU.
✅ Existing Setup (Tidak Berubah)
Yang sudah jalan dan tetap aman:
- ✅
trading_bot_db- PostgreSQL database - ✅
trading_bot_network- Docker network - ✅ Database schema dengan 7 tables (trades, signals, dll)
- ✅ Volume
postgres_datauntuk persistence
🆕 New Services Added
Layanan baru yang ditambahkan:
- trading-api - FastAPI backend untuk dashboard
- dashboard - Next.js web interface
- pgadmin - Database management (optional)
🚀 Quick Start
Option 1: Gunakan Helper Script (Recommended)
# Tambahkan dashboard ke setup yang sudah ada
docker-add-dashboard.bat
Script ini akan:
- Check database yang sudah running
- Build API & Dashboard services
- Start kedua services baru
- Connect ke database & network yang sudah ada
Option 2: Manual Docker Compose
# Build hanya services baru
docker-compose build trading-api dashboard
# Start hanya services baru
docker-compose up -d trading-api dashboard
📊 Access Points
Setelah services running:
- Dashboard: http://localhost:3000
- API: http://localhost:8000
- API Docs: http://localhost:8000/docs
- Database: localhost:5432 (sudah running)
🔧 Service Management
Check Status
# Lihat status semua services
docker-status.bat
# Atau manual
docker-compose ps
View Logs
# Logs dashboard
docker-compose logs -f dashboard
# Logs API
docker-compose logs -f trading-api
# Logs database
docker-compose logs -f postgres
Restart Services
# Restart hanya dashboard
docker-compose restart dashboard
# Restart hanya API
docker-compose restart trading-api
# Restart semua (termasuk database)
docker-compose restart
Remove Dashboard (Keep Database)
# Hapus dashboard tapi tetap keep database
docker-remove-dashboard.bat
# Atau manual
docker-compose stop trading-api dashboard
docker-compose rm -f trading-api dashboard
🔗 Service Architecture
┌─────────────────────────────────────────────┐
│ trading_bot_network │
├─────────────────────────────────────────────┤
│ │
│ 📊 Dashboard (NEW) │
│ Port: 3000 │
│ └─> http://trading-api:8000 │
│ │
│ 🔌 Trading API (NEW) │
│ Port: 8000 │
│ └─> postgres:5432 │
│ │
│ 🗄️ PostgreSQL (EXISTING - NO CHANGE) │
│ Port: 5432 │
│ Status: Already Running │
│ Volume: postgres_data │
│ │
└─────────────────────────────────────────────┘
📝 Environment Variables
Edit .env untuk konfigurasi:
# MT5 (Required for API)
MT5_LOGIN=your_login
MT5_PASSWORD=your_password
MT5_SERVER=your_server
MT5_PATH=C:/Program Files/MetaTrader 5/terminal64.exe
# Trading
SYMBOL=XAUUSD
CAPITAL=10000
# Database (Already configured)
DB_USER=trading_bot
DB_PASSWORD=trading_bot_2026
DB_NAME=trading_db
# Ports
API_PORT=8000
DASHBOARD_PORT=3000
DB_PORT=5432
🐛 Troubleshooting
Dashboard tidak bisa connect ke API
Check API health:
curl http://localhost:8000/api/health
View API logs:
docker-compose logs -f trading-api
API tidak bisa connect ke database
Check database:
docker exec trading_bot_db pg_isready -U trading_bot
Check network:
docker network inspect trading_bot_network
Port conflict
Edit .env untuk ganti port:
API_PORT=8001
DASHBOARD_PORT=3001
Then restart:
docker-compose down trading-api dashboard
docker-compose up -d trading-api dashboard
💾 Data Persistence
Database data tetap aman:
- Volume
postgres_datatetap ada - Hapus container tidak hapus data
- Data tersimpan di Docker volume
Check volume:
docker volume ls | findstr postgres
docker volume inspect trading_bot_postgres_data
🔄 Updates
Update code dan rebuild:
# Pull latest code
git pull
# Rebuild services baru
docker-compose build trading-api dashboard
# Restart
docker-compose up -d trading-api dashboard
Database tidak perlu rebuild karena schema sudah ada.
⚠️ Important Notes
- Database tidak boleh dihapus - Data trades ada di sini
- Jangan run
docker-compose down -v- Ini akan hapus volumes - Untuk stop semua:
docker-compose stop(data aman) - Untuk restart:
docker-compose restartataudocker-compose up -d
📚 Files Structure
xaubot-ai/
├── docker-compose.yml # Main orchestration (UPDATED)
├── Dockerfile # API image (NEW)
├── .env # Environment config
├── .dockerignore # Build exclusions
├── docker-add-dashboard.bat # Add dashboard script (NEW)
├── docker-remove-dashboard.bat # Remove dashboard script (NEW)
├── docker-status.bat # Status check script (NEW)
├── docker/
│ └── init-db/
│ └── 01-schema.sql # Database schema (EXISTING)
└── web-dashboard/
├── Dockerfile # Dashboard image (NEW)
└── .dockerignore # Build exclusions
🎯 Summary
✅ Database tetap jalan - Tidak ada perubahan ✅ Services baru ditambahkan - API & Dashboard ✅ Data aman - Volume persistence ✅ Easy management - Helper scripts ✅ Independent - Bisa start/stop tanpa ganggu database
Integration completed: Feb 6, 2026 Status: Dashboard integrated with existing Docker setup ✨