Sistem Strategi Kuantitatif Pembalikan Momentum Berbilang Frekuensi


Tarikh penciptaan: 2024-11-29 14:47:54 Akhirnya diubah suai: 2024-11-29 14:47:54
Salin: 0 Bilangan klik: 377
1
fokus pada
1617
Pengikut

Sistem Strategi Kuantitatif Pembalikan Momentum Berbilang Frekuensi

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan kuantitatif berdasarkan ciri-ciri pergerakan pasaran yang berterusan, untuk menangkap peluang pembalikan pasaran dengan menganalisis kekerapan kenaikan atau penurunan harga secara berturut-turut. Inti strategi ini adalah dengan menetapkan nilai penurunan yang berturut-turut, mengambil tindakan terbalik apabila nilai terendah dicapai, sambil membuat keputusan perdagangan berpasangan dengan indikator multidimensi seperti masa memegang kedudukan dan bentuk K. Strategi ini memanfaatkan sepenuhnya sifat pembalikan pasaran, melakukan operasi terbalik apabila terdapat ciri overbought atau oversold pada harga.

Prinsip Strategi

Logik teras strategi merangkumi elemen utama berikut:

  1. Statistik berturut-turut: Sistem akan mengkaji secara langsung berapa kali harga naik dan turun secara berturut-turut dan membandingkannya dengan nilai penurunan yang ditetapkan.
  2. Pilihan arah dagangan: anda boleh memilih untuk melakukan dagangan lebih atau lebih rendah dalam kedua-dua arah, untuk melakukan dagangan lebih fokus pada penurunan berturut-turut, untuk melakukan dagangan lebih fokus pada kenaikan berturut-turut.
  3. Pengurusan kitaran pegangan: Tetapkan kitaran pegangan tetap, matangnya secara automatik, mengelakkan pegangan berlebihan.
  4. Penapisan Bintang Salib: Pengenalan penilaian Bintang Salib untuk menapis isyarat palsu semasa pergolakan pasaran.
  5. Kawalan kedudukan: Menggunakan kedudukan tunggal untuk berdagang, tidak melakukan operasi penambahan simpanan atau pembinaan simpanan secara berturut-turut.

Kelebihan Strategik

  1. Logik yang jelas: Logik perdagangan strategi mudah difahami, mudah difahami dan dilaksanakan.
  2. Risiko boleh dikawal: Risiko boleh dikawal melalui tempoh pegangan tetap dan kedudukan tunggal.
  3. Ketabahan: Parameter boleh disesuaikan mengikut ciri pasaran yang berbeza.
  4. Tingkat automasi yang tinggi: Proses ini dijalankan secara automatik oleh sistem, mengurangkan campur tangan manusia.
  5. Analisis pelbagai dimensi: menggabungkan trend harga, bentuk K-baris dan banyak lagi.

Risiko Strategik

  1. Risiko berterusan trend: Kesilapan penghakiman mungkin berlaku dalam pasaran yang sedang dalam trend.
  2. Sensitiviti parameter: penetapan nilai had dan tempoh pegangan mempunyai kesan langsung terhadap prestasi strategi.
  3. Kepercayaan kepada keadaan pasaran: Berkesan baik dalam pasaran yang bergolak, tetapi mungkin sering rugi dalam pasaran unilateral.
  4. Kesan titik licin: Perdagangan frekuensi tinggi mungkin terjejas oleh titik licin.
  5. Tekanan kos: Perdagangan yang kerap membawa kepada kos yang lebih tinggi.

Arah pengoptimuman strategi

  1. Memperkenalkan penunjuk kadar turun naik: menyesuaikan tetapan nilai ambang melalui penunjuk seperti ATR.
  2. Menambah penapis trend: Meningkatkan kadar kemenangan dengan menggunakan penilaian trend jangka panjang.
  3. Siklus pegangan dinamik: menyesuaikan masa pegangan mengikut ciri pasaran.
  4. Pengurusan kedudukan yang dioptimumkan: memperkenalkan mekanisme pengurusan kedudukan yang dinamik.
  5. Analisis kitaran masa berbilang: menambah mekanisme pengesahan isyarat kitaran berbilang.

ringkaskan

Strategi ini adalah sistem perdagangan kuantitatif berdasarkan ciri-ciri pasaran yang berbalik, untuk menangkap peluang berbalik pasaran dengan menganalisis pergerakan harga yang berterusan. Strategi ini direka dengan wajar, risiko dapat dikawal, tetapi parameter perlu disesuaikan dengan keadaan pasaran. Dengan pengoptimuman dan penyempurnaan yang berterusan, strategi ini dijangka memperoleh keuntungan yang stabil dalam perdagangan sebenar.

Kod sumber strategi
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Streak-Based Trading Strategy", overlay=true)

// User Inputs
trade_direction = input.string(title="Trade Direction", defval="Long", options=["Long", "Short"]) // Option to choose Long or Short
streak_threshold = input.int(title="Streak Threshold", defval=8, minval=1) // Input for number of streaks before trade
hold_duration = input.int(title="Hold Duration (in periods)", defval=7, minval=1) // Input for holding the position
doji_threshold = input.float(0.01, title="Doji Threshold (%)", minval=0.001) / 100 // Doji sensitivity

// Calculate win or loss streak
is_doji = math.abs(close - open) / (high - low) < doji_threshold
win = close > close[1] and not is_doji
loss = close < close[1] and not is_doji

// Initialize variables for streak counting
var int win_streak = 0
var int loss_streak = 0
var bool in_position = false
var int hold_counter = 0

// Track streaks (only when not in a position)
if not in_position
    if win
        win_streak += 1
        loss_streak := 0
    else if loss
        loss_streak += 1
        win_streak := 0
    else
        win_streak := 0
        loss_streak := 0

// Logic for closing the position after the holding duration
if in_position
    hold_counter -= 1
    if hold_counter <= 0
        strategy.close_all() // Close all positions
        in_position := false // Reset position flag
        win_streak := 0 // Reset streaks after position is closed
        loss_streak := 0

// Trade condition (only when no position is open and streak is reached)
if not in_position
    if trade_direction == "Long" and loss_streak >= streak_threshold
        strategy.entry("Long", strategy.long) // Open a long position
        in_position := true
        hold_counter := hold_duration // Set holding period

    if trade_direction == "Short" and win_streak >= streak_threshold
        strategy.entry("Short", strategy.short) // Open a short position
        in_position := true
        hold_counter := hold_duration // Set holding period

// Plotting streaks for visualization
plot(win_streak, color=color.green, title="Winning Streak", style=plot.style_histogram, linewidth=2)
plot(loss_streak, color=color.red, title="Losing Streak", style=plot.style_histogram, linewidth=2)