MIT License

项目介绍

GifariKemal/xaubot-ai 是一个托管在 GitHub 上的开源项目,主要使用 Python 编写,采用 MIT License 许可证,目前获得 61 个 Star、28 次 Fork。

仓库全名
GifariKemal/xaubot-ai
开源许可证
MIT License
Star 数
61
Fork 数
28
未关闭 Issue
5

README 摘要

XAUBot AI Bot trading XAUUSD (Emas) berbasis AI dengan XGBoost ML, Smart Money Concepts (SMC), dan deteksi regime menggunakan Hidden Markov Model untuk MetaTrader 5. Fitur Fitur | Deskripsi | Model XGBoost ML | Model 37-fitur yang memprediksi BUY/SELL/HOLD dengan confidence terkalibrasi | Smart Money Concepts | Order Block, Fair Value Gap, Break of Structure, Change of Character | Deteksi Regime HMM | Hidden Markov…

完整内容见 GitHub 原始 README 或本页 。

常见问题

xaubot-ai 用什么语言开发?

主要使用 Python 编写,采用 MIT License 许可证,目前有 61 个 Star。

xaubot-ai 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 xaubot-ai 的源码?

可以直接克隆仓库:git clone https://github.com/GifariKemal/xaubot-ai.git;安装与运行步骤见仓库 README。

xaubot-ai 最近还在维护吗?

仓库最近一次更新为 2月12日,当前有 5 个未关闭 Issue;Star 数为 61,可作为社区活跃度的参考。

关于

AI-powered XAUUSD (Gold) trading bot with XGBoost ML, Smart Money Concepts (SMC), and HMM regime detection for MetaTrader 5

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

语言占比

Batchfile
CSS
Dockerfile
JavaScript
MQL4
MQL5
PLpgSQL
Python
Shell
TypeScript

贡献者

README

XAUBot AI

Bot trading XAUUSD (Emas) berbasis AI dengan XGBoost ML, Smart Money Concepts (SMC), dan deteksi regime menggunakan Hidden Markov Model untuk MetaTrader 5.

Python 3.11+ License: MIT MetaTrader 5


Fitur

Fitur Deskripsi
Model XGBoost ML Model 37-fitur yang memprediksi BUY/SELL/HOLD dengan confidence terkalibrasi
Smart Money Concepts Order Block, Fair Value Gap, Break of Structure, Change of Character
Deteksi Regime HMM Hidden Markov Model 3-state yang mengklasifikasikan pasar trending/ranging/volatile
Manajemen Risiko Dinamis Stop Loss berbasis ATR, position sizing dengan Kelly criterion, batas kerugian harian
Kesadaran Sesi Dioptimalkan untuk sesi Sydney, London, dan New York
Pelatihan Ulang Otomatis Model secara otomatis dilatih ulang saat kondisi pasar berubah
Notifikasi Telegram Pemberitahuan trade secara real-time dan ringkasan harian
Dashboard Web Antarmuka pemantauan Next.js untuk pelacakan live

Arsitektur

graph TD MT5["MetaTrader 5<br/>(XAUUSD M15)"] -->|OHLCV| DP["Data Pipeline<br/>(Polars Engine)"] DP --> SMC["SMC Analyzer<br/>(OB / FVG / BOS)"] DP --> FE["Feature Engineering<br/>(37 fitur)"] DP --> HMM["HMM Regime<br/>Detector"] SMC --> XGB["XGBoost Model<br/>(Signal + Confidence)"] FE --> XGB HMM --> XGB XGB --> EF["14 Entry<br/>Filters"] XGB --> RE["Risk Engine<br/>(ATR + Kelly)"] XGB --> PM["Position<br/>Manager"] EF --> TE["Trade Execution<br/>(MT5 + Logging)"] RE --> TE PM --> TE

Struktur Proyek

