EA berbasis sinyal UT Bot + Multi-EMA Structure Filter + DirLock (Tick Dominance). BUY & SELL berjalan independent, dynamic trailing tiga fase, tanpa sistem hedge. Dirancang untuk akurasi entry tinggi dengan manajemen posisi yang fleksibel.
Falcon Ravager v5.6 adalah EA yang menggabungkan tiga lapisan konfirmasi sebelum entry: struktur market (EMA), momentum flip (UT Bot), dan tekanan tick realtime (DirLock).
Tidak ada hedge, tidak ada recovery martingale. Setiap posisi dibuka berdasarkan sinyal yang valid dan dikelola dengan trailing dinamis.
BUY dan SELL masing-masing memiliki slot MaxLayer sendiri. Keduanya bisa aktif bersamaan selama sinyal masing-masing terpenuhi.
Magic number dipisah: FR_BUY_MAGIC = 250001 dan FR_SELL_MAGIC = 250002 sehingga tracking floating, layer, dan exit masing-masing independen.
UT Bot adalah ATR-based trailing stop yang mendeteksi momentum flip. Sinyal muncul saat harga melintasi garis trailing stop dari arah yang benar.
[1] (sudah closed), bukan candle [0] yang masih berjalan. Ini memastikan sinyal tidak berubah setelah terbentuk.Filter ini memastikan entry hanya terjadi saat harga berada di posisi struktural yang benar terhadap EMA yang dipilih.
Close di atas semua EMA aktif sekaligus. Jika EMA1 (10) dan EMA3 (50) aktif, maka close harus > EMA10 dan > EMA50.
Close di bawah semua EMA aktif sekaligus. Jika ada EMA yang belum tembus, sinyal tidak valid.
DirLock menganalisis tekanan tick realtime pada TF chart. Sebelum DirLock terkunci, EA tidak akan entry meskipun UT Bot sudah signal.
Ketika UT Bot menghasilkan sinyal baru di arah berlawanan (BarsAgo = 0), semua posisi di arah lama langsung ditutup.
Contoh: Ada 3 posisi BUY aktif. UT Bot SELL signal muncul → ketiga BUY ditutup sekaligus.
Dapat di-toggle via parameter UseSignalFlip.
Ketika total floating semua posisi (BUY + SELL combined) mencapai atau melampaui nilai LockProfit, semua posisi ditutup.
Ini adalah target profit harian per siklus trading. Setelah close, EA menunggu dominance baru sebelum entry lagi.
DEFAULT Setiap posisi dievaluasi secara individual. Posisi yang floating loss-nya mencapai -MaxFloatingLoss ditutup sendiri, posisi lain tetap berjalan.
Semua posisi dievaluasi secara combined. Ketika total floating semua posisi (BUY + SELL) mencapai -MaxFloatingLoss, semua posisi ditutup sekaligus.
MaxFloatingLoss adalah dalam satuan mata uang akun (USD/IDR dst), bukan pip. Pastikan nilainya sesuai dengan ukuran akun dan risk tolerance Anda.Sistem trailing tiga fase yang dirancang agar posisi tidak ditutup terlalu dini saat terjadi koreksi normal, namun tetap melindungi profit saat sudah cukup jauh.
Posisi baru dibuka. Tidak ada SL yang dipasang. Posisi bebas bergerak. Tidak ada trailing aktif.
Berlaku sampai profit mencapai TrailBreakevenPips.
Saat profit ≥ TrailBreakevenPips pip, SL digeser ke harga open + spread. Posisi tidak bisa rugi setelah ini.
Default: aktif di 100 pip profit. SL = open price.
Saat profit ≥ TrailStartPips pip, SL mulai trailing mengikuti harga dengan jarak tetap TrailFixedPips. Jarak SL selalu konsisten dan predictable.
Default: aktif di 500 pip. SL = harga - TrailFixedPips pip (BUY) / harga + TrailFixedPips pip (SELL).
| Parameter | Default | Satuan | Penjelasan |
|---|---|---|---|
| LotSize | 0.01 | lot | Ukuran lot dasar untuk layer pertama. Pada mode Fixed, semua layer menggunakan nilai ini. Pada mode Linear/Martingale, ini adalah lot awal yang akan bertambah per layer. |
| MaxLayer | 10 | posisi | Jumlah maksimal posisi yang bisa dibuka per arah. BUY dan SELL masing-masing memiliki batas MaxLayer sendiri. Total posisi maksimal = MaxLayer × 2. |
| MaxSpread | 30 | pip | Batas maksimal spread. Jika spread melebihi nilai ini, seluruh proses di OnTick() dilewati. Melindungi dari eksekusi saat spread abnormal (news, low liquidity). |
| SpikeThreshold | 150 | pip | Batas pergerakan harga per tick. Jika satu tick bergerak ≥ nilai ini, semua posisi ditutup dan EA menunggu dominance baru. Melindungi dari spike harga tiba-tiba. |
| Slippage | 10 | pip | Toleransi slippage maksimal saat order eksekusi. Dalam pip. Nilai lebih tinggi meningkatkan peluang order terisi tapi dengan harga yang mungkin lebih buruk. |
| InvertSignal | false | bool | Balik arah semua sinyal entry. BUY menjadi SELL dan sebaliknya. Berguna untuk testing atau pair tertentu yang berperilaku terbalik dari biasanya. |
| Parameter | Default | Satuan | Penjelasan |
|---|---|---|---|
| LayerStepTier1 | 5 | pip | Jarak minimum antar layer saat spread normal (≤ SpreadTier1). Layer baru hanya bisa dibuka jika harga sudah bergerak minimal N pip dari posisi terakhir di arah yang sama. |
| LayerStepTier2 | 10 | pip | Jarak minimum antar layer saat spread medium (SpreadTier1 < spread ≤ SpreadTier2). Otomatis lebih jauh agar tidak over-entry saat spread mulai melebar. |
| LayerStepTier3 | 20 | pip | Jarak minimum antar layer saat spread lebar (> SpreadTier2). Layer paling jauh untuk menghindari entry terlalu rapat saat kondisi market kurang likuid. |
| Parameter | Default | Satuan | Penjelasan |
|---|---|---|---|
| LotMode | LOT_FIXED | enum |
Mode perhitungan lot per layer:
• FIXED: Semua layer pakai LotSize yang sama
• LINEAR: Layer N = LotSize + (N-1) × LotLinearStep. Contoh: 0.01, 0.02, 0.03...
• MARTINGALE: Layer N = LotSize × LotMultiplier^(N-1). Contoh: 0.01, 0.02, 0.04...
|
| LotLinearStep | 0.01 | lot | Tambahan lot per layer pada mode LINEAR. Layer 1=0.01, Layer 2=0.02, Layer 3=0.03, dst (jika LotSize=0.01 dan step=0.01). |
| LotMultiplier | 2.0 | multiplier | Pengali lot per layer pada mode MARTINGALE. Layer 1=0.01, Layer 2=0.02, Layer 3=0.04, Layer 4=0.08, dst (jika LotSize=0.01 dan multiplier=2.0).
⚠️ Gunakan dengan hati-hati — lot tumbuh eksponensial dan bisa menguras margin dengan cepat. |
| Parameter | Default | Satuan | Penjelasan |
|---|---|---|---|
| LockProfit | 5.00 | currency | Target profit per siklus. Ketika total floating (semua posisi BUY + SELL) mencapai nilai ini, semua posisi ditutup. Dalam satuan mata uang akun (USD, dll). |
| UseSignalFlip | true | bool | Aktifkan exit berbasis signal flip. Ketika UT Bot menghasilkan sinyal baru (BarsAgo=0) di arah berlawanan, semua posisi di arah lama ditutup sekaligus. Sangat efektif untuk mengurangi drawdown. |
| FloatingMode | FLOAT_LAYER | enum |
Mode pengecekan floating loss:
• FLOAT_LAYER: Cek per posisi individual. Posisi yang hit -MaxFloatingLoss ditutup sendiri, sisanya tetap jalan.
• FLOAT_TOTAL: Cek combined semua posisi. Jika total floating semua posisi hit -MaxFloatingLoss, semua ditutup.
|
| MaxFloatingLoss | 100.00 | currency | Batas floating loss. Interpretasi bergantung FloatingMode. Dalam satuan mata uang akun. Nilai ini adalah risiko maksimal per posisi (LAYER mode) atau per siklus (TOTAL mode). |
| Parameter | Default | Satuan | Penjelasan |
|---|---|---|---|
| UseDynamicTrail | true | bool | Aktifkan sistem trailing dinamis tiga fase. Jika false, tidak ada SL yang dipasang secara otomatis (posisi hanya keluar via LockProfit, FloatingLoss, atau SignalFlip). |
| TrailBreakevenPips | 100 | pip | Profit dalam pip untuk mengaktifkan Fase 2 (breakeven). Ketika posisi sudah untung sebesar ini, SL digeser ke harga open + spread. Posisi tidak bisa rugi setelah ini. |
| TrailStartPips | 500 | pip | Profit dalam pip untuk mengaktifkan Fase 3 (Fixed Pip trailing). Setelah profit mencapai nilai ini, SL mulai mengikuti harga dengan jarak tetap TrailFixedPips. Harus lebih besar dari TrailBreakevenPips. |
| TrailFixedPips | 30 | pip | Jarak fixed SL dari harga saat ini pada Fase 3. BUY: SL = bid − TrailFixedPips. SELL: SL = ask + TrailFixedPips. Bebas di-set sesuai volatilitas pair — makin volatile, makin besar nilainya.
Rekomendasi XAUUSD M1: 20–50 pip. Forex major: 10–30 pip. |
| Parameter | Default | Satuan | Penjelasan |
|---|---|---|---|
| UseUTBot | true | bool | Aktifkan UT Bot sebagai filter. Jika false, UT Bot tidak dihitung sama sekali dan sinyal EMA + DirLock cukup untuk entry (tergantung setting RequireXxx). |
| UTBot_KeyValue | 1.0 | multiplier | Sensitivitas ATR trailing stop UT Bot. Nilai lebih kecil = trailing lebih ketat = sinyal lebih sensitif tapi lebih banyak false signal. Nilai lebih besar = trailing lebih longgar = sinyal lebih jarang tapi lebih kuat. |
| UTBot_ATRPeriod | 10 | candle | Period ATR untuk perhitungan nLoss di UT Bot. Dihitung dari UTBot_TF. Nilai lebih kecil = lebih responsif terhadap volatilitas terkini. Nilai lebih besar = lebih smooth. |
| UTBot_TF | PERIOD_M5 | timeframe | Timeframe untuk sinyal UT Bot dan EMA filter. Sebaiknya lebih tinggi dari TF chart. Rekomendasi: chart M1 → set M5 atau M15, chart M5 → set M15 atau H1. |
| UTBot_Lookback | 3 | candle (UTBot_TF) | Berapa candle sinyal UT Bot masih dianggap valid. Jika sinyal muncul di candle C, masih berlaku hingga C+Lookback candle berikutnya. Sinyal baru di arah berlawanan langsung menggantikan. Nilai 0 = hanya valid di candle yang sama. |
| Parameter | Default | Satuan | Penjelasan |
|---|---|---|---|
| UseEMAFilter | true | bool | Aktifkan EMA structure filter secara global. Jika false, semua EMA dinonaktifkan meskipun EMA1_Active=true. |
| EMA1_Active | true | bool | Aktifkan EMA 1 sebagai salah satu filter. Jika aktif, close harus di atas (BUY) atau di bawah (SELL) EMA ini. |
| EMA1_Period | 10 | candle (UTBot_TF) | Period EMA 1. Dihitung dari UTBot_TF menggunakan candle yang sudah closed. Bisa diubah ke nilai apapun sesuai kebutuhan strategi. |
| EMA2~5_Active | false | bool | Aktifkan EMA 2 hingga 5. Default nonaktif. Setiap EMA yang diaktifkan menambah satu syarat konfirmasi struktur. Semakin banyak EMA aktif, semakin ketat filter. |
| EMA2~5_Period | 20/50/100/200 | candle (UTBot_TF) | Period masing-masing EMA 2 hingga 5. Dapat diubah bebas. Disarankan menggunakan nilai yang berbeda-beda untuk membaca struktur multi-level. |
| Parameter | Default | Satuan | Penjelasan |
|---|---|---|---|
| RequireDirLock | true | bool | DirLock wajib konfirmasi entry. Jika true, entry hanya terjadi jika DirLock terkunci searah sinyal. Jika false, DirLock diabaikan dan UT Bot + EMA cukup untuk entry.
Sangat disarankan tetap true — DirLock adalah timing entry per tick yang krusial. |
| RequireUTBot | true | bool | UT Bot sinyal wajib ada saat entry. Jika false, UT Bot diabaikan sebagai syarat entry (meskipun UseUTBot=true untuk display). |
| RequireEMA | true | bool | EMA structure filter wajib terpenuhi untuk entry. Set false untuk melonggarkan filter saat backtesting atau di market kondisi tertentu. |
| Parameter | Default | Satuan | Penjelasan |
|---|---|---|---|
| TickWindow | 90 | tick | Jumlah tick yang disimpan dalam buffer untuk analisis dominance. Buffer yang lebih besar = sinyal lebih stabil tapi lebih lambat merespons perubahan arah. |
| DominancePercent | 55 | persen (%) | Persentase minimum tick searah untuk mengklaim dominance. 55% artinya dari 90 tick, minimal 50 harus ke arah yang sama. Nilai lebih tinggi = lebih selektif. |
| MinPower | 0.3 | pip (rata-rata) | Rata-rata kekuatan minimal setiap tick. Menghindari DirLock terkunci saat market sangat choppy dengan banyak tick kecil. Dalam pip rata-rata per tick. |
| DirStabilityCount | 3 | konfirmasi | Berapa kali arah yang sama harus terdeteksi berturut-turut sebelum DirLock terkunci. Mencegah DirLock flip-flop di market noise. |
| Parameter | Default | Satuan | Penjelasan |
|---|---|---|---|
| UseSpreadAdaptive | true | bool | Aktifkan spread adaptive untuk LayerStep dinamis. Jika false, selalu menggunakan LayerStepTier1. |
| SpreadTickWindow | 50 | tick | Jumlah tick yang digunakan untuk menghitung rata-rata spread. Rata-rata ini menentukan tier spread yang aktif saat ini. |
| SpreadTier1 | 2.0 | pip | Batas atas spread untuk Tier 1 (normal). AvgSpread ≤ nilai ini → LayerStepTier1 aktif. |
| SpreadTier2 | 3.5 | pip | Batas atas spread untuk Tier 2 (medium). SpreadTier1 < AvgSpread ≤ nilai ini → LayerStepTier2. Di atas nilai ini → Tier 3 (LayerStepTier3). |
| Parameter | Default | Satuan | Penjelasan |
|---|---|---|---|
| UseDailyControl | true | bool | Aktifkan semua kontrol sesi harian: jam trading, daily target, daily max drawdown, dan guardian mode. |
| StartHourLocal | 7 | jam (local time) | Jam mulai sesi trading dalam waktu lokal. Dikombinasikan dengan StartMinuteLocal. |
| StopHourLocal | 4 | jam (local time) | Jam akhir sesi trading dalam waktu lokal. Jika StopHour < StartHour, sesi dianggap melewati tengah malam (misal 07:00 - 04:00 = 21 jam). |
| DailyTargetProfit | 50.00 | currency | Target profit harian. Ketika dailyProfit mencapai nilai ini, Guardian Mode aktif dan entry baru diblok. Posisi yang sudah ada tetap dimanage hingga close. |
| DailyMaxDrawdown | -30.00 | currency | Batas kerugian harian. Jika dailyProfit turun ke nilai ini, semua posisi ditutup, operasi dihentikan, dan Guardian Mode aktif hingga sesi berikutnya. Nilai harus negatif. |
| LocalGMTOffset | 8 | jam | Selisih waktu lokal Anda terhadap GMT. Indonesia WIB = GMT+7, WITA = GMT+8, WIT = GMT+9. Digunakan untuk konversi waktu sesi dan Guardian Mode. |
| GuardianHours | 4 | jam | Berapa jam sebelum StopHour, Guardian Mode otomatis aktif berdasarkan waktu. Melindungi profit akhir sesi dari entry baru yang berisiko. 4 jam = Guardian aktif 4 jam sebelum sesi berakhir. |
Status EA (ON AIR/IN HANGAR), runtime, status sesi, info broker, broker time, local time.
UTBot_TF, status sinyal UT Bot + berapa bar lalu, nilai ATR Trailing Stop, status Signal Flip, status EMA struktur, nilai setiap EMA aktif (above/below), status Signal Gate (OPEN/CLOSED).
Status, spread live, avg spread, tier aktif, dynamic layer step.
Status, trigger, status entry (OPEN/BLOCKED), countdown.
DirLock vector, pull UP%, pull DN%, net flow, thrust power, stability counter.
Daily profit, target, max DD, progress %, total profit, status misi.
Jumlah posisi BUY/SELL vs MaxLayer, floating BUY, floating SELL, total floating, floating mode, floating limit.
Status trailing, threshold fase 2 & 3, jarak SL fixed (pip), fase aktif per posisi.
Mode lot, preview L1>L4, lot untuk layer berikutnya BUY dan SELL.
Status level DD (NORMAL/CAUTION/WARNING/DANGER/CRITICAL), nilai DD, persentase DD.
Mulai EA. Reset semua state, catat balance awal sebagai baseBalance, mulai kalkulasi UT Bot dan DirLock. Log params snapshot ke CSV.
Hentikan EA dan tutup semua posisi. State direset tapi profit counter (daily/total) tidak direset.
HANGAR + reset semua profit counter (daily, total), session ID, base balance. Full clean slate.
Toggle logging CSV. Saat ON, setiap tick, entry, exit, dan signal dicatat ke file CSV di folder data MT5. Berguna untuk analisis backtest dan debugging.
Paling ketat. Entry paling sedikit tapi kualitas tertinggi. Cocok untuk akun kecil.
EMA diabaikan. Lebih banyak entry. Berguna di market yang sedang dalam transisi struktur.