Strategi persilangan purata bergerak


Tarikh penciptaan: 2024-01-23 15:20:16 Akhirnya diubah suai: 2024-01-23 15:20:16
Salin: 1 Bilangan klik: 534
1
fokus pada
1617
Pengikut

Strategi persilangan purata bergerak

Gambaran keseluruhan

Strategi ini adalah strategi perdagangan berasaskan purata bergerak. Ia menggunakan purata bergerak 45 hari sebagai petunjuk teknikal utama untuk membeli dan menjual berdasarkan isyarat harga yang melanggar purata bergerak.

Prinsip Strategi

Apabila kenaikan harga menembusi 45 hari purata bergerak, menghasilkan isyarat beli; apabila memegang kedudukan 8 hari, menghasilkan isyarat jual. Selepas itu, jika harga naik lagi menembusi 45 hari purata bergerak, akan menghasilkan isyarat beli lagi.

Ini adalah asas strategi:

  1. Kira purata bergerak 45 hari.
  2. Apabila harga penutupan pecah dari bawah purata bergerak ke atas, ia menghasilkan isyarat beli dan melakukan pembelian lebih banyak.
  3. 8 hari dagangan selepas masuk ke pasaran.
  4. Selepas 8 hari, kedudukan yang sama dengan kedudukan yang lebih tinggi menghasilkan isyarat menjual.
  5. Jika selepas itu harga penutupan sekali lagi menembusi ke atas dari bawah purata bergerak, sekali lagi menghasilkan isyarat beli, sekali lagi masuk ke pasaran.

Ini adalah logik perdagangan utama dalam strategi ini.

Kelebihan Strategik

Strategi ini mempunyai kelebihan berikut:

  1. Peraturan-peraturan operasi mudah difahami, mudah difahami dan mudah dilaksanakan.
  2. Menggunakan fungsi pengesanan trend rata-rata bergerak, ia dapat menangkap trend garis tengah dan panjang dengan berkesan.
  3. 8 hari memegang kedudukan tidak lama atau pendek, boleh menjejaki trend, tetapi juga dapat menghentikan kerugian tepat pada masanya.
  4. Peraturan kemasukan semula pasaran jelas dan dapat mengawal frekuensi perdagangan dengan berkesan.

Risiko Strategik

Strategi ini mempunyai beberapa risiko:

  1. Keterlambatan purata bergerak boleh menyebabkan permulaan yang lewat dan berakhir lebih awal.
  2. Tempoh pegangan tetap dan parameter purata bergerak mungkin tidak dapat menyesuaikan diri dengan perubahan pasaran.
  3. Frekuensi dagangan mungkin terlalu tinggi, meningkatkan kos dagangan dan kehilangan slippage.
  4. Isyarat penembusan mungkin menghasilkan isyarat palsu, terdapat kemungkinan tertentu untuk salah masuk dan salah keluar.

Kaedah pencegahan:

  1. Optimumkan parameter purata bergerak untuk mengurangkan kelewatan.
  2. Tambah tempoh pegangan atau bergerak berhenti untuk mengesan trend.
  3. Penembusan palsu disaring dengan penunjuk lain.
  4. Mengoptimumkan syarat kemasukan semula dan mengawal kekerapan dagangan.

Arah pengoptimuman strategi

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Mengoptimumkan parameter purata bergerak untuk mencari kombinasi parameter terbaik. Anda boleh menguji parameter bilangan hari yang berbeza seperti 15 hari, 30 hari, 60 hari.

  2. Optimumkan tempoh pegangan, cari hari pegangan yang optimum. Anda boleh menguji tempoh pegangan yang berbeza, seperti 5 hari, 10 hari, 15 hari.

  3. Tambahlah hentian bergerak untuk mengesan trend dan mengawal risiko. Sebagai contoh, hentian trialing atau hentian ATR.

  4. Penapisan untuk menambah petunjuk lain, seperti MACD, KDJ, dan lain-lain, untuk mengurangkan isyarat palsu.

  5. Optimumkan syarat kemasukan semula untuk mengelakkan perdagangan yang terlalu kerap.

  6. Uji keserasian pasaran dan varieti. Parameter perlu dioptimumkan untuk pasaran yang berbeza.

ringkaskan

Strategi penyambungan rata-rata bergerak secara keseluruhan adalah strategi pengesanan trend yang mudah dan praktikal. Ia menggunakan fungsi pengesanan trend rata-rata bergerak untuk menghasilkan isyarat perdagangan dengan harga yang pecah. Kelebihannya adalah mudah untuk dicapai, trade-off adalah kemungkinan terdapat beberapa kesilapan.

Kod sumber strategi
/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

// Calculate the 45-day moving average
ma_length = 45
ma = ta.sma(close, ma_length)

// Track position entry and entry bar
var bool in_long_position = na
var int entry_bar = na
var int exit_bar = na

// Entry condition: Close price crosses above the 45-day moving average to enter the position
if (not in_long_position and ta.crossover(close, ma) and not na(ma[1]) and close > ma and close[1] < ma[1])
    in_long_position := true
    entry_bar := bar_index

// Exit condition: Close the position after holding for 8 trading days
if (in_long_position and bar_index - entry_bar >= 8)
    in_long_position := false
    exit_bar := bar_index

// Re-entry condition: Wait for price to cross over the 45-day moving average again
if (not in_long_position and ta.crossover(close, ma) and not na(ma[1]) and close > ma and close[1] > ma[1] and (na(exit_bar) or bar_index - exit_bar >= 8))
    in_long_position := true
    entry_bar := bar_index

// Execute long entry and exit
if (in_long_position)
    strategy.entry("Long", strategy.long)

if (not in_long_position)
    strategy.close("Long")