🚀 TradeCopierBot — Penyalinan Perdagangan Cepat, Bersih, dan Tahan Broker (Lokal/VPS) 🔁✨
Salin perdagangan Anda dari akun MASTER ke satu (atau lebih) akun SLAVE dengan penyalin ringan berbasis event yang dirancang untuk kondisi perdagangan nyata: broker berbeda, nama simbol berbeda, aturan lot berbeda.
Sangat cocok untuk eksekusi multi-akun, skala risiko, dan distribusi strategi—dengan log debug rinci sehingga Anda selalu tahu apa yang terjadi. 🧠📈
✅ Dioptimalkan untuk pengaturan Lokal / VPS (mesin yang sama).
❌ Tidak dirancang untuk cTrader Cloud (instansi terisolasi, jadi sinyal tidak dapat dibagikan). ☁️🚫
Perhatian: jika Anda memiliki dua akun cTrader yang berbeda, Anda perlu membeli dua cBot; jika tidak, Anda tidak akan bisa menyalinnya. Kami siap membantu Anda untuk informasi apapun.
🧠 Cara kerjanya (MASTER → SLAVE) 🧩
🔁 1) Transportasi sinyal (bagaimana perdagangan “berpergian”)
Penyalin ini menggunakan cTrader LocalStorage (lingkup Perangkat) sebagai “bus pesan” bersama.
✅ MASTER
- Mendengarkan event posisi: Dibuka / Dimodifikasi / Ditutup
- Membuat
TradeSignal(BUKA / MODIFIKASI / TUTUP) - Menambahkan ke daftar sinyal di LocalStorageScope .Device
- Memanggil Flush() agar SLAVE dapat membacanya segera
✅ SLAVE
- Menjalankan Timer setiap Interval Polling detik
- Memanggil Reload()
- Membaca daftar sinyal
- Memproses hanya sinyal baru (menggunakan
_lastSignalIndexProcessed)
🧷 2) Pemetaan posisi (agar CLOSE berfungsi)
Saat SLAVE membuka perdagangan, ia menyimpan:
🧩 MasterPositionId → SlavePositionId
Pemetaan ini juga disimpan ke LocalStorage, sehingga bertahan setelah restart:
- ✅ CLOSE masih berfungsi setelah reboot
- ✅ MODIFY masih menemukan posisi yang benar
🧭 3) Terjemahan simbol (simbol MASTER → simbol SLAVE)
🗺️ Peta Simbol (MASTER=SLAVE;...)
Digunakan saat nama simbol berbeda antara broker/akun.
Format:
MASTER=SLAVE;MASTER2=SLAVE2;...
Contoh (kasus Anda):
- MASTER membuka
USTEC - SLAVE harus berdagang
US100
➡️ USTEC=US100
✅ Sisi kiri = simbol yang datang dari MASTER
✅ Sisi kanan = simbol pada broker SLAVE
📏 4) Logika volume (bagian utama) 🔥
✅ Bekerja dalam lot/kuantitas (desimal didukung)
Untuk menangani desimal (0.10, 0.01, dll.), SLAVE:
- Menghitung lot yang diinginkan
- Menerapkan pengali / min / langkah
- Mengonversi lot → volume menggunakan
QuantityToVolumeInUnits(lots) - Mengirim order menggunakan overload yang menerima volume double ✅
Inilah yang membuatnya tangguh bahkan ketika broker menerapkan aturan presisi lot yang berbeda.
⚙️ Penjelasan parameter (dengan ikon)
🧩 Inti
- 🧭 Mode
-
Master= menerbitkan sinyalSlave= membaca sinyal dan menyalin perdagangan
- 🧷 ID Grup Salin
-
- Saluran komunikasi. MASTER dan SLAVE harus cocok (misal,
DEFAULT)
- Saluran komunikasi. MASTER dan SLAVE harus cocok (misal,
- ⏱️ Interval Polling (detik)
-
- SLAVE memeriksa sinyal baru setiap N detik
- 🐞 Mode Debug
-
- Mencetak log rinci (disarankan saat pengaturan)
🗺️ Terjemahan Simbol
- 🧾 Peta Simbol (MASTER=SLAVE;...)
-
- Contoh:
USTEC=US100;XAUUSD=GOLD;NAS100=USTEC
- Contoh:
🎚️ Skala volume (PALING PENTING) ✅
🔢 Pengali global
- ➗ Pengali Volume
-
- Mengalikan semua lot yang disalin:
desiredLots = masterLots * VolumeMultiplier
🎛️ Pengali per simbol (alat utama Anda)
- 🧷 Peta Pengali Volume (SYM=mult;...)
-
- Menimpa pengali per simbol (simbol sisi SLAVE)
- Contoh:
-
US100= 0. 10- Format Italia juga OK:
US100=0,10
✅ Begini cara Anda mencapai: 1. 00 di MASTER → 0. 10 di SLAVE
🧱 Batas lot broker (min dan langkah)
- 🧱 Min Qty Default (0=off)
-
- Minimum lot global jika diaktifkan
- 🧱 Min Qty Map (SYM=val;...)
-
- Minimum lot per simbol
- Contoh:
US100=0. 10
- 🪜 Qty Step Default (0=off)
-
- Langkah global jika diaktifkan
- 🪜 Qty Step Map (SYM=val;...)
-
- Langkah per simbol
- Contoh:
US100=0. 10→ nilai yang diizinkan: 0. 10, 0 .20, 0.30…
🧯 Perilaku keselamatan
- 🧷 Gunakan Min Qty sebagai Lot Tetap
-
- Jika
true: SLAVE mengabaikan ukuran master dan selalu menggunakan MinQty (ukuran tetap)
- Jika
- ⚠️ Perilaku BelowMin
-
UseMin= jika di bawah min → naik ke minSkip= jika di bawah min → tidak membuka
- 🔁 Upaya BadVolume
-
- Jika broker mengembalikan BadVolume, mencoba penyesuaian kecil hingga N kali
🎯 Logika salin SL/TP
- 🛡️ Salin SL/TP sebagai Jarak saat Simbol berbeda
-
- Jika simbol MASTER dan SLAVE berbeda:
- SL/TP disalin sebagai jarak dari entri, bukan harga absolut
- Ini menjaga kontrol risiko konsisten di seluruh instrumen
✅ Pengaturan yang disarankan (USTEC → US100, lot SLAVE = 0. 10)
Pada SLAVE:
🗺️ Terjemahan simbol:
Peta Simbol=USTEC=US100
🎛️ Skala volume:
Peta Pengali Volume=US100=0,10
🧱 Batas broker:
Peta Min Qty=US100=0,10Peta Qty Step=US100=0,10
Hasil:
- ✅ MASTER 1. 00 → SLAVE 0. 10 pada US100
☁️ Penting: hanya Lokal/VPS (bukan Cloud) ❌
🖥️ Lokal/VPS ✅
Bekerja karena MASTER dan SLAVE berbagi LocalStorageScope .Device (mesin/lingkungan yang sama).
☁️ cTrader Cloud ❌
Tidak berfungsi karena instansi Cloud terisolasi, sehingga mereka tidak berbagi LocalStorage dan SLAVE tidak dapat melihat sinyal MASTER.
✅ Kesimpulan:
- ✔️ Gunakan di PC yang sama atau di VPS di mana kedua instansi berjalan bersama
- ❌ Untuk Cloud Anda memerlukan relay eksternal (server HTTP/WebSocket)
5 | 67 % | |
4 | 0 % | |
3 | 33 % | |
2 | 0 % | |
1 | 0 % |