Strategi Perdagangan Stochastic Rata-rata

Penulis:ChaoZhang, Tanggal: 2023-10-26 16:20:33
Tag:

img

Gambaran umum

Strategi ini didasarkan pada Ossilator Stochastic Rata-rata untuk penilaian sinyal perdagangan dan merupakan strategi trend following. Ini menghitung nilai rata-rata bergerak %K dan %D dari Ossilator Stochastic Rata-rata. Ketika golden cross terjadi, pergi panjang. Ketika death cross terjadi, pergi pendek. Ini adalah strategi trend berikut yang khas.

Logika Strategi

  1. Hitung nilai %K dan %D dari Oscillator Stochastic Rata-rata. %K adalah rata-rata pergerakan nilai acak yang dihitung berdasarkan harga penutupan selama periode tertentu, mencerminkan posisi relatif harga saat ini terhadap harga tertinggi dan terendah selama periode tertentu. %D adalah rata-rata pergerakan %K yang digunakan untuk mengkonfirmasi tren.

  2. Rata-rata bergerak yang lancar secara eksponensial (EMA) diterapkan pada %K dan %D masing-masing untuk mendapatkan nilai rata-rata _avg_k dan _avg_d dari Oscillator Stochastic Rata-rata.

  3. Tentukan sinyal perdagangan:

    • Sinyal beli: ketika _avg_k melintasi _avg_d dan _avg_d < 20, pergi panjang.

    • Sinyal jual: ketika _avg_k melintasi di bawah _avg_d dan _avg_d > 80, pergi pendek.

  4. Manajemen posisi:

    • Long stop loss: close long ketika _avg_d > 80

    • Short stop loss: close short ketika _avg_d < 20

  5. Mengizinkan maksimal 3 perintah ke arah yang sama, yang merupakan strategi piramida.

Keuntungan

  1. Menggunakan rata-rata bergerak ganda untuk menentukan salib emas dan salib kematian dapat secara efektif menyaring penyebaran palsu dan meningkatkan kualitas sinyal.

  2. Menggunakan Oscillator Stochastic Rata-rata dapat secara efektif melacak tren harga.

  3. Menggabungkan zona overbought dan oversold membantu menghindari perdagangan yang sering di pasar range bound.

  4. Mengizinkan piramida dapat mendapatkan lebih banyak keuntungan di pasar tren.

  5. Strategi stop loss mengendalikan kerugian tunggal.

Risiko

  1. Strategi perdagangan rata-rata bergerak ganda cenderung menghasilkan perdagangan yang sering, yang akan mempengaruhi profitabilitas jika biaya transaksi terlalu tinggi.

  2. Menggunakan titik stop loss tetap dapat menghentikan kerugian terlalu awal keluar dari tren.

  3. Terlalu banyak piramida bisa memperbesar kerugian.

  4. Hal ini tidak dapat secara efektif menentukan titik pembalikan tren dan dapat menyebabkan kerugian besar ketika tren membalik.

  5. Periode parameter perlu dioptimalkan karena periode yang berbeda dapat menghasilkan hasil yang sangat berbeda.

Optimalisasi

  1. Pertimbangkan untuk memperkenalkan indikator penilaian tren untuk menghindari perdagangan kontra-tren.

  2. Secara dinamis menyesuaikan titik stop loss untuk lebih sesuai dengan tren.

  3. Mengoptimalkan strategi piramida, misalnya, meningkatkan ukuran posisi secara progresif.

  4. Masukkan indikator lain untuk menilai pembalikan tren dan keluar keuntungan lebih awal.

  5. Optimasi parameter uji secara terpisah untuk produk yang berbeda untuk meningkatkan kemampuan beradaptasi.

Ringkasan

Singkatnya, ini adalah strategi trend berikut yang khas. Ini menggunakan Average Stochastic Oscillator untuk menentukan arah tren dan piramida ketika tren terjadi. Keuntungannya adalah kemampuan pelacakan yang kuat yang cocok untuk pasar tren. Tetapi penting untuk menghindari perdagangan kontra tren. Optimasi lebih lanjut dapat dilakukan dengan memperkenalkan penilaian tren, mengoptimalkan strategi stop loss, mengendalikan waktu piramida, dll. Dengan pemilihan parameter yang tepat, hasil pelacakan yang baik dapat dicapai.


/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//1. AVG Stochastic Calculate
//1.1 AVG %K is calculated by apply EMA with smooth K period on Average of Original Stochastic %k & %d
//+ avg_k=ema((%k+%d)/2,smoothK)
//1.2 AVG %D is calculated by apply EMA with %d period on AVG %K
//+ avg_d=ema(avg_k,periodD)
//2. Parameter
//+ %K Length: 21
//+ %K Smoothing: 3
//+ %D Smoothing: 3
//+ Symbol: BTC/USDT
//+ Timeframe: M30
//+ Pyramiding: Maximum 3 orders at the same direction.
//3. Signal
//3.1 Buy Signal
//+ Entry: AVG %K crossover AVG %D and AVG %D < 20
//+ Exit: AVG %D > 80 
//3.2 Sell Signal
//+ Entry: AVG %K crossunder AVG %D and AVG %D > 80
//+ Exit: AVG %D < 20 
strategy(title="AVG Stochastic Strategy [M30 Backtesting]", overlay=true, pyramiding=3)
periodK = input.int(21, title="%K Length", minval=1)
smoothK = input.int(3, title="%K Smoothing", minval=1)
periodD = input.int(3, title="%D Smoothing", minval=1)
k = ta.sma(ta.stoch(close, high, low, periodK), smoothK)
d = ta.sma(k, periodD)
_avg_k=ta.ema(math.avg(k,d),smoothK)
_avg_d=ta.ema(_avg_k,periodD)
up=
   _avg_k[1]<_avg_d[1]
   and _avg_k>_avg_d
   and _avg_d<20
dn=
   _avg_k[1]>_avg_d[1]
   and _avg_k<_avg_d
   and _avg_d>80
var arr_val=0
if up
    arr_val:=1
    strategy.entry("Long", strategy.long)
if dn
    arr_val:=-1
    strategy.entry("Short", strategy.short)
if up[1] or dn[1]
    arr_val:=0
plotarrow(arr_val,title="Signal",colorup=color.green,colordown=color.red)
if _avg_d>80 
    strategy.close("Long")
if _avg_d<20 
    strategy.close("Short")
//EOF

Lebih banyak