Files
xau-ai-trading-bot/DOCKER-INTEGRATION.md
T
buckybonez 82eca84230 feat: apply #28B smart breakeven + #31B H1 EMA20 filter, add backtests #26-#32
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>
2026-02-08 10:33:24 +07:00

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_data untuk persistence

🆕 New Services Added

Layanan baru yang ditambahkan:

  1. trading-api - FastAPI backend untuk dashboard
  2. dashboard - Next.js web interface
  3. pgadmin - Database management (optional)

🚀 Quick Start

# Tambahkan dashboard ke setup yang sudah ada
docker-add-dashboard.bat

Script ini akan:

  1. Check database yang sudah running
  2. Build API & Dashboard services
  3. Start kedua services baru
  4. 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:

🔧 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_data tetap 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

  1. Database tidak boleh dihapus - Data trades ada di sini
  2. Jangan run docker-compose down -v - Ini akan hapus volumes
  3. Untuk stop semua: docker-compose stop (data aman)
  4. Untuk restart: docker-compose restart atau docker-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