Strategi mengikuti tren berdasarkan rata-rata pergerakan dan volatilitas sebenarnya rata-rata


Tanggal Pembuatan: 2024-01-12 11:14:01 Akhirnya memodifikasi: 2024-01-12 11:14:01
menyalin: 1 Jumlah klik: 539
1
fokus pada
1617
Pengikut

Strategi mengikuti tren berdasarkan rata-rata pergerakan dan volatilitas sebenarnya rata-rata

Ringkasan

Strategi ini menggunakan rata-rata bergerak dan rata-rata fluktuasi riil untuk menilai arah tren pasar dan melakukan perdagangan pelacakan tren sesuai dengan arah tren.

Prinsip Strategi

Strategi ini menggunakan rata-rata bergerak periode len ma dan rata-rata fluktuasi riil rata-rata periode len 2 kaliatr untuk menilai tren pasar. Aturan penilaian spesifik adalah:

Ketika harga minimum lebih besar dari rata-rata bergerak ditambah rata-rata fluktuasi riil (<< > ma + atr), maka dianggap sebagai tren naik.
Ketika harga tertinggi lebih kecil dari rata-rata bergerak dikurangi rata-rata fluktuasi riil ((high < ma - atr), dinilai sebagai tren menurun。

Dalam kasus lain, keputusan sebelumnya akan tetap berlaku.

Dalam menilai tren naik, lakukan lebih banyak pada tingkat tertentu ketika lebih banyak diizinkan.
Dalam menilai tren turun, ketika diizinkan untuk melakukan shorting, lakukan shorting sesuai dengan proporsi tertentu.

Kondisi posisi terdepan adalah sampai pada tanggal berakhirnya transaksi yang ditentukan.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Gunakan moving average untuk menilai arah tren secara umum, dan hindari tertipu oleh fluktuasi pasar jangka pendek.
  2. Stop loss dinamis diatur dengan menggunakan rata-rata fluktuasi real yang membantu dalam pengendalian risiko.
  3. Ini adalah salah satu cara yang paling efektif untuk mendapatkan uang dari bisnis Anda.
  4. Aturan ini relatif sederhana dan mudah digunakan.

Analisis risiko

Strategi ini menghadapi risiko utama sebagai berikut:

  1. Dalam situasi pasar yang bergejolak, kerugian bisa terjadi berulang kali.
  2. Tidak dapat menentukan titik balik tren dengan baik, dan mungkin ada risiko mengejar kenaikan atau penurunan.
  3. Penetapan yang salah dari parameter rata-rata real volatility dapat menyebabkan titik keluar terlalu longgar atau terlalu ketat.

Solusi:

  1. Parameter moving average disesuaikan dengan parameter yang lebih stabil.
  2. Untuk mengantisipasi terjadinya penurunan harga, Anda bisa menggunakan indikator lain untuk mengkonfirmasi harga.
  3. Untuk melakukan pengujian optimasi terhadap parameter rata-rata fluktuasi tingkat riil, atur parameter yang sesuai.

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Uji sistem rata-rata yang berbeda untuk mencari kombinasi parameter yang lebih stabil.
  2. Menambahkan indikator tambahan lainnya untuk menilai keandalan sinyal.
  3. Uji parameter rata-rata fluktuasi tingkat riil untuk menemukan parameter optimal.
  4. Mengoptimalkan pemanfaatan dana, meningkatkan tingkat pengembalian melalui leverage.
  5. Optimasi dinamis dari parameter yang diimplementasikan dengan metode seperti pembelajaran mesin.

Meringkaskan

Strategi ini secara keseluruhan jelas dan mudah dipahami, menggunakan moving average untuk menentukan arah tren, dan menggunakan rata-rata fluktuasi nyata untuk mengatur stop loss, untuk dapat secara efektif melacak tren. Namun, ada risiko tertentu, perlu lebih mengoptimalkan parameter pengaturan dan menambahkan indikator penilaian lainnya. Secara keseluruhan, strategi ini memberikan pemikiran yang layak untuk perdagangan yang mengikuti tren.

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

//2019
//Noro

//@version=4
strategy(title = "Noro's MA+ATR Strategy", shorttitle = "MA+ATR str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
len = input(30, minval = 2, title = "MA Length")
src = input(ohlc4, title = "MA Source")
limitmode = input(false)
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//MA + BG
atr = sma(tr, len) * 2
ma = sma(src, len)
plot(ma, color = color.blue, linewidth = 4)
trend = 0
trend := low > ma + atr ? 1 : high < ma - atr ? -1 : trend[1]
col = trend == 1 ? color.lime : color.red
bgcolor(col, transp = 70)

//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]
if trend == 1 and limitmode == false
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)
if trend == -1 and limitmode == false
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)
if trend == 1 and limitmode
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)
if trend == -1 and limitmode
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)
// if time > timestamp(toyear, tomonth, today, 23, 59)
//     strategy.close_all()