==============================================================================
KAMLETFX BOT V2 — PEMASANGAN SCRIPT PYTHON DI RDP (v6 / revisi Tahap 2-4)
==============================================================================
Dokumen ini untuk memasang bot_mt5_v2.py versi terbaru di Windows RDP.

PENTING: Website dan Python adalah DUA bagian terpisah.
  - Deploy website TIDAK otomatis memperbarui script di RDP.
  - Mengganti script di RDP TIDAK otomatis mengubah website.
Keduanya harus diperbarui agar fitur baru bekerja penuh.

------------------------------------------------------------------------------
A. APA YANG BARU DI SCRIPT INI
------------------------------------------------------------------------------
1. Profit Stop (target FLOATING basket) — terpisah dari Daily Profit.
2. Lot Layer ON/OFF: bot membaca lot_layering.mode_active_for_bot dan
   lot_layering.ranges, lalu memakai lot per rentang. Baris terakhir berlaku
   untuk SEMUA layer berikutnya (tidak kembali ke Base Lot).
3. Konfigurasi pending: website hanya mengaktifkan konfigurasi tertunda saat
   bot melaporkan 0 posisi, jadi TIDAK perlu logika tambahan di RDP.
4. Heartbeat melaporkan kondisi efektif: effective_on, manual_off,
   profit_stop_state, ea_status, active_lot, next_lot, tp_active_*.
5. Close All mengirim rincian (closed/remaining/reasons/engine/duration_ms)
   sehingga dashboard bisa menampilkan "Sebagian Berhasil".
6. EA Fast Close TIDAK berubah sama sekali.

------------------------------------------------------------------------------
B. SEBELUM MULAI — BACKUP (WAJIB)
------------------------------------------------------------------------------
    cd C:\kamletfx
    copy bot_mt5_v2.py bot_mt5_v2.py.bak
    copy bot_state.json bot_state.json.bak
    copy kfx.env kfx.env.bak 2>nul

Catat juga di MT5: posisi yang sedang terbuka (agar bisa dibandingkan nanti).

------------------------------------------------------------------------------
C. PASANG
------------------------------------------------------------------------------
1. Unduh bot_mt5_v2.py versi baru dari paket (folder tools/).
2. Hentikan bot yang sedang berjalan (Ctrl+C di jendela CMD-nya).
3. Timpa berkas lama:
       copy /Y <unduhan>\bot_mt5_v2.py C:\kamletfx\bot_mt5_v2.py
4. Periksa lingkungan tanpa mengirim order:
       python bot_mt5_v2.py --ea-status
   Harus menampilkan "Status : SIAP" (EA Fast Close terdeteksi) dan
   "AutoTrading : ON".
5. Diagnostik EA (tanpa order):
       python bot_mt5_v2.py --ea-selftest
6. Simulasi (tanpa order) untuk memastikan konfigurasi terbaca:
       python bot_mt5_v2.py
   Perhatikan baris "MODE SIMULASI (DRY RUN)" dan ringkasan status.
7. Jalankan sungguhan di akun DEMO:
       python bot_mt5_v2.py --live

------------------------------------------------------------------------------
D. YANG PERLU DIPERIKSA SETELAH PASANG (5 menit)
------------------------------------------------------------------------------
- CMD menampilkan "ENTRY ... lot X (range A..B)" bila Lot Layer ON,
  atau "(rumus 0.01)" bila Lot Layer OFF.
- Website Dashboard: "Dilaporkan Python" muncul pada Status Bot & EA.
- Website Pengaturan Bot: versi konfigurasi bot naik setelah satu siklus
  (maks 30 detik).
- Lot Layer ON di website -> CMD menampilkan lot sesuai rentang.
- Bila status di website masih "Belum Dilaporkan", berarti script lama masih
  berjalan atau heartbeat belum terkirim.

------------------------------------------------------------------------------
E. ROLLBACK (BILA ADA MASALAH)
------------------------------------------------------------------------------
    cd C:\kamletfx
    copy /Y bot_mt5_v2.py.bak bot_mt5_v2.py
    copy /Y bot_state.json.bak bot_state.json
    python bot_mt5_v2.py --live

Script lama tetap kompatibel dengan website baru, TETAPI:
  - Status Bot/EA di dashboard akan kembali "Belum Dilaporkan".
  - Profit Stop tidak akan berjalan.
  - Lot Layer ON tidak akan dipakai (bot kembali ke rumus Base+Step).
Tidak ada posisi yang ditutup atau dibuka oleh proses rollback.

------------------------------------------------------------------------------
F. CATATAN KEAMANAN
------------------------------------------------------------------------------
- Token BOT tidak berubah karena penggantian script. Jangan membuat token baru
  kecuali perlu; token hanya ditampilkan sekali.
- Jangan menaruh token di dalam script. Pakai kfx.env atau environment variable.
- Setelah ganti script, periksa log CMD: tidak boleh ada "token DITOLAK (401)".
==============================================================================
