Beranda Perdagangan Sistem Postingan

Babi Ngepet: Robot Trading Unggulan untuk MetaTrader 5

Lampiran
64444.zip (7.11 KB, Unduh 4 kali)

Parameter yang Dapat Diubah pada EA

EA ini menyediakan beberapa parameter eksternal yang bisa dimodifikasi oleh pengguna untuk mengontrol perilakunya:

Parameter Umum

Parameter Tipe Deskripsi
MagicNumber int Identifikasi unik untuk setiap trade yang dilakukan oleh EA.
InitialLot double Ukuran lot awal untuk trade pertama dalam serangkaian trade.
AllowBuy bool Menandakan apakah EA diperbolehkan untuk membuka trade Buy (baik awal maupun Martingale).
AllowSell bool Menandakan apakah EA diperbolehkan untuk membuka trade Sell (baik awal maupun Martingale).
TakeProfit int Take Profit tetap dalam poin/pips yang digunakan saat menempatkan order pending (tidak untuk eksekusi pasar).
FindHighLowBackBars int Jumlah bar sebelumnya yang dilihat untuk menentukan high tertinggi dan low terendah untuk penempatan order pending awal.
ResetAfterBars int Jumlah bar setelah mana order pending awal akan dihapus dan dievaluasi ulang (jika tidak ada posisi yang terbuka).

Strategi Martingale

Parameter Tipe Deskripsi
ReverseMartingale bool Jika true, trade Martingale berikutnya akan dilakukan di arah berlawanan dari trade terakhir dalam serinya.
LotMultiplier double Faktor yang digunakan untuk mengalikan ukuran lot untuk trade berikutnya dalam serangkaian trade yang merugi (misalnya, 2.0 berarti menggandakan lot).
SecureProfitMartingaleTarget double Total profit mengambang (dalam mata uang akun) pada saat mana seluruh serangkaian trade terbuka akan ditutup.
DistanceMartingalePips int Jarak (dalam pips) yang harus dilalui harga melawan harga open trade terakhir sebelum trade Martingale baru dibuka.
MaxTradesInSeries int Jumlah maksimum trade yang diizinkan dalam satu seri Martingale.

Strategi Waktu

Parameter Tipe Deskripsi
AllowMonday... AllowFriday bool Menandakan untuk mengizinkan atau melarang trading pada hari-hari tertentu dalam seminggu.
ForbiddenDates string Daftar tanggal terpisah koma (format YYYY.MM.DD) di mana trading dilarang.

Ikhtisar Fungsi Utama

OnInit() (Inisialisasi)

Menetapkan MagicNumber EA, mode margin, dan deviasi. Ini mengatur ulang status Martingale (s_currentLot, s_totalTradesInSeries, dll.) ke nilai awal, mempersiapkan untuk memulai baru.

OnDeinit() (Deinisialisasi)

Fungsi sederhana untuk membersihkan, mencetak pesan saat EA dihentikan atau dihapus.

IsTradingDateAllowed() dan IsTradingDayAllowed() (Filter Trading)

Fungsi ini memeriksa hari dan tanggal saat ini terhadap input yang ditentukan pengguna untuk menentukan apakah trading diizinkan.

OpenTradeLogic(ENUM_ORDER_TYPE type, string tradeComment) (Eksekusi Pasar)

Fungsi ini menangani pembukaan posisi pasar baru (Buy atau Sell).

  1. Memvalidasi dan menormalkan ukuran lot terhadap minimum, maksimum, dan langkah ukuran broker.
  2. Memeriksa margin bebas yang cukup menggunakan CheckMargin().
  3. Menjalankan trade tanpa Take Profit atau Stop Loss tetap.
  4. Memperbarui variabel status Martingale global: s_currentLot, s_lastOpenPrice, s_seriesType, dan s_totalTradesInSeries.

CloseAllPositions()

Mengiterasi melalui semua posisi terbuka saat ini dan menutup posisi yang dibuka oleh EA ini (sesuai dengan MagicNumber).

PendingOrders(ENUM_ORDER_TYPE type, double price, double lotSize, string comment) (Penempatan Order Pending)

Fungsi ini menempatkan Buy Limit atau Sell Limit orders:

  1. Memvalidasi ukuran lot dan memeriksa margin yang cukup.
  2. Memvalidasi harga entry terhadap jarak minimum broker.
  3. Menghitung Take Profit tetap berdasarkan input TakeProfit.
  4. Mengirim permintaan trade.

UpdateHighLowAndOrders() (Logika Entry Awal)

Ini adalah mekanisme entry awal ketika tidak ada posisi terbuka:

  1. Mencari High Tertinggi dan Low Terendah.
  2. Menghitung harga Sell Limit dan Buy Limit.
  3. Memeriksa apakah order Buy Limit dan Sell Limit dengan MagicNumber EA sudah ada.
  4. Menempatkan order Sell Limit dan Buy Limit awal.

OnTick() (Logika Utama)

Inti dari logika eksekusi EA:

  1. Pemeriksaan Waktu: Mencegah perhitungan yang berlebihan pada tick yang sama.
  2. Pemeriksaan Filter: Jika trading tidak diizinkan pada hari/tanggal, hapus semua order pending.
  3. Pemeriksaan Target Profit: Jika ada posisi terbuka dan total profit mengambang mencapai SecureProfitMartingaleTarget, panggil CloseAllPositions() dan reset semua variabel status Martingale.
  4. Pembukaan Order Awal: Jika tidak ada posisi terbuka dan trading diizinkan, reset status Martingale dan periksa apakah bar baru telah terbentuk.

Ringkasan Strategi

EA "Babi Ngepet" menerapkan strategi Martingale yang berisiko namun berpotensi menguntungkan dengan kombinasi entry breakout/reversal:

  1. Entry Awal: Menempatkan order Buy Limit dan Sell Limit.
  2. Manajemen Trade: Jika salah satu trade awal terpicu dan posisi bergerak menjadi rugi, EA membuka posisi baru.
  3. Strategi Keluar: Serangkaian trade terus meningkat hingga profit total mencapai SecureProfitMartingaleTarget.
Peringatan: Strategi Martingale dikenal dengan drawdown tinggi dan risiko kehilangan modal yang besar.

Postingan terkait

Komentar (0)