RTS: Reaction Trend System dengan Volatilitas GARCH
Berbeda dari empat artikel lain di seri ini, paper ini adalah publikasi ilmiah di jurnal Elsevier (Software Impacts) yang khusus mewadahi kode penelitian reproducible — kodenya benar-benar tersedia publik di GitHub dan Code Ocean dengan lisensi MIT.
Strategi dasarnya, Reaction Trend System (RTS), awalnya diusulkan J. Welles Wilder di 1978 (pencipta RSI dan ATR). RTS bekerja dari 4 titik aksi (Action Points) yang membagi kondisi pasar jadi REACTION MODE (ranging/sideways) dan TREND MODE (uptrend/downtrend jelas).
Kontribusi paper: mengganti nilai tetap untuk menghitung titik aksi tersebut dengan kuantil dari model volatilitas GARCH (Bayesian bivariate DCC-GARCH via library R bayesDccGarch) — titik aksi jadi adaptif terhadap volatilitas pasar terkini, bukan angka kaku.
Alurnya lintas bahasa: kode R mengestimasi parameter (contoh: C_Trend=0,95 dan C_Reaction=0,50) dari data historis, lalu parameter itu dimasukkan ke Expert Advisor MQL5 di MetaTrader 5 untuk eksekusi sesungguhnya. Karena open-source, ini satu-satunya paper di seri ini yang hasilnya benar-benar bisa direproduksi orang lain secara langsung.
Ilustrasi Kode Expert Advisor
//+------------------------------------------------------------------+
//| ILUSTRASI EDUKASI: Kerangka RTS dengan ambang adaptif dari GARCH |
//| Parameter C_Trend & C_Reaction diestimasi terpisah lewat kode R |
//+------------------------------------------------------------------+
input double C_Trend = 0.95; // kuantil GARCH untuk mode TREND (diisi dari output R)
input double C_Reaction = 0.50; // kuantil GARCH untuk mode REACTION (diisi dari output R)
input int MagicNumber = 20220054;
enum MarketMode { MODE_REACTION, MODE_TREND };
MarketMode currentMode = MODE_REACTION;
// Placeholder: pada implementasi asli, deteksi mode berasal dari Action Points
// historis (Wilder, 1978) dibandingkan terhadap kuantil GARCH.
MarketMode DetectMarketMode() {
// if (hargaMelewatiActionPointTrend(C_Trend)) return MODE_TREND;
return MODE_REACTION;
}
void OnTick() {
currentMode = DetectMarketMode();
if (currentMode == MODE_REACTION) {
// Mode REACTION: entry/exit lebih sering mengikuti pantulan support/resistance
// jangka pendek — ambang dihitung dari kuantil C_Reaction.
} else {
// Mode TREND: EA membiarkan posisi berjalan mengikuti arah tren yang sudah
// terkonfirmasi, dengan ambang exit lebih longgar (C_Trend).
}
// Teknik "Phasing" Wilder (B/O/S) menentukan urutan hari transaksi diizinkan
// dibuka; paper ini menguji dengan teknik tersebut dinonaktifkan.
}
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.