Berdasarkan strategi persilangan rata-rata pergerakan ganda


Tanggal Pembuatan: 2024-03-11 12:06:22 Akhirnya memodifikasi: 2024-03-11 12:06:22
menyalin: 0 Jumlah klik: 646
1
fokus pada
1617
Pengikut

Berdasarkan strategi persilangan rata-rata pergerakan ganda

Tinjauan Strategi

Strategi crossover dua rata-rata adalah strategi pelacakan tren klasik. Strategi ini menggunakan rata-rata bergerak dari dua periode yang berbeda untuk menangkap tren pasar, menghasilkan sinyal plus ketika melewati rata-rata lambat di atas rata-rata cepat, dan menghasilkan sinyal minus ketika melewati rata-rata lambat di bawah rata-rata cepat. Gagasan inti dari strategi ini adalah bahwa rata-rata cepat lebih sensitif terhadap perubahan harga dan lebih cepat menanggapi perubahan tren pasar, sedangkan rata-rata lambat menanggapi tren jangka panjang pasar.

Prinsip Strategi

Kode strategi ini menggunakan dua rata-rata bergerak, yaitu rata-rata cepat (default 14 period) dan rata-rata lambat (default 28 period). Jenis rata-rata bergerak dapat dipilih sebagai rata-rata bergerak sederhana (SMA), rata-rata bergerak indeks (EMA), rata-rata bergerak berbobot (WMA) dan rata-rata bergerak relatif (RMA).

Logika utama dari strategi ini adalah sebagai berikut:

  1. Hitung nilai rata-rata cepat dan rata-rata lambat
  2. Jika kecepatan rata-rata melewati kecepatan rata-rata, maka akan ada sinyal melakukan lebih banyak, dan membuka posisi melakukan lebih banyak.
  3. Jika kecepatan rata-rata melewati kecepatan rata-rata di bawah garis, dan memungkinkan shorting (allowShorting=true), sinyal shorting dihasilkan, dan posisi shorting dibuka
  4. Jika kecepatan rata-rata melewati kecepatan rata-rata di bawah garis, dan tidak diizinkan shorting (allowShorting=false), tutup posisi overhead

Dengan logika seperti itu, strategi dapat melacak tren utama pasar, memegang posisi multihead dalam tren naik, memegang posisi kosong atau menunggu posisi kosong dalam tren turun. Periode dan jenis rata-rata dapat disesuaikan dan dioptimalkan sesuai dengan pasar dan varietas perdagangan yang berbeda.

Keunggulan Strategis

  1. Logika sederhana, jelas, mudah dipahami dan diterapkan
  2. Cocok untuk pasar yang sedang tren, yang dapat secara efektif menangkap tren jangka menengah dan panjang pasar
  3. Parameter yang dapat disesuaikan untuk pasar dan varietas perdagangan yang berbeda
  4. Fleksibilitas dalam memilih opsi untuk melakukan shorting tergantung pada karakteristik pasar dan preferensi pribadi
  5. Moving Average adalah indikator analisis teknis klasik yang banyak digunakan dan diverifikasi

Risiko Strategis

  1. Dalam pasar yang bergejolak, seringnya persilangan rata-rata dapat menyebabkan perdagangan yang sering dan meningkatkan biaya transaksi.
  2. Pilihan rata-rata cepat terlalu pendek, atau rata-rata lambat terlalu panjang, dapat menyebabkan sinyal terlambat, kehilangan waktu perdagangan terbaik
  3. Strategi dalam situasi di mana kerugian berturut-turut dapat terjadi ketika tren pasar berubah
  4. Parameter siklus rata-rata tetap, mungkin tidak sesuai dengan perubahan dinamika pasar

