Strategi Pullback Purata Bergerak

Penulis:ChaoZhang, Tarikh: 2023-12-19 11:55:25
Tag:

img

Ringkasan

Strategi pullback purata bergerak mengesan persimpangan purata bergerak harga, dan mengenal pasti peluang pullback untuk membuat perdagangan kontra-trend apabila persimpangan emas berlaku.

Logika Strategi

Inti strategi ini melibatkan dua purata bergerak - EMA 14 hari dan SMA 56 hari. Ia mencetuskan isyarat beli apabila EMA 14 hari melintasi di atas SMA 56 hari dari bawah. Selepas itu, strategi melihat ke belakang 20 hari untuk mencari swing rendah sebagai sokongan. Digabungkan dengan harga penutupan pada titik persimpangan, garis tarik balik Fibonacci digambarkan, dengan 1.272 garis tarik balik sebagai pintu masuk dan 0.618 sebagai pintu keluar. Oleh itu, strategi menetapkan titik masuk untuk pergi pendek selepas salib emas, dan mengambil keuntungan jika harga benar-benar menarik kembali ke garis 0.618.

Langkah-langkah utama strategi ini ialah:

  1. Mengira EMA 14 hari dan SMA 56 hari;
  2. Periksa sama ada EMA melintasi di atas isyarat melintasi emas SMA;
  3. Lihat ke belakang untuk mencari ayunan rendah untuk sokongan;
  4. Menggambar garis tarik balik Fibonacci dengan titik rendah dan persilangan;
  5. Set entry untuk pendek di garis pullback 1.272;
  6. Tetap ambil keuntungan di garis pulback 0.618.

Di atas menjelaskan aliran kerja utama dan logik di sebalik strategi penarikan ini.

Kelebihan

Kelebihan utama strategi pulback purata bergerak ini adalah:

  1. Idea strategi adalah mudah dan mudah difahami;
  2. Menggunakan teori Fibonacci untuk menetapkan kawalan risiko yang lebih baik;
  3. Dapat menangkap peluang pembalikan jangka pendek untuk keuntungan yang baik;
  4. Hanya memerlukan purata emas untuk mencetuskan entri.

Ringkasnya, ini sangat sesuai untuk perdagangan gaya pembalikan purata jangka pendek. Ia menangkap peluang mundur untuk keuntungan. Strategi ini juga mudah dan mudah dilaksanakan.

Risiko

Walaupun ada kebaikan, terdapat juga risiko tertentu untuk diperhatikan untuk strategi ini:

  1. Holding panjang boleh membawa kepada kerugian besar, kerana kita adalah shorting kontra-trend;
  2. Besar pulpback terlalu kecil untuk mencapai mengambil keuntungan;
  3. Tetapan garis tarik balik yang terlalu agresif.

Untuk mengurangkan risiko, kita boleh menetapkan jangka masa stop loss yang pendek untuk mengawal kerugian; juga mengoptimumkan julat garis tarik balik untuk menyasarkan sasaran keuntungan yang munasabah.

Peluang Peningkatan

Masih banyak ruang untuk mengoptimumkan strategi pulback purata bergerak ini:

  1. Uji tetapan parameter yang berbeza pada item seperti tempoh purata bergerak, hari melihat kembali, kelipatan Fibonacci dan lain-lain untuk mencari optimum;

  2. Tambahkan mekanisme stop loss seperti stop berbilang atau trailing stop untuk mengawal risiko dengan lebih baik;

  3. Memperkenalkan penunjuk lain sebagai FILTER untuk mengelakkan keadaan pasaran yang tidak sesuai;

  4. Mengoptimumkan ukuran kedudukan dan peraturan pengurusan risiko.

Melalui ujian dan pengoptimuman yang ketat, peningkatan yang ketara dapat dicapai untuk strategi perdagangan ini.

Kesimpulan

Strategi pulback purata bergerak adalah strategi perdagangan jangka pendek yang sangat praktikal. Ia menangkap peluang membalikkan purata apabila harga menarik balik dalam jangka pendek. Idea strategi adalah mudah dan mudah difahami. Masih ada risiko yang perlu ditangani melalui pengoptimuman dan kawalan risiko. Secara keseluruhan ini adalah strategi kuantitatif yang menjanjikan yang layak untuk penyelidikan dan penerapan 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)

Lebih lanjut