GeeGitMEDIA
Forex (MetaTrader 4)

Konfirmasi Ganda: EA Stochastic + MACD di MetaTrader 4

Konfirmasi GandaStochasticMACDTrailing Stop
Tingkat bukti: Uji fungsional saja Hanya diuji 'apakah EA jalan sesuai aturan'. Tanpa profit factor atau drawdown.
Paper yang dibahas
Perancangan Expert Advisor untuk Trading Otomatis Forex Menggunakan Indikator Stochastic dan MACD pada Platform MetaTrader 4
Febryan Siaurence, Hotma Pangaribuan
Jurnal Comasie, Vol. 6 No. 1 (2022) — Universitas Putera Batam

Paper ini merancang EA yang memakai prinsip konfirmasi ganda: transaksi hanya dibuka bila indikator MACD dan Stochastic memberi sinyal ke arah yang sama pada saat bersamaan. Idenya mirip paper EMA+RSI+Bollinger di seri ini — menyaring sinyal palsu dengan menuntut kesepakatan antar indikator.

MACD dipakai membaca arah dan momentum tren, sementara Stochastic membaca kondisi jenuh beli/jenuh jual. Kombinasi keduanya dimaksudkan menutupi kelemahan masing-masing: MACD cenderung terlambat, Stochastic cenderung terlalu sering memberi sinyal di pasar menyamping.

Sisi penutupan transaksi ditangani otomatis lewat take profit, stop loss, dan trailing stop yang nilainya diisi trader pada tab Input. Penulis juga menyediakan tab parameter untuk pengaturan money management.

Batas yang perlu disebut terus terang: paper ini fokus pada PERANCANGAN dan pengujian fungsional — apakah EA berhasil membuka dan menutup transaksi sesuai aturan yang diprogram. Penelitian dinyatakan berhasil bila "expert advisor dapat berjalan dengan baik dan telah siap digunakan". Tidak ada laporan profit factor, drawdown, atau backtest jangka panjang seperti pada paper Donchian atau Ichimoku di seri ini. Jadi paper ini bagus untuk belajar STRUKTUR pemrograman EA konfirmasi ganda, bukan untuk menyimpulkan strateginya menguntungkan.

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: Konfirmasi ganda MACD + Stochastic            |
//| Entry hanya bila KEDUA indikator sepakat arah                    |
//+------------------------------------------------------------------+
input int    MACD_Fast   = 12;
input int    MACD_Slow   = 26;
input int    MACD_Signal = 9;
input int    Stoch_K     = 5;
input int    Stoch_D     = 3;
input int    Stoch_Slow  = 3;
input double OversoldLvl = 20.0;
input double OverboughtLvl = 80.0;
input int    TrailingStopPoints = 200;

int macdHandle, stochHandle;

int OnInit() {
   macdHandle  = iMACD(_Symbol, PERIOD_CURRENT, MACD_Fast, MACD_Slow, MACD_Signal, PRICE_CLOSE);
   stochHandle = iStochastic(_Symbol, PERIOD_CURRENT, Stoch_K, Stoch_D, Stoch_Slow, MODE_SMA, STO_LOWHIGH);
   return INIT_SUCCEEDED;
}

void OnTick() {
   double macdMain[], macdSig[], stochMain[], stochSig[];
   CopyBuffer(macdHandle, 0, 0, 2, macdMain);
   CopyBuffer(macdHandle, 1, 0, 2, macdSig);
   CopyBuffer(stochHandle, 0, 0, 2, stochMain);
   CopyBuffer(stochHandle, 1, 0, 2, stochSig);

   // MACD: garis utama memotong garis sinyal = pergantian momentum
   bool macdBull = macdMain[0] > macdSig[0] && macdMain[1] <= macdSig[1];
   bool macdBear = macdMain[0] < macdSig[0] && macdMain[1] >= macdSig[1];

   // Stochastic: cross harus datang dari wilayah jenuh, bukan tengah
   bool stochBull = stochMain[0] > stochSig[0] && stochMain[1] <= stochSig[1] && stochMain[1] < OversoldLvl;
   bool stochBear = stochMain[0] < stochSig[0] && stochMain[1] >= stochSig[1] && stochMain[1] > OverboughtLvl;

   if (PositionsTotal() == 0) {
      if (macdBull && stochBull) {
         // trade.Buy(lot, _Symbol);
      } else if (macdBear && stochBear) {
         // trade.Sell(lot, _Symbol);
      }
   } else {
      ManageTrailingStop(TrailingStopPoints);   // penutupan diserahkan ke trailing stop
   }
}

void ManageTrailingStop(int points) {
   // Menggeser stop loss mengikuti harga setelah posisi untung,
   // sesuai mekanisme trailing stop yang dibahas paper.
}

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