🚀 TradeCopierBot — Penyalinan Dagangan Pantas, Bersih, dan Bebas Broker (Lokal/VPS) 🔁✨
Salin dagangan anda dari akaun MASTER ke satu (atau lebih) akaun SLAVE dengan penyalin ringan yang dipacu acara direka untuk keadaan dagangan sebenar: broker berbeza, nama simbol berbeza, peraturan lot berbeza.
Sesuai untuk pelaksanaan multi-akaun, penyesuaian risiko, dan pengedaran strategi—dengan log debug terperinci supaya anda sentiasa tahu apa yang berlaku. 🧠📈
✅ Dioptimumkan untuk persediaan Lokal / VPS (mesin yang sama).
❌ Tidak direka untuk cTrader Cloud (instans terasing, jadi isyarat tidak boleh dikongsi). ☁️🚫
Perhatian: jika anda mempunyai dua akaun cTrader yang berbeza, anda perlu membeli dua cBots; jika tidak, anda tidak akan dapat menyalinnya. Kami sedia membantu anda untuk sebarang maklumat.
🧠 Cara ia berfungsi (MASTER → SLAVE) 🧩
🔁 1) Penghantaran isyarat (cara dagangan “berjalan”)
Penyalin ini menggunakan cTrader LocalStorage (skop Peranti) sebagai “bas mesej” bersama.
✅ MASTER
- Mendengar acara posisi: Dibuka / Diubah / Ditutup
- Mencipta
TradeSignal(BUKA / UBAH / TUTUP) - Menambahkannya ke dalam senarai isyarat dalam LocalStorageScope .Device
- Memanggil Flush() supaya SLAVE boleh membacanya dengan segera
✅ SLAVE
- Menjalankan Pemasa setiap Selang Poll saat
- Memanggil Reload()
- Membaca senarai isyarat
- Memproses hanya isyarat baru (menggunakan
_lastSignalIndexProcessed)
🧷 2) Pemetaan posisi (supaya TUTUP berfungsi)
Apabila SLAVE membuka dagangan, ia menyimpan:
🧩 MasterPositionId → SlavePositionId
Pemetaan ini juga disimpan dalam LocalStorage, jadi ia kekal selepas mulakan semula:
- ✅ TUTUP masih berfungsi selepas reboot
- ✅ UBAH masih mencari posisi yang betul
🧭 3) Terjemahan simbol (simbol MASTER → simbol SLAVE)
🗺️ Peta Simbol (MASTER=SLAVE;...)
Digunakan apabila nama simbol berbeza antara broker/akaun.
Format:
MASTER=SLAVE;MASTER2=SLAVE2;...
Contoh (kes anda):
- MASTER membuka
USTEC - SLAVE mesti berdagang
US100
➡️ USTEC=US100
✅ Bahagian kiri = simbol yang datang dari MASTER
✅ Bahagian kanan = simbol pada broker SLAVE
📏 4) Logik volum (bahagian utama) 🔥
✅ Berfungsi dalam lot/kadaran (desimal disokong)
Untuk mengendalikan desimal (0.10, 0.01, dll.), SLAVE:
- Mengira lot yang diingini
- Menerapkan pemboleh ganda / min / langkah
- Menukar lot → volum menggunakan
QuantityToVolumeInUnits(lots) - Menghantar pesanan menggunakan overload yang menerima volum double ✅
Inilah yang menjadikannya kukuh walaupun broker menguatkuasakan peraturan ketepatan lot yang berbeza.
⚙️ Parameter dijelaskan (dengan ikon)
🧩 Teras
- 🧭 Mod
-
Master= menerbitkan isyaratSlave= membaca isyarat dan menyalin dagangan
- 🧷 ID Kumpulan Salin
-
- Saluran komunikasi. MASTER dan SLAVE mesti sepadan (contoh,
DEFAULT)
- Saluran komunikasi. MASTER dan SLAVE mesti sepadan (contoh,
- ⏱️ Selang Poll (saat)
-
- SLAVE memeriksa isyarat baru setiap N saat
- 🐞 Mod Debug
-
- Mencetak log terperinci (disyorkan semasa persediaan)
🗺️ Terjemahan Simbol
- 🧾 Peta Simbol (MASTER=SLAVE;...)
-
- Contoh:
USTEC=US100;XAUUSD=GOLD;NAS100=USTEC
- Contoh:
🎚️ Penyesuaian volum (PALING PENTING) ✅
🔢 Pemboleh ganda global
- ➗ Pemboleh Ganda Volum
-
- Menyesuaikan semua lot yang disalin:
desiredLots = masterLots * VolumeMultiplier
🎛️ Pemboleh ganda per simbol (alat utama anda)
- 🧷 Peta Pemboleh Ganda Volum (SYM=mult;...)
-
- Menimpa pemboleh ganda per simbol (simbol sisi SLAVE)
- Contoh:
-
US100= 0. 10- Format Itali juga OK:
US100=0,10
✅ Inilah cara anda mencapai: 1. 00 pada MASTER → 0. 10 pada SLAVE
🧱 Sekatan 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 dibenarkan: 0. 10, 0 .20, 0.30…
🧯 Tingkah laku keselamatan
- 🧷 Gunakan Min Qty sebagai Lot Tetap
-
- Jika
true: SLAVE mengabaikan saiz master dan sentiasa menggunakan MinQty (saiz tetap)
- Jika
- ⚠️ Tingkah Laku BelowMin
-
UseMin= jika di bawah min → naikkan ke minSkip= jika di bawah min → jangan buka
- 🔁 Cubaan BadVolume
-
- Jika broker mengembalikan BadVolume, cuba pelarasan kecil sehingga N kali
🎯 Logik salin SL/TP
- 🛡️ Salin SL/TP sebagai Jarak apabila Simbol berbeza
-
- Jika simbol MASTER dan SLAVE berbeza:
- SL/TP disalin sebagai jarak dari kemasukan, bukan harga mutlak
- Ini mengekalkan kawalan risiko konsisten merentasi instrumen
✅ Persediaan disyorkan (USTEC → US100, lot SLAVE = 0. 10)
Pada SLAVE:
🗺️ Terjemahan simbol:
Peta Simbol=USTEC=US100
🎛️ Penyesuaian volum:
Peta Pemboleh Ganda Volum=US100=0,10
🧱 Sekatan broker:
Peta Min Qty=US100=0,10Peta Qty Step=US100=0,10
Keputusan:
- ✅ MASTER 1. 00 → SLAVE 0. 10 pada US100
☁️ Penting: Hanya Lokal/VPS (bukan Cloud) ❌
🖥️ Lokal/VPS ✅
Berfungsi kerana MASTER dan SLAVE berkongsi LocalStorageScope .Device (mesin/persekitaran yang sama).
☁️ cTrader Cloud ❌
Tidak berfungsi kerana instans Cloud adalah terasing, jadi mereka tidak berkongsi LocalStorage dan SLAVE tidak dapat melihat isyarat MASTER.
✅ Kesimpulan:
- ✔️ Gunakan pada PC yang sama atau VPS di mana kedua-dua instans berjalan bersama
- ❌ Untuk Cloud anda memerlukan relay luaran (pelayan HTTP/WebSocket)
5 | 67 % | |
4 | 0 % | |
3 | 33 % | |
2 | 0 % | |
1 | 0 % |