GeeGitMEDIA
XAU/EUR (Emas vs Euro)

Breakout Multifilter: EMA + RSI + Bollinger Bands di XAU/EUR

Breakout MultifilterEMARSIBollinger Bands
Tingkat bukti: Backtest + uji real-time H1 unggul di backtest tapi gagal real-time; H4 sebaliknya.
Paper yang dibahas
Pengembangan Strategi Breakout Berbasis Expert Advisor dengan Integrasi EMA, RSI dan Bollinger Bands untuk Trading XAUEUR di MetaTrader 5: Studi Implementasi pada Akun Standard XM
Izhar Ghifari, Haikal Rahman
IKRAITH-EKONOMIKA, Vol. 8 No. 2, 2025 (Bisnis Digital, Fakultas Ekonomi, Unimed)

Paper ini merancang EA "Breakout Multifilter" yang menggabungkan tiga indikator sekaligus sebagai penyaring sinyal: Bollinger Bands (volatilitas dan level breakout), EMA (arah tren), dan RSI (kekuatan momentum). Idenya: satu indikator saja gampang memicu sinyal palsu, tiga indikator yang harus "setuju" bareng diharapkan menyaring noise itu.

EA diuji di dua timeframe (H1 dan H4) memakai data historis 3 tahun (2022–2025), lalu divalidasi dengan real-time testing selama satu bulan plus uji statistik T-Test.

Temuan paling penting adalah dikotomi H1 vs H4: skenario H1 unggul telak di backtesting tapi GAGAL TOTAL saat real-time. Sebaliknya skenario H4 lebih lemah di simulasi tapi justru terbukti tangguh dan profitable saat real-time.

Kesimpulan penulis: H4 lebih layak diimplementasikan karena stabilitasnya superior, sekaligus menegaskan peran krusial real-time testing — backtest sendirian bisa menyesatkan. Ini contoh nyata overfitting: strategi bisa "menghafal" pola spesifik data historis H1 yang tidak berulang di kondisi baru.

Ilustrasi Kode Expert Advisor

Kode di bawah adalah ilustrasi struktur logika untuk belajar — bukan EA siap pakai. Jangan dijalankan di akun riil tanpa kamu pahami dan uji sendiri.
//+------------------------------------------------------------------+
//| ILUSTRASI EDUKASI: Breakout Multifilter EMA + RSI + Bollinger    |
//| Sinyal hanya valid jika KETIGA indikator sepakat searah          |
//+------------------------------------------------------------------+
input int    EMA_Period      = 50;
input int    RSI_Period      = 14;
input int    BB_Period       = 20;
input double BB_Deviation    = 2.0;
input double RSI_BullLevel   = 55.0;   // ambang RSI dianggap "bullish"
input double RSI_BearLevel   = 45.0;   // ambang RSI dianggap "bearish"

int emaHandle, rsiHandle, bbHandle;

int OnInit() {
   emaHandle = iMA(_Symbol, PERIOD_CURRENT, EMA_Period, 0, MODE_EMA, PRICE_CLOSE);
   rsiHandle = iRSI(_Symbol, PERIOD_CURRENT, RSI_Period, PRICE_CLOSE);
   bbHandle  = iBands(_Symbol, PERIOD_CURRENT, BB_Period, 0, BB_Deviation, PRICE_CLOSE);
   return INIT_SUCCEEDED;
}

void OnTick() {
   double ema[], rsi[], bbUpper[], bbLower[];
   CopyBuffer(emaHandle, 0, 0, 1, ema);
   CopyBuffer(rsiHandle, 0, 0, 1, rsi);
   CopyBuffer(bbHandle, 1, 0, 1, bbUpper);  // buffer 1 = upper band
   CopyBuffer(bbHandle, 2, 0, 1, bbLower);  // buffer 2 = lower band

   double price = SymbolInfoDouble(_Symbol, SYMBOL_BID);
   bool trendUp   = price > ema[0];
   bool momentumUp = rsi[0] > RSI_BullLevel;
   bool breakoutUp = price > bbUpper[0];

   bool trendDown   = price < ema[0];
   bool momentumDown = rsi[0] < RSI_BearLevel;
   bool breakoutDown = price < bbLower[0];

   if (PositionsTotal() == 0) {
      if (trendUp && momentumUp && breakoutUp) {
         // trade.Buy(lotSize, _Symbol);
      } else if (trendDown && momentumDown && breakoutDown) {
         // trade.Sell(lotSize, _Symbol);
      }
   }
}

Seluruh artikel di Trading Zone membahas metode dari paper akademik yang sudah terbit — tujuannya murni edukasi (belajar metode dari literatur ilmiah), BUKAN sinyal atau rekomendasi beli/jual. Kode EA yang ditampilkan adalah ilustrasi struktur logika untuk belajar, bukan kode produksi siap pakai. Kami mendorong kamu membaca paper aslinya secara lengkap dan menguji sendiri di akun demo sebelum menyimpulkan apa pun. Perdagangan berjangka/forex adalah transaksi high-risk, high-return.

Ulasan lain di Trading Zone