Strategi Mengikuti Tren Rata-rata Pergerakan


Tanggal Pembuatan: 2023-11-02 16:58:23 Akhirnya memodifikasi: 2023-11-02 16:58:23
menyalin: 0 Jumlah klik: 613
1
fokus pada
1621
Pengikut

Strategi Mengikuti Tren Rata-rata Pergerakan

Ringkasan

Strategi pelacakan tren rata-rata bergerak menggunakan kombinasi rata-rata bergerak sederhana dan rata-rata bergerak cepat untuk menilai arah tren pasar, dan kemudian menghasilkan sinyal perdagangan. Strategi ini dioptimalkan secara dinamis tanpa mundur dan sinyal perdagangan real-time, yang dapat menangkap perubahan tren.

Prinsip Strategi

Strategi ini menggunakan fungsi sma untuk menghitung rata-rata bergerak sederhana dengan panjang 50 siklus sma, dan untuk menghitung rata-rata bergerak cepat fsma. ❚fsma dihitung dengan menambahkan harga pada dasar sma 6 kali lipat dari perbedaan standar n siklus.

Strategi ini menggunakan dua variabel boolean long dan short untuk mencatat posisi bullish dan shorting. Ketika harga naik melalui sma dan fsma, long ditempatkan sebagai 1, melakukan bullish; ketika harga turun, long ditempatkan sebagai -1, posisi kosong. Variabel short juga menggunakan logika yang sama untuk menangani posisi shorting.

Strategi menggunakan variabel tren untuk mencatat penilaian tren. Ketika harga lebih tinggi dari fsma dan sma, tren adalah 1, menunjukkan tren naik; Ketika harga lebih rendah dari fsma dan sma, tren adalah -1, menunjukkan tren turun.

Berdasarkan penilaian tren secara real-time, menghasilkan sinyal perdagangan panjang dan pendek. Ketika tren berubah dari turun ke atas, jika harga lebih tinggi dari fsma, lakukan lebih banyak; Ketika tren berubah dari naik ke bawah, jika harga lebih rendah dari sma, lakukan kosong.

Strategi ini mencakup metode untuk menilai tren dan melakukan transaksi terobosan, yang dapat secara efektif menangkap peluang perdagangan yang ditimbulkan oleh perubahan tren.

Keunggulan Strategis

  1. Dengan menggunakan model double confirmation, dua rata-rata bergerak yang terdeteksi pada saat yang sama dapat secara efektif memfilter penembusan palsu.

  2. Menggabungkan penilaian tren dan perdagangan terobosan, Anda dapat menangkap peluang di titik-titik perubahan tren.

  3. Tidak ada pengujian dan pengoptimalan mundur, semua sinyal perdagangan dihasilkan secara real-time, dan tidak ada penyesuaian kurva.

  4. Strategi logisnya sederhana dan jelas, mudah dipahami dan dimodifikasi.

  5. Parameter konfigurasi visual, siklus panjang, dan perkalian dapat disesuaikan dengan pasar.

Risiko Strategis

  1. Strategi biner dapat menghasilkan perdagangan yang sering dan membalikkan kerugian.

  2. Rata-rata bergerak sendiri dapat mengalami efek keterbelakangan dan kehilangan pergeseran tren.

  3. Kurangnya mekanisme penghentian kerugian, tidak bisa mengendalikan kerugian tunggal.

  4. Parameter yang tidak tepat dapat menyebabkan transaksi yang terlalu sering atau terlalu terlambat.

  5. Untuk risiko 1 dan 2, siklus rata-rata dapat diperpanjang sesuai dengan kebutuhan, dan penarikan stop loss dapat ditambahkan.

  6. Untuk risiko 3, Anda dapat mengatur persentase stop loss atau stop loss tunggal.

  7. Untuk risiko 4, parameter harus disesuaikan dengan pasar yang berbeda, menghindari satu parameter tetap.

Arah optimasi strategi

  1. Menambahkan kondisi penyaringan tren, menggunakan indikator MACD, DMI dan lain-lain untuk mengkonfirmasi tren.

  2. KD, RSI, dan lain-lain digunakan untuk masuk ke pasar.

  3. Menambahkan mekanisme penghentian kerugian secara keseluruhan, seperti penghentian pelacakan, persentase penghentian kerugian, dll.

  4. Menambahkan modul manajemen posisi, seperti ukuran posisi yang disesuaikan secara dinamis.

  5. Pengaturan parameter yang dioptimalkan agar lebih efektif dalam beradaptasi dengan siklus yang berbeda.

  6. Menambahkan modul pembelajaran mesin untuk mengoptimalkan parameter secara otomatis menggunakan teknologi AI.

  7. Membangun strategi komposit, menggunakan indikator lain untuk membuat terobosan pertahanan.

  8. Menggunakan teknologi pembelajaran mendalam untuk mengidentifikasi pola tren yang lebih kompleks.

Meringkaskan

Strategi melacak tren rata-rata bergerak secara keseluruhan adalah strategi pelacakan tren yang lebih sederhana. Ini menggunakan kombinasi garis rata-rata yang cepat dan lambat untuk membantu menentukan arah tren, melakukan pergantian tren di titik perubahan tren, dan dapat secara efektif menangkap pergantian tren harga. Namun, strategi ini juga memiliki beberapa masalah, seperti perdagangan yang sering, risiko yang tertinggal, dll.

Kode Sumber Strategi
/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("SMA STRATEGY", shorttitle="SMA TREND", overlay=true, calc_on_order_fills=true)
length = input(title="Length", type=input.integer, defval=50)
src_=input(close, title="Source", type=input.source)
mult=input(6.0, title="Mult")
barc=input(true, title="Use barcolor?")
plots=input(false, title="Show plots?")
tri=input(false, title="Use triangles?")


r(src, n)=>
    s = 0.0
    for i = 0 to n-1
        s := s + ((n-(i*2+1))/2)*src[i]
    x=s/(n*(n+1))
    x

l=sma(low, length)
h=sma(high, length)
lr= l+mult*r(low, length)
hr= h+mult*r(high, length)

trend=0
trend:=src_ > lr and src_ > hr ? 1 : src_ < lr and src_ < hr ? -1 : trend[1]

strategy.close("Long", when=trend==-1)
strategy.close("Short", when=trend==1)
strategy.entry("Long", strategy.long, when=trend==1 and src_>h)
strategy.entry("Short", strategy.short, when=trend==-1 and src_<l)

long=0
short=0
long:= trend==1 and src_>h ? 1 : trend==-1 ? -1 : long[1]
short:= trend==-1 and src_<l ? 1 : trend==1 ? -1 : short[1]

barcolor(barc? (long>0? color.green : short>0? color.red : trend>0? color.orange: trend<0 ? color.white : color.blue) : na)
plotshape(tri? close : na, style= shape.diamond, color= long>0? color.green : short>0? color.red : trend>0? color.orange: trend<0 ? color.white : color.blue, location=location.top)

//shortenter=
a1=plot(plots? l : na, color=color.blue, linewidth=1)
//longenter=
a2=plot(plots? h : na, color=color.blue, linewidth=1)
fill(a1, a2, color=color.blue)
//stopshort=
b1=plot(plots? hr : na, color=color.navy, linewidth=1)
//stoplong=
b2=plot(plots? lr : na, color=color.navy, linewidth=1)
fill(b1, b2, color=color.navy)