Strategi pullback rata-rata bergerak melacak persimpangan rata-rata bergerak harga, dan mengidentifikasi peluang pullback untuk melakukan perdagangan kontra-tren saat persimpangan emas terjadi.
Inti dari strategi ini melibatkan dua rata-rata bergerak - EMA 14 hari dan SMA 56 hari. Ini memicu sinyal beli ketika EMA 14 hari melintasi di atas SMA 56 hari dari bawah. Setelah itu, strategi melihat ke belakang 20 hari untuk menemukan swing low sebagai dukungan. Dikombinasikan dengan harga penutupan pada titik crossover, garis pullback Fibonacci digambarkan, dengan 1.272 garis pullback sebagai entri dan 0.618 sebagai keluar. Dengan demikian strategi menetapkan titik masuk untuk pergi pendek setelah melintasi emas, dan mengambil keuntungan jika harga benar-benar menarik kembali ke garis 0.618.
Langkah-langkah utama dari strategi ini adalah:
Hal di atas menjelaskan alur kerja utama dan logika di balik strategi penarikan ini.
Keuntungan utama dari strategi pulback rata-rata bergerak ini adalah:
Singkatnya, ini sangat cocok untuk perdagangan gaya pembalikan rata-rata jangka pendek. Ini menangkap peluang mundur untuk mendapatkan keuntungan. Strategi ini juga sederhana dan mudah diterapkan.
Terlepas dari pro, ada juga risiko tertentu untuk dicatat untuk strategi ini:
Untuk mengurangi risiko, kita dapat menetapkan jangka waktu stop loss yang pendek untuk mengendalikan kerugian; juga mengoptimalkan rentang garis pullback untuk menargetkan target keuntungan yang wajar.
Masih banyak ruang untuk mengoptimalkan strategi pulback rata-rata bergerak ini:
Uji pengaturan parameter yang berbeda pada item seperti periode rata-rata bergerak, hari lookback, kelipatan Fibonacci dll untuk menemukan yang optimal;
Menambahkan mekanisme stop loss seperti stop multiple atau trailing stop untuk mengendalikan risiko dengan lebih baik;
Memperkenalkan indikator lain sebagai FILTER untuk menghindari kondisi pasar yang tidak cocok;
Mengoptimalkan ukuran posisi dan aturan manajemen risiko.
Melalui pengujian dan optimasi yang ketat, peningkatan yang signifikan dapat dicapai untuk strategi perdagangan ini.
Strategi pullback rata-rata bergerak adalah strategi perdagangan jangka pendek yang sangat praktis. Strategi ini menangkap peluang-peluang yang membalikkan rata-rata ketika harga menarik kembali dalam jangka pendek. Ide strategi sederhana dan mudah dipahami. Masih ada risiko yang perlu ditangani melalui optimasi dan pengendalian risiko. Secara keseluruhan ini adalah strategi kuantitatif yang menjanjikan yang layak untuk penelitian dan aplikasi lebih lanjut.
/*backtest start: 2022-12-12 00:00:00 end: 2023-12-18 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("MAC Pullback", overlay=true) // Setting up timeperiod for testing startPeriodYear = input(2014, "Backtest Start Year") startPeriodMonth = input(1, "Backtest Start Month") startPeriodDay = input(2, "Backtest Start Day") testPeriodStart = timestamp(startPeriodYear, startPeriodMonth, startPeriodDay, 0, 0) stopPeriodYear = input(2035, "Backtest Stop Year") stopPeriodMonth = input(12, "Backtest Stop Month") stopPeriodDay = input(30, "Backtest Stop Day") testPeriodStop = timestamp(stopPeriodYear, stopPeriodMonth, stopPeriodDay, 0, 0) // Moving Averages ema14 = ema(close, 14) ema28 = ema(close, 28) sma56 = sma(close, 56) // Plot plot(ema14, title="ema14", linewidth=2, color=green) plot(ema28, title="ema28", linewidth=2, color=red) plot(sma56, title="sma56", linewidth=3, color=blue) // Strategy goLong = cross(ema14, sma56) and ema14 > ema28 goShort = cross(ema14, sma56) and ema14 < ema28 // Locate Swing Lows leftBars = input(20) rightBars=input(20) swinglow = pivotlow(close, leftBars, rightBars) plot(swinglow, style=cross, linewidth=8, color=#00FF00, offset=-rightBars) if goLong == true and time >= testPeriodStart and time <= testPeriodStop // We try to make sure that we're catching the first Pullback after the crossover if ema14[12] < sma56[12] pivotpoint = lowest(40)[0] //lowest value of the month as our swing low // We calculate a Fib 1.272 extension (from the previous swing low to // the crossover long entry's open) and use this as our entry target to short the Pullback extensiontarget = ((close[1] - pivotpoint) * 1.27) + pivotpoint shorttarget = ((close[1] - pivotpoint) * 0.618) + pivotpoint strategy.order("Pullback", strategy.short, 5.0, limit=extensiontarget) // I would like to use a trailing stop but for know we just hope to get // filled if the pullback reaches all the way down to the 0.618. // We also place a tight stop loss since we trying to short an uptrend strategy.exit("Pullback Exit", "Pullback", limit=shorttarget, loss=400)