Strategi Crossover Rata-rata Pergerakan Eksponensial


Tanggal Pembuatan: 2024-01-08 11:30:21 Akhirnya memodifikasi: 2024-01-08 11:30:21
menyalin: 0 Jumlah klik: 560
1
fokus pada
1617
Pengikut

Strategi Crossover Rata-rata Pergerakan Eksponensial

Ringkasan

Strategi crossover rata-rata indeks adalah strategi perdagangan kuantitatif sederhana yang melacak tren harga. Ini menggunakan persilangan antara rata-rata bergerak indeks dengan dua pengaturan parameter yang berbeda sebagai sinyal beli dan jual. Ini menghasilkan sinyal beli ketika melewati rata-rata jangka panjang di atas rata-rata jangka pendek; menghasilkan sinyal jual ketika melewati rata-rata jangka panjang di bawah rata-rata jangka pendek.

Prinsip Strategi

Logika inti dari strategi ini didasarkan pada teori rata-rata. Rata-rata bergerak indeks dapat secara efektif melonggarkan fluktuasi harga dan menentukan arah tren harga. Rata-rata cepat dapat merespons perubahan harga dengan cepat; rata-rata lambat memberikan referensi arah tren harga.

Secara khusus, strategi ini pertama-tama mendefinisikan dua rata-rata bergerak indeks: fib_level dan fib_price. fib_level diatur oleh input pengguna, fib_price dihitung berdasarkan harga tertinggi dan terendah dari 100 bar terakhir. Ketika harga dekat melewati atau melewati fib_price, sinyal beli dan jual dihasilkan.

Analisis Keunggulan

  • Menggunakan sistem dua garis lurus untuk menentukan arah tren harga, menghindari sinyal yang salah
  • Kebijakan yang dapat disesuaikan berdasarkan parameter yang ditetapkan pengguna sendiri
  • Setting Stop Loss Point Membantu Pengendalian Risiko

Analisis risiko

  • Pada saat ini, harga saham di AS mengalami penurunan.
  • Lebih banyak persimpangan dua rata-rata, akan meningkatkan biaya transaksi dan kehilangan titik geser
  • Stop loss yang tidak tepat, mungkin stop loss terlalu cepat atau terlalu besar

Anda dapat mengurangi kesalahan sinyal dengan mengoptimalkan parameter rata-rata, menggunakan sistem tiga rata-rata, atau menggabungkan penilaian indikator lainnya. Anda juga dapat mengendurkan titik-titik penghentian yang tepat untuk mencegah penghentian yang terlalu sering.

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Optimalkan pengaturan parameter siklus rata-rata. Uji kombinasi parameter dari siklus panjang yang berbeda untuk mencari parameter optimal.

  2. Meningkatkan filter indikator seperti Volume. Ketika Volume naik, menghasilkan sinyal beli, dan ketika Volume turun, menghasilkan sinyal jual, untuk menghindari kesalahan sinyal saat harga berfluktuasi tajam.

  3. Menggunakan algoritma pembelajaran mesin untuk mengoptimalkan parameter secara otomatis. Masukkan data historis ke dalam model dan latih untuk mendapatkan kombinasi parameter yang lebih baik.

  4. Pada posisi stop loss, tambahkan mekanisme stop loss yang bergerak. Biarkan garis stop loss bergerak ke atas seiring peningkatan keuntungan, untuk mencegah stop loss terlalu dini.

Meringkaskan

Strategi cross-line index adalah strategi perdagangan kuantitatif yang lebih sederhana dan praktis secara keseluruhan. Ini menggunakan keuntungan dari garis rata untuk menentukan tren harga dan mengatur stop loss untuk mengendalikan risiko. Strategi ini mudah dipahami, parameternya fleksibel, dan dapat digunakan untuk berbagai jenis perdagangan kuantitatif.

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

//@version=5
strategy("Fibonacci Strategy", overlay=true)

// Define Fibonacci 0.5 level
fib_level = input(0.5, title="Fibonacci Level")

// Calculate Fibonacci 0.5 level price
fib_price = ta.lowest(low, 100) + (ta.highest(high, 100) - ta.lowest(low, 100)) * fib_level

// Define entry and exit conditions
long_condition = ta.crossover(close, fib_price)
short_condition = ta.crossunder(close, fib_price)

// Set exit points (using previous high or low)
long_exit = ta.highest(high, 10)
short_exit = ta.lowest(low, 10)

// Plot Fibonacci 0.5 level
plot(fib_price, "Fib 0.5", color=color.blue, linewidth=1, style=plot.style_circles)

// Initialize variables
var inLong = false
var inShort = false

// Set trading signals
if (long_condition)
    if not inLong
        strategy.entry("Buy", strategy.long)
        inLong := true
    strategy.exit("Exit", "Buy", limit=long_exit)

if (short_condition)
    if not inShort
        strategy.entry("Sell", strategy.short)
        inShort := true
    strategy.exit("Exit", "Sell", limit=short_exit)

if (ta.crossover(close, long_exit) or ta.crossunder(close, short_exit))
    inLong := false
    inShort := false