Bot & Automation

Treding Forex Ai

/root/hermes-projects/Treding Forex Ai

mt5-bridge/README.md text
# Treding Forex Ai MT5 Bridge

Bridge ini adalah komponen eksekusi real order untuk MetaTrader 5. Jalankan bridge di mesin yang sama dengan terminal MT5 yang sudah login ke akun Exness.

Bot Telegram tidak menyimpan password Exness. Password hanya dipakai di bridge host melalui `.env`.

## Kebutuhan

- Windows atau Exness VPS yang bisa menjalankan MetaTrader 5.
- Python 3.11+.
- Terminal MT5 sudah terinstall.
- Akun Exness sudah login di MT5.

## Install

```powershell
cd "Treding Forex Ai\mt5-bridge"
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
copy .env.example .env
```

Isi `.env` di bridge host:

```env
BRIDGE_TOKEN=buat_secret_panjang
MT5_LOGIN=nomor_login_mt5
MT5_PASSWORD=password_mt5
MT5_SERVER=Exness-MT5Real38
REQUIRED_ACCOUNT_LOGIN=nomor_login_mt5
REQUIRED_ACCOUNT_SERVER=Exness-MT5Real38
BRIDGE_DRY_RUN=true
ALLOW_DEMO_TRADING=false
ALLOW_REAL_TRADING=false
REAL_TRADING_CONFIRM=
MAX_LOT_PER_ORDER=0.01
```

## Run

```powershell
uvicorn app.main:app --host 127.0.0.1 --port 8095
```

## Hubungkan Bot

Di `.env` bot Telegram:

```env
BROKER_PROVIDER=mt5_bridge
MT5_BRIDGE_URL=http://alamat-bridge:8095
MT5_BRIDGE_TOKEN=sama_dengan_BRIDGE_TOKEN
```

Untuk uji aman, biarkan:

```env
TRADING_MODE=paper
ENABLE_REAL_TRADING=false
```

Real mode hanya setelah bridge `health` valid dan dry-run selesai:

```env
TRADING_MODE=full_auto
ENABLE_REAL_TRADING=true
AUTO_TRADING_ENABLED=true
```

## Mode Bridge

Dry-run, tidak mengirim order ke MT5:

```powershell
.\scripts\toggle-bridge-mode.ps1 -Mode dry-run
```

Demo MT5, mengirim order hanya jika akun MT5 yang terhubung adalah demo dan guard akun cocok:

```powershell
.\scripts\toggle-bridge-mode.ps1 -Mode demo
```

Real MT5, hanya untuk akun real yang cocok dengan `REQUIRED_ACCOUNT_LOGIN` dan `REQUIRED_ACCOUNT_SERVER`. Skrip akan meminta konfirmasi teks sebelum mengaktifkan:

```powershell
.\scripts\toggle-bridge-mode.ps1 -Mode real
```

## Health Check

```powershell
curl -H "Authorization: Bearer <BRIDGE_TOKEN>" http://127.0.0.1:8095/health
```

## Safety

- Default `BRIDGE_DRY_RUN=true`.
- Demo order membutuhkan `BRIDGE_DRY_RUN=false` dan `ALLOW_DEMO_TRADING=true`.
- Default `ALLOW_REAL_TRADING=false`.
- Real order membutuhkan `BRIDGE_DRY_RUN=false`, `ALLOW_REAL_TRADING=true`, dan `REAL_TRADING_CONFIRM=I_UNDERSTAND_REAL_MONEY_RISK`.
- Bridge memblokir order jika akun/server MT5 tidak cocok dengan guard akun.
- `MAX_LOT_PER_ORDER` membatasi lot.
- `ALLOWED_SYMBOLS` membatasi pair.
- Bridge menolak order jika real trading belum diaktifkan eksplisit.