Strategi pullback rata-rata bergerak


Tanggal Pembuatan: 2023-12-19 11:55:25 Akhirnya memodifikasi: 2023-12-19 11:55:25
menyalin: 1 Jumlah klik: 719
1
fokus pada
1621
Pengikut

Strategi pullback rata-rata bergerak

Ringkasan

Sebuah strategi perdagangan kuantitatif yang melakukan operasi terbalik jika ada peluang untuk menarik kembali ketika terjadi Gold Forks. Strategi ini menggunakan Fibonacci Retracement to set entry point dan stop loss to capture short-term price pullback.

Prinsip Strategi

Strategi ini didasarkan pada dua rata-rata bergerak: EMA 14 hari dan SMA 56 hari. Ketika EMA 14 hari melewati SMA 56 hari dari bawah, kode tersebut menghasilkan sinyal beli. Setelah itu, kode akan kembali ke hari ke-20 untuk menemukan titik rendah sebagai dukungan, lalu menggabungkan harga dekat dengan titik persimpangan untuk memetakan garis Fibonacci retracement, dengan 1.272x retracement sebagai entrance, dan 0.618x retracement sebagai exit.

Strategi ini terdiri dari beberapa langkah:

  1. EMA 14 hari dan SMA 56 hari
  2. Untuk menentukan apakah ada sinyal garpu emas yang melintasi SMA di EMA;
  3. Saya tidak tahu apa yang harus saya lakukan, tapi saya tidak akan pernah berhenti.
  4. Fibonacci retracement line dengan menggunakan titik rendah dan posisi Goldilocks;
  5. Pada 1.272 putaran garis tarik diatur titik masuk kosong;
  6. Tetapkan titik tolak pada 0,618 putaran.

Ini adalah proses dan prinsip kerja utama dari strategi tersebut. Strategi ini dapat menangkap peluang untuk mendapatkan keuntungan ketika harga mengalami penurunan jangka pendek.

Keunggulan Strategis

Strategi ini memiliki beberapa keuntungan utama:

  1. Strategi yang jelas dan sederhana, mudah dipahami dan diimplementasikan;
  2. Menggunakan teori Fibonacci untuk mengatur titik masuk dan berhenti, pengendalian risiko lebih baik;
  3. Untuk mendapatkan keuntungan yang lebih baik dari keuntungan tunggal, Anda dapat menangkap peluang untuk membalikkan harga dalam jangka pendek.
  4. Hanya membutuhkan satu sinyal moving average yang dapat dipraktekkan.

Secara keseluruhan, strategi ini sangat cocok digunakan untuk melakukan short line reversal trading, untuk menangkap peluang seperti ini jika terjadi penurunan pasar. Strategi ini juga lebih mudah untuk diterapkan secara langsung.

Risiko Strategis

Meskipun ada keuntungan dari strategi ini, ada juga risiko yang perlu diperhatikan:

  1. Jika kita terus memegang saham dalam jangka panjang, kita bisa mengalami kerugian besar.
  2. Jika penarikan kembali terlalu kecil, maka tidak ada keuntungan. Jika penarikan kembali terlalu kecil, maka tidak ada keuntungan.
  3. Mungkin ada risiko seting yang terlalu tinggi. Garis tarik kembali yang terlalu tinggi tidak dapat disentuh untuk menciptakan peluang arbitrage. Perlu dihitung jarak tarik kembali yang wajar.

Untuk risiko di atas, kita dapat mengatur waktu stop loss yang lebih pendek, dan secara ketat mengontrol kerugian tunggal; sementara mengoptimalkan rentang rentang garis mundur, dan menetapkan target keuntungan yang masuk akal, sehingga menghindari sebagian risiko.

Arah optimasi

Ada banyak ruang untuk pengoptimalan dalam strategi ini, terutama dari beberapa aspek:

  1. Uji parameter yang berbeda, seperti panjang siklus rata-rata bergerak, jumlah hari mundur, dan perkalian garis mundur, untuk menemukan parameter yang optimal.

  2. Peningkatan mekanisme penghentian kerugian, yang dapat menggunakan penghentian kerugian berganda atau bergerak, untuk mengendalikan risiko dengan lebih baik;

  3. Dalam kombinasi dengan indikator FILTER lainnya, untuk menghindari perdagangan dalam kondisi pasar yang tidak menguntungkan;

  4. Mengoptimalkan pengelolaan dana, menetapkan ukuran posisi yang wajar dan ambang risiko.

Dengan pengujian dan pengoptimalan parameter, strategi ini dapat ditingkatkan lebih lanjut, sehingga menghasilkan kinerja perdagangan yang lebih stabil.

Meringkaskan

Strategi Moving Average Retracement adalah strategi perdagangan garis pendek yang sangat praktis. Ini dapat menangkap peluang reversal harga dalam waktu singkat, melakukan perdagangan melalui titik masuk dan titik berhenti yang telah ditetapkan. Ide strategi jelas dan sederhana, mudah dipahami dan diterapkan.

Kode Sumber Strategi
/*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)