xaubot-ai/
├── main_live.py              # Orkestrator trading async utama
├── train_models.py           # Skrip pelatihan model
├── src/                      # Modul inti
│   ├── config.py             #   Konfigurasi trading & mode kapital
│   ├── mt5_connector.py      #   Layer koneksi MetaTrader 5
│   ├── smc_polars.py         #   Penganalisis Smart Money Concepts
│   ├── ml_model.py           #   Model trading XGBoost
│   ├── feature_eng.py        #   Feature engineering (37 fitur)
│   ├── regime_detector.py    #   Deteksi regime pasar HMM
│   ├── risk_engine.py        #   Kalkulasi & validasi risiko
│   ├── smart_risk_manager.py #   Manajemen risiko dinamis
│   ├── session_filter.py     #   Filter sesi (Sydney/London/NY)
│   ├── position_manager.py   #   Manajemen posisi terbuka
│   ├── dynamic_confidence.py #   Threshold confidence adaptif
│   ├── auto_trainer.py       #   Pipeline pelatihan ulang otomatis
│   ├── news_agent.py         #   Filter berita ekonomi
│   ├── telegram_notifier.py  #   Notifikasi Telegram
│   ├── trade_logger.py       #   Pencatatan trade ke DB
│   └── utils.py              #   Fungsi utilitas
├── backtests/                # Backtesting
│   ├── backtest_live_sync.py #   Backtest utama (sinkron dengan live)
│   └── archive/              #   Versi historis
├── scripts/                  # Skrip utilitas
│   ├── check_market.py       #   Analisis cepat pasar SMC
│   ├── check_positions.py    #   Lihat posisi terbuka
│   ├── check_status.py       #   Cek status akun
│   ├── close_positions.py    #   Tutup semua posisi darurat
│   ├── modify_tp.py          #   Modifikasi level take-profit
│   └── get_trade_history.py  #   Tarik riwayat trade
├── tests/                    # Pengujian
├── models/                   # Model terlatih (.pkl)
├── data/                     # Data pasar & catatan trade
├── docs/                     # Dokumentasi
│   ├── arsitektur-ai/        #   Dokumen arsitektur (23 komponen)
│   └── research/             #   Riset & analisis
├── web-dashboard/            # Dashboard pemantauan Next.js
├── docker/                   # Konfigurasi & skrip Docker
│   ├── scripts/              #   Skrip pembantu (.bat/.sh)
│   └── docs/                 #   Dokumentasi Docker
└── archive/                  # File usang (gitignored)

Hasil Backtest (Jan 2025 - Feb 2026)

Metrik Nilai
Total Trade 654
Win Rate 63.9%
Net P/L $4,189.52
Profit Factor 2.64
Max Drawdown 2.2%
Sharpe Ratio 4.83

Instalasi

Deployment Docker (Direkomendasikan)

Mulai Cepat:

# 1. Clone repositori
git clone https://github.com/GifariKemal/xaubot-ai.git
cd xaubot-ai

# 2. Konfigurasi environment
cp docker/.env.docker.example .env
# Edit .env dengan kredensial MT5 Anda

# 3. Jalankan semua layanan (Windows)
docker\scripts\docker-start.bat

# 3. Jalankan semua layanan (Linux/Mac)
./docker/scripts/docker-start.sh

Layanan yang tersedia:

Dokumentasi Docker lengkap: Lihat docker/docs/DOCKER.md


Instalasi Manual

Prasyarat:

  • Python 3.11+
  • Terminal MetaTrader 5 (Windows)
  • PostgreSQL (opsional, untuk pencatatan trade)

Persiapan:

# Clone repositori
git clone https://github.com/GifariKemal/xaubot-ai.git
cd xaubot-ai

# Instal dependensi
pip install -r requirements.txt

# Konfigurasi environment
cp .env.example .env
# Edit .env dengan kredensial MT5 dan token Telegram Anda

Konfigurasi

Pengaturan utama di .env:

# MetaTrader 5
MT5_LOGIN=your_login
MT5_PASSWORD=your_password
MT5_SERVER=your_server
MT5_PATH=C:/Program Files/MetaTrader 5/terminal64.exe

# Notifikasi Telegram
TELEGRAM_BOT_TOKEN=your_bot_token
TELEGRAM_CHAT_ID=your_chat_id

# Trading
CAPITAL=5000
SYMBOL=XAUUSD

Menjalankan

# Latih model terlebih dahulu
python train_models.py

# Jalankan bot
python main_live.py

# Jalankan backtest
python backtests/backtest_live_sync.py --tune

Manajemen Risiko

Proteksi Detail
Stop Loss Berbasis ATR Jarak minimum 1.5x ATR
Stop Loss Level Broker Stop Loss darurat diatur di level broker
Position Sizing Kelly criterion dengan penyesuaian mode kapital
Batas Kerugian Harian 5% dari kapital per hari
Batas Kerugian Total 10% dari kapital
Batas Posisi Maksimal 2 posisi bersamaan
Exit Berbasis Waktu Maksimal 6 jam per trade
Filter Sesi Hanya membuka trade saat sesi aktif
Filter Spread Menolak trade saat spread tinggi
Cooldown Waktu minimum antar trade

Teknologi

  • Polars — Mesin pemrosesan data performa tinggi (bukan Pandas)
  • XGBoost — Model machine learning berbasis gradient boosting
  • hmmlearn — Hidden Markov Model untuk deteksi regime pasar
  • MetaTrader5 — API koneksi broker
  • asyncio — Event loop asinkron untuk eksekusi latensi rendah
  • loguru — Logging terstruktur
  • PostgreSQL — Database pencatatan trade
  • Next.js — Dashboard web

Peringatan

Perangkat lunak ini dibuat hanya untuk tujuan edukasi dan riset. Trading valuta asing (Forex) dan komoditas dengan margin memiliki tingkat risiko yang tinggi dan mungkin tidak cocok untuk semua investor. Kinerja masa lalu bukan indikasi hasil di masa depan. Anda dapat kehilangan sebagian atau seluruh investasi Anda. Gunakan dengan risiko Anda sendiri.

Lisensi

MIT License - Hak Cipta © 2025-2026 Gifari Kemal

评论

暂无评论