Strategi pembalikan rata-rata bergerak


Tanggal Pembuatan: 2024-02-27 17:51:43 Akhirnya memodifikasi: 2024-02-27 17:51:43
menyalin: 0 Jumlah klik: 601
1
fokus pada
1617
Pengikut

Strategi pembalikan rata-rata bergerak

Ringkasan

Strategi respon rata-rata bergerak adalah strategi perdagangan tren yang sangat sederhana. Gagasan utamanya adalah melakukan lebih banyak ketika rata-rata bergerak jangka pendek lebih rendah dari rata-rata bergerak jangka panjang dalam persentase tertentu, dan melakukan posisi terdepan ketika rata-rata bergerak jangka pendek melewati rata-rata bergerak jangka panjang. Strategi ini pertama-tama menghitung satu rata-rata bergerak jangka pendek dan satu rata-rata bergerak jangka panjang, dan kemudian menghasilkan sinyal perdagangan berdasarkan hubungan antara dua rata-rata bergerak.

Prinsip Strategi

Strategi ini terutama bergantung pada dua rata-rata bergerak, satu rata-rata bergerak jangka pendek, dan satu rata-rata bergerak jangka panjang. Parameter rata-rata bergerak jangka pendek adalah smallMAPeriod, parameter rata-rata bergerak jangka panjang adalah bigMAPeriod. Strategi ini pertama-tama menghitung hubungan ukuran antara kedua rata-rata bergerak ini, dan kemudian membandingkan dua rata-rata bergerak.

Ketika rata-rata bergerak jangka pendek jatuh dari atas ke bawah dari rata-rata bergerak jangka panjang dalam persentase tertentu (ditentukan oleh parameter PercentBelowToBuy), menghasilkan sinyal beli, melakukan over entry. Ketika rata-rata bergerak jangka pendek kemudian naik, naik kembali melewati rata-rata bergerak jangka panjang, menghasilkan sinyal jual, posisi kosong.

Strategi ini menangkap peluang respons rata-rata antara rata-rata bergerak jangka pendek dan rata-rata bergerak jangka panjang. Ketika rata-rata bergerak jangka pendek lebih rendah dari rata-rata bergerak jangka panjang, ini menunjukkan bahwa aset mungkin terbebani dan harus memiliki kesempatan untuk kembali ke rata-rata.

Analisis Keunggulan

Strategi respon rata-rata bergerak memiliki beberapa keuntungan:

  1. Pemikiran yang Sederhana, Mudah Dimengerti dan Dilakukan
  2. Menangkap titik balik dari tren jangka pendek dan jangka panjang, menilai tren pasar secara akurat
  3. Fleksibel dalam pengaturan parameter untuk mendapatkan lebih banyak sinyal perdagangan dengan menyesuaikan periode moving average dan persentase kelonggaran
  4. Proses pengembalian yang sederhana untuk optimasi simulasi transaksi kuantitatif

Optimasi parameter sederhana dari strategi ini dapat memberikan hasil yang baik. Dengan menyesuaikan parameter moving average dan parameter persentase kelonggaran, dapat dilakukan pengujian ulang terhadap berbagai aset pasar seperti saham, forex, dan cryptocurrency untuk memilih kombinasi parameter terbaik.

Analisis risiko

Strategi respon rata-rata bergerak juga memiliki beberapa risiko:

  1. Tidak ada sinyal, tidak bisa bertransaksi secara teratur
  2. Kecenderungan untuk melewatkan harga yang berbalik
  3. Parameter yang tidak tepat dapat menyebabkan biaya transaksi yang lebih tinggi dan kehilangan slippage karena terlalu sering diperdagangkan

Risiko dapat dikurangi dengan melakukan hal berikut:

  1. Menyesuaikan parameter agar sinyal trading sesuai
  2. Menggunakan cara keluar dan masuk dengan cara menembus untuk menghindari penembusan palsu
  3. Optimalkan kombinasi parameter, pilih periode moving average dan persentase kelonggaran

Arah optimasi

Strategi respon rata-rata bergerak dapat dioptimalkan dalam beberapa hal:

  1. Uji data harga yang berbeda, seperti harga close out, harga tertinggi, harga terendah, dan harga tipikal sebagai sumber sinyal strategi
  2. Cobalah berbagai jenis rata-rata bergerak, seperti rata-rata bergerak indeks, rata-rata bergerak linear, dan rata-rata bergerak Hull.
  3. Meningkatkan kondisi penyaringan untuk menghindari transaksi yang tidak perlu di pasar yang tidak tren
  4. Indikator volume transaksi untuk menghindari kenaikan harga dan penembusan palsu yang tidak mencukupi
  5. Parameter yang dioptimalkan secara otomatis menggunakan pembelajaran mesin atau algoritma genetik

Meringkaskan

Strategi responsif rata-rata bergerak menangkap peluang untuk kembali setelah harga jangka pendek menyimpang dari tren jangka panjang dengan membandingkan hubungan antara dua rata-rata bergerak jangka pendek dan jangka panjang. Strategi ini sederhana, mudah dimengerti dan diterapkan, dan dapat memperoleh hasil yang lebih baik melalui pengoptimalan parameter. Namun, ada juga risiko kurangnya sinyal perdagangan, mudah untuk melewatkan pergeseran harga, dan perlu menguji dan mengoptimalkan parameter dan kondisi penyaringan untuk memaksimalkan keuntungan dari strategi.

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

// @version=4
//
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
//
// @author Sunil Halai
//
// This very simple strategy is an implementation of PJ Sutherlands' Jaws Mean reversion algorithm. It simply buys when a small moving average period (e.g. 2) is below
// a longer moving average period (e.g. 5) by a certain percentage, and closes when the small period average crosses over the longer moving average. 
// 
// If you are going to use this, you may wish to apply this to a range of investment assets, as the amount signals is low. Alternatively you may wish to tweak the settings to provide more
// signals.


strategy("Jaws Mean Reversion [Strategy]", overlay = true)

//Strategy inputs
source = input(title = "Source", defval = close)
smallMAPeriod = input(title = "Small Moving Average", defval = 2)
bigMAPeriod = input(title = "Big Moving Average", defval = 5)
percentBelowToBuy = input(title = "Percent below to buy %", defval = 3)


//Strategy calculation
smallMA = sma(source, smallMAPeriod)
bigMA =  sma(source, bigMAPeriod) 
buyMA = ((100 - percentBelowToBuy) / 100) * sma(source, bigMAPeriod)[0]

if(crossunder(smallMA, buyMA))
    strategy.entry("BUY", strategy.long)

if(crossover(smallMA, bigMA))
    strategy.close("BUY")