Range Breakout With Range Filter MT5 Source Code Free Download
Range Breakout With Range Filter adalah Expert Advisor untuk MetaTrader 5 yang menunggu harga menembus rentang tertentu di awal hari, lalu masuk searah tembusan itu. Artikel ini membedah file sumbernya, yaitu Range_Breakout_With_Range_Filter_MT5_Zetate.mq5 versi 5.20, baris demi baris. Yang dibahas adalah apa yang benar-benar dilakukan kodenya, bukan klaim dari halaman penjual. Tidak ada hasil backtest di sini karena memang tidak ada pengujian yang dijalankan. Isinya logika, parameter, dan celah yang sebaiknya Anda ketahui sebelum memasang EA ini di akun.
Logika dasarnya
EA ini bekerja dengan jam server broker, bukan jam lokal Anda. Setiap hari ia mengambil candle M1 dari pukul 00:00 sampai 06:59, lalu mencatat harga tertinggi dan terendah dalam rentang itu. Dua angka tersebut menjadi batas atas dan batas bawah. Garis horizontal biru, warnanya bisa diganti lewat input, digambar di chart sebagai penanda.
Mulai pukul 07:00, EA mengawasi harga. Jika ask menembus batas atas, ia membuka posisi buy. Jika bid turun di bawah batas bawah, ia membuka posisi sell. Tidak ada konfirmasi penutupan candle. Tick pertama yang melewati garis sudah cukup, jadi sapuan harga singkat berupa wick bisa memicu entri.
Setiap simbol hanya boleh membuka satu posisi per hari. Begitu entri berhasil, simbol itu dikunci sampai hari berikutnya. Akibatnya, kalau posisi kena stop loss pada pukul 09:00, EA tidak akan mencoba lagi sore harinya. Kode juga memuat logika menutup posisi berlawanan, tetapi karena kunci harian tadi, bagian ini nyaris tidak punya kesempatan berjalan kecuali ada posisi sisa dari hari sebelumnya.
Take profit tidak ada, nilainya 0. Trailing stop juga tidak ada. Posisi hanya berakhir lewat dua jalur: kena stop loss, atau ditutup paksa saat jam server mencapai 20:00. Pada jam itu EA juga berhenti membuka entri baru, jadi tidak ada posisi yang dibiarkan menginap melewati pergantian hari.
Satu detail kecil yang mudah terlewat: batas atas dan batas bawah yang dipakai untuk entri bukan level tetap yang bisa Anda ubah dari input. Keduanya dihitung ulang setiap hari dari candle M1, sehingga setelan Anda hanya mengatur cara EA bereaksi terhadap level itu, bukan level itu sendiri. Kalau Anda ingin menggeser jam pembentukan range, tidak ada input untuk melakukannya; satu-satunya cara adalah mengubah kode dan mengompilasinya ulang.
Soal "range filter" pada namanya
Nama produk ini menjanjikan filter, jadi wajar kalau pembaca mencari inputnya lebih dulu. Di dalam kode, tidak ada pengaturan batas minimum atau maksimum lebar range. Tidak ada pula pemeriksaan berbunyi "range terlalu sempit, lewati hari ini". Satu-satunya syarat adalah batas atas harus lebih tinggi dari batas bawah.
Filter yang benar-benar ada adalah filter spread, opsional dan mati secara default, serta pembatasan jam trading. Mungkin "range filter" merujuk pada jendela 00:00 sampai 07:00 itu sendiri, yaitu hanya rentang yang terbentuk di jam tersebut yang dianggap valid. Tafsir apa pun yang dipakai, EA ini akan tetap masuk pada hari ketika range terbentuk sangat lebar maupun sangat sempit. Hal ini penting karena lebar range menentukan ukuran lot pada sebagian mode risiko, seperti dijelaskan di bawah.
Satu chart, lima pasar
Dengan opsi One Chart Setup aktif, dan opsi ini aktif secara default, EA cukup dipasang di satu chart dan akan memproses lima instrumen sekaligus: XAUUSD, USDJPY, BTCUSD, US30, dan DE40. Masing-masing bisa dimatikan lewat input tersendiri.
Nama simbol dicocokkan berdasarkan awalan. Jika broker Anda memakai nama seperti XAUUSDm atau US30.cash, EA masih bisa menemukannya. Tetapi kalau broker menyebut emas sebagai GOLD, awalan tidak cocok dan Anda harus mengubah input nama simbolnya secara manual. Bila One Chart Setup dimatikan, EA hanya memperdagangkan pasar yang dipilih di input Market, yang bawaannya USDJPY.
Cara EA menentukan lot dan stop loss
Bagian ini paling layak dibaca teliti, karena ada beberapa hal yang tidak langsung terlihat dari nama input.
Lot dihitung dari persentase risiko terhadap jarak stop loss. Jika persentase risiko dibiarkan 0, EA memakai angka bawaan sesuai level: Low 0,5 persen, Medium 1 persen, High 2 persen. Mode Fixed memakai lot tetap dari input Lots, tanpa memperhitungkan jarak stop sama sekali.
Ada dua catatan dari kodenya. Pertama, pilihan basis modal bernama "Starting", tetapi yang dipakai kode untuk mode ini adalah saldo berjalan saat itu, bukan saldo awal. Mode Equity memakai ekuitas, dan mode Custom memakai angka yang Anda isi sendiri. Kedua, lot hasil hitungan selalu dibulatkan ke langkah volume broker dan tidak boleh di bawah lot minimum. Di akun kecil, risiko sebenarnya bisa lebih besar dari persentase yang diatur karena lot minimum memaksa posisi lebih besar dari hasil hitungan.
Lokasi stop loss ternyata bergantung pada kombinasi pengaturan, bukan satu input tersendiri. Pada kombinasi default, yaitu Risk Type Auto, level Medium, dan persentase 0, stop loss diletakkan 1 persen dari harga entri. Pada semua kombinasi lain, stop loss berada di sisi berlawanan dari range: batas bawah untuk buy, batas atas untuk sell.
Perbedaan ini punya konsekuensi nyata. Pada konfigurasi default, risiko 1 persen dengan stop loss 1 persen dari harga berarti nilai posisi kira-kira setara saldo akun. Itu hitungan dari rumus lotnya, bukan angka yang tertulis di kode. Pada konfigurasi lain, jarak stop loss mengikuti lebar range, sehingga range lebar menghasilkan lot kecil dan range sempit menghasilkan lot besar dengan stop loss yang sangat dekat. Dua-duanya bisa berujung pada kerugian yang jauh lebih besar dari persentase risiko yang Anda kira sudah diatur.
Parameter utama
Semua input yang dibahas di atas tersusun dalam beberapa kelompok. Tabel berikut merangkum apa yang terbaca di file sumber, lalu penjelasan tiap kelompok menyusul di bawahnya.
| Kelompok | Input | Default | Fungsi |
|---|---|---|---|
| Umum | Magic Number | 47382 | Nomor penanda posisi milik EA ini |
| Umum | Market | USDJPY | Hanya dipakai bila One Chart Setup dimatikan |
| Risiko | Risk Type | Auto | Pilihan Auto, Manual, atau Fixed lot |
| Risiko | Risk Level | Medium | 0,5% / 1% / 2% saat persentase risiko masih 0 |
| Risiko | Base Money Mode | Starting | Basis modal, memakai saldo berjalan |
| Prop firm | Close Trades On Equity Drawdown | Mati | Menutup semua posisi saat drawdown tercapai |
| Prop firm | Max Equity Drawdown | 4,0% | Ambang drawdown harian |
| Spread | Spread Filter | Mati | Menahan entri saat spread melebar |
| Spread | Max Spread Points | 0 | Batas spread dalam point |
Pada kelompok Umum, Magic Number bernilai 47382 dan berfungsi sebagai penanda posisi milik EA, sementara Market bernilai USDJPY dan hanya dipakai bila One Chart Setup dimatikan.
Ada tiga pilihan di Risk Type, yaitu Auto, Manual, dan Fixed lot. Risk Level menentukan 0,5 persen, 1 persen, atau 2 persen ketika persentase risiko masih 0, dan Base Money Mode dengan default Starting perilakunya sudah dijelaskan di atas.
Kelompok prop firm berisi dua input. Close Trades On Equity Drawdown dalam keadaan mati secara default, dan Max Equity Drawdown dengan default 4,0 persen sebagai ambang drawdown harian. Kelompok Spread berisi Spread Filter yang juga mati secara default dan Max Spread Points dengan nilai 0, yang berarti batas spread belum diaktifkan.
Perlindungan drawdown patut dijelaskan lebih lanjut. Fitur ini menghitung penurunan ekuitas dari titik tertinggi ekuitas hari itu, bukan dari saldo awal hari. Jika ambangnya tercapai, semua posisi dengan magic number EA ditutup dan EA berhenti sampai hari server berikutnya. Karena semua pasar memakai satu magic number yang sama, penutupan ini berlaku untuk kelima instrumen sekaligus, bukan hanya pasar yang sedang rugi. Fitur ini mati secara default, jadi untuk akun prop firm Anda perlu mengaktifkannya sendiri dan memeriksa apakah ambang 4,0 persen cocok dengan aturan penyedia Anda.
Hal yang perlu diketahui tentang file ini
Judul produk menyebut "source code", dan memang file .mq5 ini bisa dibuka dan dikompilasi sendiri. Namun nama fungsi dan variabelnya diacak dengan awalan _0x_, dan alur utamanya ditulis sebagai mesin status bernomor. Kode seperti ini lebih sulit dibaca dibanding kode biasa, dan sulit dipastikan apakah ada bagian yang sudah diubah dibanding versi aslinya.
Ada satu temuan yang lebih penting. Header file mencantumkan hak cipta dan tautan Telegram "Super Profits 77". Namun EA ini juga menampilkan watermark di chart dengan font Minecraft, dua baris teks yang berganti warna tiap sekitar 0,8 detik. Teksnya disimpan dalam bentuk kode angka yang digeser 19 poin. Setelah dikembalikan ke huruf, hasilnya adalah "Free Forex Tools" dan "t.me/free_fx_pro", bukan "Super Profits 77" seperti yang tertulis pada komentar di sebelahnya. Watermark ini tidak muncul di Strategy Tester tanpa mode visual, tetapi akan tampil di chart live dan di mode visual.
Artinya, file ini bukan salinan polos dari satu sumber. Ada tangan lain yang menambahkan atau mengubah bagian tertentu. Itu tidak otomatis berbahaya, tetapi cukup alasan untuk membaca kodenya sebelum dipakai dan untuk mengujinya di akun demo lebih dulu.
Cara memasang
Lima langkah berikut cukup untuk membuat EA berjalan, dan semuanya dilakukan di terminal MetaTrader 5 Anda.
Lima langkah berikut cukup untuk membuat EA berjalan, dan semuanya dilakukan di terminal MetaTrader 5 Anda.
- Salin file
.mq5ke folderMQL5/Experts. Folder ini bisa dibuka lewat menu File, lalu Open Data Folder. - Buka MetaEditor, buka file tersebut, lalu kompilasi dengan F7 dan pastikan tidak ada error.
- Di MetaTrader 5 aktifkan tombol Algo Trading, lalu tarik EA ke satu chart saja karena One Chart Setup akan menangani sisanya.
- Cek di Market Watch bahwa kelima simbol tersedia dan namanya cocok dengan input, terutama untuk emas dan indeks yang sering diberi akhiran berbeda per broker.
- Periksa selisih jam server dengan jam lokal Anda, karena seluruh jadwal range dan jam tutup mengikuti jam server.
Yang sebaiknya diuji sebelum dipercaya
Dari struktur kodenya, ada empat hal yang layak dicek di akun demo atau Strategy Tester.
- Dampak jam server. Jendela 00:00 sampai 07:00 bisa jatuh pada sesi pasar yang berbeda tergantung zona waktu broker, sehingga hasil di satu broker belum tentu sama di broker lain.
- Perilaku pada hari berita besar. Tanpa konfirmasi candle dan tanpa filter lebar range, tembusan palsu saat rilis data adalah risiko yang melekat pada desainnya, bukan bug yang bisa diperbaiki lewat setelan.
- Ukuran lot di mode non-default. Lihat apakah range sempit menghasilkan lot yang tidak masuk akal untuk ukuran akun Anda, karena di situlah jarak stop mengecil dan lot membesar bersamaan.
- Data M1 tiap simbol. Karena EA membaca candle M1 dari setiap pasar yang aktif, pengujian multi-simbol membutuhkan riwayat data yang lengkap untuk semuanya, dan kekurangan data pada satu simbol akan membuat pasar itu diam tanpa pesan kesalahan yang jelas.
Ilustrasi hitungan lot
Supaya perbedaan tadi terasa, ambil contoh sederhana tanpa mengklaim angka riil dari broker mana pun. Anggap saldo 1.000 dolar, Risk Type Auto, level Medium, persentase 0. Stop loss berada 1 persen dari harga entri. Risiko yang dipakai EA adalah 1 persen dari saldo, yaitu 10 dolar. Dengan stop berjarak 1 persen dari harga, nilai posisi yang membuat kerugian 10 dolar saat stop kena adalah sekitar 1.000 dolar. Itu sebabnya artikel ini menyebut nilai posisi kira-kira setara saldo.
Sekarang pindah ke mode Manual dengan persentase risiko yang sama, tetapi stop diletakkan di sisi berlawanan range. Bila range hari itu hanya selebar 0,2 persen dari harga, jarak stop juga 0,2 persen, dan lot yang dibutuhkan untuk mempertahankan risiko 10 dolar menjadi lima kali lebih besar dibanding contoh pertama. Di akun kecil, hasilnya sering mentok di lot minimum, sehingga risiko sebenarnya melewati 1 persen yang tertulis di input. Sebaliknya, range selebar 3 persen menghasilkan jarak stop lebar dan lot kecil, sehingga kerugian per perdagangan tetap kecil walau persentase untungnya juga ikut mengecil.
Yang perlu diingat, pembulatan ke volume step broker berjalan setelah hitungan selesai. Pada akun dengan lot minimum 0,01 dan step 0,01, selisih pembulatan bisa mengubah risiko beberapa persen dari yang Anda targetkan. Ini bukan cacat khusus EA ini, hampir semua EA berbasis persentase mengalami hal serupa, tetapi tetap layak diperiksa sebelum menyimpulkan bahwa risiko sudah terkendali.
Satu hari dalam hidup EA ini
Menelusuri jadwalnya dari awal hari membantu melihat di mana sebenarnya kelemahan desainnya. Pukul 00:00 sampai 06:59 EA hanya mengumpulkan data, tidak ada entri. Bila spread melebar atau data M1 tidak lengkap pada jam-jam itu, batas atas dan batas bawah yang terbentuk bisa meleset dari range yang Anda lihat di chart harian.
Pukul 07:00 pengawasan dimulai. Bila harga sudah berada di luar range sejak tick pertama setelah 07:00, katakanlah karena gap atau karena range yang terbentuk sangat sempit, entri terjadi seketika tanpa jeda. Dari situ posisi berjalan tanpa take profit dan tanpa trailing stop. Bila harga berbalik dan menyentuh stop, simbol itu selesai untuk hari itu. Bila harga bertahan dan bergerak searah, EA membiarkannya sampai pukul 20:00 lalu menutupnya secara paksa, berapa pun hasilnya saat itu.
Pola ini menjelaskan dua hal. Pertama, hasil satu hari sangat bergantung pada satu keputusan masuk yang tidak punya kesempatan kedua. Kedua, semua keuntungan yang menumpuk siang hari bisa hilang di penutupan pukul 20:00 bila harga berbalik menjelang sore. Tidak ada mekanisme yang mengunci sebagian keuntungan di tengah jalan.
Ada satu efek samping dari jadwal ini yang jarang dibicarakan. Karena penutupan pukul 20:00 mengikuti jam server, dan jam server tiap broker berbeda, posisi Anda bisa ditutup saat sesi New York masih berjalan di satu broker tetapi setelah sesi London berakhir di broker lain. Pada hari ketika berita besar dirilis pukul 19:30 waktu server, EA hanya punya sekitar tiga puluh menit untuk bereaksi sebelum menutup semuanya. Bila Anda membandingkan hasil antar broker, pastikan jam server keduanya setara lebih dulu, kalau tidak perbandingannya tidak bermakna.
Kenapa satu magic number itu penting
Kelima instrumen memakai magic number yang sama. Bila Anda menjalankan EA lain di akun yang sama dan EA itu kebetulan memakai 47382, kedua EA akan saling menganggap posisi lawan sebagai miliknya. Pada fitur penutupan drawdown, akibatnya lebih serius: ambang tercapai karena kerugian di satu pasar, lalu EA menutup semua posisi bermagic 47382, termasuk posisi yang dibuka oleh EA lain tersebut.
Karena itu, hal pertama yang sebaiknya diubah sebelum pemasangan adalah magic number, bukan lot atau level risiko. Catat nomor baru Anda, karena nomor itu yang dipakai saat memeriksa riwayat transaksi dan saat membedakan posisi EA ini dari posisi manual.
Setelan yang wajar untuk uji pertama
Untuk pengujian awal, tiga hal lebih berguna daripada mengubah level risiko.
- Matikan One Chart Setup dan jalankan satu simbol saja, misalnya XAUUSD atau USDJPY, supaya Anda bisa membaca hasilnya per pasar tanpa menebak pasar mana yang menghasilkan kerugian.
- Aktifkan Spread Filter dan isi Max Spread Points dengan angka yang masuk akal untuk broker Anda, karena tanpa itu entri bisa terjadi saat spread sedang melebar di pembukaan sesi.
- Nyalakan Close Trades On Equity Drawdown dengan ambang yang lebih ketat dari 4,0 persen selama masa uji, misalnya 2 persen, supaya satu hari buruk tidak menghabiskan seluruh ruang uji Anda.
Setelah perilakunya jelas, ambang drawdown itu bisa dilonggarkan atau disesuaikan dengan aturan prop firm yang Anda ikuti.
Yang sebaiknya tidak dilakukan justru menaikkan Risk Level ke High untuk mengejar hasil. Pada konfigurasi default, High berarti 2 persen risiko dengan stop 1 persen dari harga, yang artinya nilai posisi sekitar dua kali saldo. Itu bukan angka yang aman untuk akun yang baru diuji.
Pertanyaan yang layak diajukan ke penjual
Karena tidak ada dokumentasi resmi di dalam paket, beberapa pertanyaan ini akan menjawab hal yang tidak bisa dibaca dari kode. Tanyakan versi mana yang dijual dan apakah watermark "Free Forex Tools" memang bagian dari produk atau sisa dari sumber lain. Tanyakan juga apakah ada rencana menambahkan filter lebar range, karena nama produk menjanjikannya tetapi kodenya tidak memuatnya.
Pertanyaan berikutnya soal hasil. Bila penjual menampilkan kurva ekuitas, mintalah periode pengujian, simbol yang dipakai, dan setelan lot. Tanpa tiga informasi itu, kurva apa pun tidak bisa dibandingkan dengan hasil Anda sendiri. Dan bila jawabannya berupa tangkapan layar tanpa nama broker, sebaiknya anggap belum ada bukti.
Kesimpulan
Tanpa take profit dan tanpa trailing stop, hasil EA ini sepenuhnya ditentukan oleh dua hal: apakah tembusan pagi berlanjut sampai jam 20:00, dan seberapa jauh stop loss ditempatkan. Itu pola yang bisa untung di hari tren dan rugi berulang di hari bolak-balik. Range breakout murni memang begitu sifatnya, dan tidak ada penyaring tambahan di dalam kode yang mengubahnya.
Jangan langsung percaya pada hasil optimis di halaman produk, dan jangan memakai akun riil sebelum Anda sendiri melihat perilakunya selama beberapa pekan di akun demo. Baca juga bagian kode yang mengatur lot dan stop loss, karena di situlah perbedaan antara risiko 1 persen yang Anda kira dan risiko sebenarnya yang diambil EA.

Posting Komentar