MetaTrader5
Smart Trend Follower: EA Handal untuk MetaTrader 5
Selamat datang, Trader! Hari ini kita akan membahas tentang Smart Trend Follower, sebuah EA (Expert Advisor) yang dirancang khusus untuk platform MetaTrader 5. EA ini memanfaatkan sinyal teknis dari Moving Averages dan Stochastic untuk membantu kita mengambil keputusan trading yang lebih baik. Yuk, kita simak lebih dalam! 1. Jenis Enum (enumJnsSignal, enumOrderType) enumJnsSignal: Menentukan jenis sinyal yang digunakan dalam EA ini. Ada dua pilihan sinyal: eTypeCrossMA: Menggunakan sinyal dari Cross 2 MA (persilangan dua Moving Averages). eTypeTrend: Mengikuti tren dengan bantuan Moving Averages dan Stochastic. enumOrderType: Menentukan jenis order: eBuy: Order Beli. eSell: Order Jual. eNone: Tidak ada order yang dieksekusi. 2. Parameter Input inMagicNumber: Nomor unik yang digunakan untuk membedakan order dari EA ini. inLotSize: Ukuran lot awal untuk setiap order. inMultiply: Faktor pengali yang digunakan dalam strategi ukuran lot. inJarakLayer: Jarak pip antara posisi trading dalam strategi grid/layer. inMAPeriodFast & inMAPeriodSlow: Periode untuk Moving Averages cepat dan lambat. inSTOKPeriod, inSTODPeriod, inSTOSlowing: Parameter untuk Stochastic Oscillator. inTakeProfit & inStopLoss: Pengaturan untuk Take Profit dan Stop Loss. 3. Struct dataTrades Struct ini digunakan untuk menyimpan data terkait posisi trading yang terbuka, seperti jumlah total posisi (ttlPos), harga rata-rata posisi (hargaTA, hargaTB), dan total volume (ttlLot). 4. Fungsi OnInit() Fungsi ini menangani inisialisasi EA, termasuk memvalidasi parameter input (misalnya, memastikan bahwa periode MA cepat lebih kecil dari periode MA lambat) dan membuat handle untuk indikator MA dan Stochastic. 5. Fungsi OnTick() Fungsi utama yang dieksekusi setiap kali harga bergerak (tick). Memanggil fungsi untuk memeriksa sinyal baru dengan GetSignal(), dan jika ditemukan sinyal, manageTrading() digunakan untuk mengeksekusi trading. Juga memanggil setTPSL() untuk memastikan Take Profit dan Stop Loss selalu terupdate. 6. Fungsi isNewCandle() Fungsi ini mendeteksi apakah sebuah candle baru telah terbentuk. Ini penting karena EA hanya memeriksa sinyal pada pembentukan candle baru. 7. Fungsi GetSignal() Fungsi ini menentukan apakah ada sinyal trading yang valid berdasarkan strategi yang dipilih: Untuk eTypeCrossMA, sinyal ditentukan oleh persilangan Moving Averages cepat dan lambat. Untuk eTypeTrend, sinyal menggunakan konfirmasi dari MA dan Stochastic. 8. Fungsi manageTrading() Fungsi ini mengelola eksekusi trading. Jika sinyal valid terdeteksi, EA membuka posisi dengan ukuran lot yang ditentukan menggunakan fungsi getLotSize(). Strategi grid/layer juga diterapkan untuk membuka posisi tambahan berdasarkan jarak harga (inJarakLayer). 9. Fungsi updateDataTrades() Fungsi ini memperbarui data terkait posisi trading yang sedang berlangsung, seperti menghitung harga rata-rata dan total volume dari posisi yang terbuka. 10. Fungsi openTrade() Fungsi ini membuka posisi trading baru berdasarkan sinyal yang dihasilkan dan ukuran lot yang dihitung. Menggunakan OrderSend() untuk mengeksekusi order. 11. Fungsi setTPSL() Fungsi ini mengatur atau memperbarui Take Profit dan Stop Loss untuk setiap posisi terbuka. 12. Fungsi modifTPSL() Fungsi ini memodifikasi Take Profit dan Stop Loss dari posisi yang ada jika nilai berbeda dari yang sudah ditetapkan sebelumnya. 13. Fungsi validateLot() Fungsi ini memastikan bahwa ukuran lot yang digunakan berada dalam rentang minimum dan maksimum yang diizinkan, serta sesuai dengan langkah minimum lot (gLotStep). 14. Fungsi getLotSize() Fungsi ini menghitung ukuran lot yang akan digunakan berdasarkan ukuran lot awal dan jumlah posisi yang sudah dibuka, dengan mempertimbangkan faktor pengali (inMultiply). Dengan menggunakan kode ini, kita dapat menangkap tren pasar dan mengelola posisi trading secara otomatis menggunakan sinyal teknis dari Moving Averages dan Stochastic. Semoga informasi ini bermanfaat bagi kalian dalam trading!
2025.02.04