Strategi Perpindahan Purata Pergerakan Eksponen


Tarikh penciptaan: 2024-01-08 11:30:21 Akhirnya diubah suai: 2024-01-08 11:30:21
Salin: 0 Bilangan klik: 560
1
fokus pada
1617
Pengikut

Strategi Perpindahan Purata Pergerakan Eksponen

Gambaran keseluruhan

Strategi persilangan rata-rata indeks adalah strategi perdagangan kuantitatif sederhana yang mengesan trend harga. Ia menggunakan persilangan antara rata-rata bergerak indeks dengan dua parameter yang berbeza sebagai isyarat membeli dan menjual. Ia menghasilkan isyarat membeli apabila ia melintasi rata-rata jangka panjang di atas rata-rata jangka pendek; ia menghasilkan isyarat menjual apabila ia melintasi rata-rata jangka panjang di bawah rata-rata jangka pendek.

Prinsip Strategi

Logik teras strategi ini adalah berdasarkan teori garis rata. Indeks bergerak rata-rata dapat menyeimbangkan pergerakan harga dengan berkesan, menentukan arah trend harga. Garis rata cepat dapat bertindak balas dengan cepat terhadap perubahan harga; Garis rata perlahan menyediakan rujukan arah trend harga.

Secara khusus, strategi ini mula-mula menentukan dua rata-rata bergerak indeks: fib_level dan fib_price. fib_level ditetapkan oleh input pengguna, fib_price dikira berdasarkan harga tertinggi dan harga terendah 100 bar terakhir. Apabila harga tutup melintasi atau melintasi fib_price, ia menghasilkan isyarat membeli dan menjual masing-masing.

Analisis kelebihan

  • Menggunakan sistem dua hala untuk menentukan arah trend harga dan mengelakkan isyarat yang salah
  • Dasar boleh disesuaikan mengikut parameter yang ditetapkan oleh pengguna sendiri
  • Tetapkan titik henti untuk mengawal risiko

Analisis risiko

  • Garis purata terlewat dan mungkin terlepas titik perubahan harga
  • Lebih banyak persimpangan garis rata-rata akan meningkatkan kos transaksi dan kehilangan titik geser.
  • Setting stop loss yang tidak betul, mungkin stop loss terlalu awal atau terlalu besar

Anda boleh mengurangkan isyarat yang salah dengan mengoptimumkan parameter garis rata, menggunakan sistem tiga garis rata, atau menggabungkan penghakiman indikator lain. Pada masa yang sama, anda boleh mengendurkan titik henti yang sesuai untuk mengelakkan henti yang terlalu kerap.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Optimumkan tetapan parameter kitaran rata-rata. Uji kombinasi parameter untuk kitaran panjang yang berbeza untuk mencari parameter terbaik.

  2. Menambah penapis indikator seperti Volume. Apabila Volume naik, ia menghasilkan isyarat beli, dan apabila Volume turun, ia menghasilkan isyarat jual. Ini dapat mengelakkan isyarat palsu apabila harga berfluktuasi dengan kuat.

  3. Menggunakan algoritma pembelajaran mesin untuk mengoptimumkan parameter secara automatik. Model input data sejarah untuk melatih kombinasi parameter yang lebih baik.

  4. Pada kedudukan berhenti, masukkan mekanisme berhenti bergerak. Biarkan garisan berhenti bergerak ke atas apabila keuntungan meningkat, untuk mengelakkan berhenti terlalu awal.

ringkaskan

Strategi persilangan garis rata rata adalah strategi perdagangan kuantitatif yang lebih mudah dan praktikal secara keseluruhan. Ia menggunakan kelebihan garis rata untuk menentukan trend harga dan menetapkan hentian untuk mengawal risiko. Strategi ini mudah difahami, parameternya fleksibel, dan sesuai untuk perdagangan kuantitatif yang berbeza.

Kod 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