Strategi rata-rata pergerakan 8 periode dan 21 periode


Tanggal Pembuatan: 2024-01-17 17:45:45 Akhirnya memodifikasi: 2024-01-17 17:45:45
menyalin: 2 Jumlah klik: 568
1
fokus pada
1617
Pengikut

Strategi rata-rata pergerakan 8 periode dan 21 periode

Ringkasan

Strategi ini menggunakan dua rata-rata bergerak, yaitu rata-rata bergerak 8 periode dan rata-rata bergerak 21 periode. Bila rata-rata bergerak jangka pendek di atas rata-rata bergerak jangka panjang, lakukan lebih banyak; Bila rata-rata bergerak jangka pendek di bawah rata-rata bergerak jangka panjang, lakukan lebih sedikit.

Strategi ini juga memperkenalkan indikator kemiringan rata-rata bergerak untuk memfilter beberapa kisaran tanpa tren dan hanya menghasilkan sinyal perdagangan ketika tren lebih jelas.

Prinsip Strategi

Inti dari strategi ini adalah persilangan antara rata-rata bergerak jangka pendek dan rata-rata bergerak jangka panjang. Rata-rata bergerak jangka pendek menangkap tren perubahan harga lebih cepat, sementara rata-rata bergerak jangka panjang memiliki efek penyaringan yang lebih baik terhadap kebisingan.

Strategi ini juga mengatur sebuah tipis slope. Sinyal do-plus hanya dihasilkan ketika slope lebih besar dari tipis positif dan sinyal do-blank hanya dihasilkan ketika slope lebih kecil dari tipis negatif. Ini dapat menyaring beberapa interval tanpa tren yang jelas, sehingga kualitas sinyal perdagangan lebih tinggi.

Secara khusus, logika pembuatan sinyal perdagangan dari strategi ini adalah:

  1. Hitung rata-rata bergerak sederhana dari 8 periode dan 21 periode
  2. Deteksi sinyal silang keduanya
  3. Hitung kemiringan dari rata-rata bergerak 21 periode, yang diperoleh dengan fungsi atn yang dipotong secara invers
  4. Sinyal multitasking dihasilkan hanya jika kemiringan melebihi nilai positif yang ditetapkan
  5. Sinyal vakum dihasilkan hanya jika kemiringan berada di bawah nilai negatif yang ditetapkan

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Strategi yang sederhana, mudah dipahami dan diterapkan
  2. Pengenalan indikator kemiringan untuk menyaring interval tanpa tren yang jelas, meningkatkan kualitas sinyal
  3. Penggunaan dua rata-rata bergerak dapat meningkatkan stabilitas dan memanfaatkan keuntungan masing-masing.
  4. Dapat disesuaikan dengan parameter pasar untuk berbagai jenis transaksi
  5. Program yang sederhana, mudah untuk dikembangkan kembali dan dioptimalkan

Risiko dan Solusi

Strategi ini juga memiliki beberapa risiko:

  1. Ada beberapa periode di mana pasar sangat berfluktuasi dan mungkin ada lebih banyak sinyal yang salah.
  2. Intersection sendiri mungkin menghasilkan lebih banyak sinyal palsu.
  3. Ada tingkat keterlambatan yang tidak dapat menangkap perubahan tren secara langsung.

Ada beberapa cara untuk mengoptimalkan risiko ini:

  1. Menyesuaikan parameter moving average dengan karakteristik pasar
  2. Mengoptimalkan nilai terendah kemiringan, meningkatkan parameter robustness
  3. Meningkatkan mekanisme penghentian kerugian, mengendalikan kerugian tunggal
  4. Menyaring sinyal dengan indikator lain untuk meningkatkan kualitas sinyal
  5. Menggunakan pengaturan parameter adaptif untuk membuat strategi lebih kasar

Arah optimasi

Strategi ini juga dapat dioptimalkan dalam beberapa arah:

  1. Menggunakan Adaptive Moving Average untuk menyesuaikan parameter berdasarkan volatilitas pasar
  2. Meningkatkan analisis hubungan volume transaksi untuk menghindari kesalahan sinyal saat penjumlahan
  3. Kualitas dan efisiensi sinyal yang ditingkatkan dengan indikator fluktuasi
  4. Menambahkan algoritma pembelajaran mesin untuk mengoptimalkan parameter secara otomatis
  5. Menggunakan teknologi pembelajaran dalam untuk mengeksplorasi model harga non-linear yang lebih kompleks

Meringkaskan

Strategi moving average ganda ini secara keseluruhan sederhana dan praktis, menangkap karakteristik tren yang berbeda melalui parameter diffs dua periode, dan menggabungkannya untuk menghasilkan sinyal perdagangan. Pada saat yang sama, pengenalan nilai terendah slope meningkatkan kualitas sinyal. Strategi ini dapat digunakan sebagai strategi dasar dan diperluas, dan ada banyak ruang untuk pengoptimalan dan pengembangan.

Kode Sumber Strategi
/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//written by sixpathssenin
//@version=4
strategy(title="Dual Moving Average",initial_capital=10000,overlay=true)

ma1= sma(close,8)
ma2= sma(close,21)

angleCriteria = input(title="Angle", type=input.integer, defval=7, minval=1, maxval=13)

i_lookback   = input(2,     "Angle Period", input.integer, minval = 1)
i_atrPeriod  = input(10,    "ATR Period",   input.integer, minval = 1)
i_angleLevel = input(6,     "Angle Level",  input.integer, minval = 1)
i_maSource   = input(close, "MA Source",    input.source)

f_angle(_src, _lookback, _atrPeriod) =>
    rad2degree = 180 / 3.141592653589793238462643  //pi 
    ang = rad2degree * atan((_src[0] - _src[_lookback]) / atr(_atrPeriod)/_lookback)
    ang
_angle = f_angle(ma2, i_lookback, i_atrPeriod)

plot(ma1,color=#FF0000)
plot(ma2,color=#00FF00)

crosso=crossover(ma1,ma2) 
crossu=crossunder(ma1,ma2)

_lookback = 15

f_somethingHappened(_cond, _lookback) =>
    bool _crossed = false
    for i = 1 to _lookback
        if _cond[i]
            _crossed := true
    _crossed
    
longcrossed = f_somethingHappened(crosso,_lookback)
shortcrossed = f_somethingHappened(crossu,_lookback)

long = longcrossed and _angle > angleCriteria
short= shortcrossed and _angle < -(angleCriteria)


if(long)
    strategy.entry("Long",strategy.long)
if(short)
    strategy.entry("short",strategy.short)