Untuk mengatasi risiko tersebut, langkah-langkah berikut dapat diambil:

  1. Mengoptimalkan parameter siklus rata-rata, pilih panjang rata-rata yang sesuai sesuai dengan karakteristik pasar
  2. Dalam pasar yang bergoyang, Anda dapat mempertimbangkan untuk menambahkan kondisi penyaringan, seperti penyaringan ATR, atau penyaringan sudut silang linier.
  3. Pengaturan Stop Loss yang masuk akal untuk mengendalikan risiko transaksi tunggal
  4. Evaluasi periodik, menyesuaikan parameter strategi sesuai dengan perubahan pasar

Optimasi Strategi

  1. Memperkenalkan lebih banyak indikator teknis, seperti MACD, RSI, dan lain-lain, untuk membangun strategi multi-faktor dan meningkatkan akurasi sinyal
  2. Mengoptimalkan manajemen posisi, seperti mempertimbangkan faktor-faktor seperti ATR atau volatilitas, dan secara dinamis menyesuaikan ukuran posisi
  3. Untuk pasar yang bergejolak, pertimbangkan untuk memperkenalkan indikator penilaian tren, seperti ADX, dan lain-lain, untuk menghindari perdagangan yang sering terjadi
  4. Menggunakan pembelajaran mesin atau algoritma optimasi untuk menemukan kombinasi parameter optimal secara otomatis

Optimasi ini dapat meningkatkan fleksibilitas dan stabilitas strategi, sehingga lebih baik beradaptasi dengan kondisi pasar yang berbeda. Namun, perlu diingat bahwa terlalu banyak optimasi dapat menyebabkan strategi terlalu cocok dan tidak berkinerja baik di dunia nyata.

Meringkaskan

Strategi crossover linier ganda adalah strategi pelacakan tren klasik yang menghasilkan sinyal perdagangan melalui persilangan rata-rata bergerak dari dua periode yang berbeda. Logikanya sederhana, mudah diimplementasikan, dan cocok untuk pasar yang sedang tren. Namun, di pasar yang bergolak, mungkin terjadi situasi perdagangan yang sering terjadi dan kerugian terus menerus. Oleh karena itu, ketika menggunakan strategi ini, Anda perlu mengoptimalkan parameter siklus linier ganda sesuai dengan karakteristik pasar, dan mengatur stop loss yang masuk akal. Selain itu, Anda juga dapat meningkatkan fleksibilitas dan stabilitas strategi dengan memperkenalkan lebih banyak indikator teknis, mengoptimalkan manajemen posisi, cara menilai tren, dll.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © z4011

//@version=5
strategy("#2idagos", overlay=true, margin_long=100, margin_short=100)
allowShorting = input.bool(true, "Allow Shorting")
fastMALength = input.int(14, "Fast MA Length")
slowMALength = input.int(28, "Slow MA Length")
fastMAType = input.string("Simple", "Fast MA Type", ["Simple", "Exponential", "Weighted", "Relative"])
slowMAType = input.string("Simple", "Fast MA Type", ["Simple", "Exponential", "Weighted", "Relative"]) 

float fastMA = switch fastMAType
    "Simple" => ta.sma(close, fastMALength)
    "Exponential" => ta.ema(close, fastMALength)
    "Weighted" => ta.wma(close, fastMALength)
    "Relative" => ta.rma(close, fastMALength)

plot(fastMA, color = color.aqua, linewidth = 2)

float slowMA = switch slowMAType
    "Simple" => ta.sma(close, slowMALength)
    "Exponential" => ta.ema(close, slowMALength)
    "Weighted" => ta.wma(close, slowMALength)
    "Relative" => ta.rma(close, slowMALength)

plot(slowMA, color = color.blue, linewidth = 2)


longCondition = ta.crossover(fastMA, slowMA)
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = ta.crossunder(fastMA, slowMA) and allowShorting
if (shortCondition)
    strategy.entry("Short", strategy.short)

closeCondition = ta.crossunder(fastMA, slowMA) and not allowShorting
if (closeCondition)
    strategy.close("Long", "Close")