Strategi Crossover Rata-rata Pergerakan Ganda


Tanggal Pembuatan: 2024-01-19 14:13:07 Akhirnya memodifikasi: 2024-01-19 14:13:07
menyalin: 0 Jumlah klik: 579
1
fokus pada
1617
Pengikut

Strategi Crossover Rata-rata Pergerakan Ganda

Ringkasan

Strategi silang dua rata-rata bergerak adalah strategi perdagangan kuantitatif yang umum. Ini menggunakan persilangan rata-rata bergerak cepat dan rata-rata bergerak lambat sebagai sinyal beli dan jual. Ini menghasilkan sinyal beli ketika rata-rata bergerak cepat melintasi rata-rata bergerak lambat dari bawah; ini menghasilkan sinyal jual ketika rata-rata bergerak cepat melintasi rata-rata bergerak lambat dari atas ke bawah.

Prinsip Strategi

Logika inti dari strategi ini adalah dengan menghitung dua set moving average, satu set adalah moving average cepat dengan parameter 10 hari, dan satu set lainnya adalah moving average lambat dengan parameter 30 hari. Moving average cepat lebih cepat merespon perubahan harga, sedangkan moving average lambat lebih mampu mencerminkan tren jangka panjang.

Strategi ini mengatur mekanisme stop loss dan stop loss secara bersamaan. Stop loss diatur untuk berhenti ketika harga berada di bawah persentase tertentu dari harga pembelian; stop loss diatur untuk berhenti ketika harga berada di atas persentase tertentu dari harga pembelian.

Analisis Keunggulan

Strategi crossover dua rata-rata bergerak memiliki keuntungan sebagai berikut:

  1. Ide yang sederhana, mudah dimengerti dan diterapkan;

  2. Parameter yang dapat disesuaikan untuk rata-rata cepat dan lambat, sesuai dengan pasar yang berbeda;

  3. Ada juga pengaturan stop loss dan stop loss yang dapat membatasi kerugian.

  4. Hasil yang bagus bisa didapatkan di kota-kota yang sedang tren dan di kota-kota regional.

Analisis risiko

Strategi crossover rata-rata bergerak ganda juga memiliki risiko sebagai berikut:

  1. Bila dua garis rata-rata bersilang, sinyal yang dihasilkan dapat dipalsukan dan ada risiko kerugian.

  2. Setting parameter stop loss dan stop loss yang tidak tepat dapat menyebabkan kerugian yang berlebihan atau mengurangi keuntungan yang diharapkan;

  3. Hanya mengandalkan indikator teknis, tanpa mempertimbangkan faktor-faktor mendasar.

Solusi yang sesuai:

  1. Filter sinyal dalam kombinasi dengan indikator teknis lainnya;

  2. pengujian dan optimalisasi parameter stop loss;

  3. Tergabung dengan analisis fundamental.

Arah optimasi

Strategi ini dapat dioptimalkan dengan:

  1. Uji kombinasi rata-rata dari parameter yang berbeda untuk mencari parameter yang optimal;

  2. Meningkatkan indikator konfirmasi harga untuk menghindari terobosan palsu;

  3. Ada beberapa hal yang perlu diperhatikan dalam hal ini:

  4. Optimalisasi dengan perubahan volume transaksi, perubahan volume transaksi, dan lainnya.

Meringkaskan

Strategi crossover dua rata-rata bergerak secara keseluruhan adalah strategi perdagangan kuantitatif yang sederhana dan praktis. Ini mudah dipahami dan diimplementasikan, dapat menghasilkan keuntungan yang stabil, dan dapat diterapkan di sebagian besar lingkungan pasar. Dengan pengoptimalan parameter, penyaringan sinyal tambahan dan penghentian dinamis, strategi ini dapat dibuat lebih dapat diandalkan dan menguntungkan.

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

//@version=4
strategy("Moving Average Crossover", overlay=true)

// Define input parameters
fast_length = input(10, title="Fast MA Length")
slow_length = input(30, title="Slow MA Length")
stop_loss_percent = input(1.0, title="Stop Loss (%)", minval=0.1, maxval=10, step=0.1)
take_profit_percent = input(2.0, title="Take Profit (%)", minval=0.1, maxval=10, step=0.1)

// Calculate moving averages
fast_ma = sma(close, fast_length)
slow_ma = sma(close, slow_length)

// Entry conditions
long_condition = crossover(fast_ma, slow_ma)
short_condition = crossunder(fast_ma, slow_ma)

// Plot moving averages on the chart
plot(fast_ma, title="Fast MA", color=color.blue)
plot(slow_ma, title="Slow MA", color=color.red)

// Strategy orders
strategy.entry("Long", strategy.long, when=long_condition)
strategy.entry("Short", strategy.short, when=short_condition)

// Set stop loss and take profit levels
stop_loss_price = close * (1 - stop_loss_percent / 100)
take_profit_price = close * (1 + take_profit_percent / 100)
strategy.exit("Take Profit/Stop Loss", from_entry="Long", stop=stop_loss_price, limit=take_profit_price)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", stop=take_profit_price, limit=stop_loss_price)