Strategi Dagangan Crossover Dengan Purata Bergerak Berganda

Penulis:ChaoZhang, Tarikh: 2024-01-24 15:24:13
Tag:

img

Ringkasan

Idea utama strategi ini adalah menggunakan salib emas dan salib kematian garis purata bergerak pantas dan perlahan untuk menilai trend pasaran dan melaksanakan perdagangan berisiko rendah. Apabila garis purata bergerak pantas melintasi di atas garis purata bergerak perlahan, ia menunjukkan bahawa pasaran mungkin memasuki trend menaik, jadi pergi panjang; apabila garis purata bergerak pantas melintasi di bawah garis purata bergerak perlahan, ia menunjukkan bahawa pasaran mungkin memasuki trend menurun, jadi pergi pendek.

Prinsip Strategi

Ini adalah strategi yang menggunakan purata bergerak eksponensial harga. purata bergerak adalah penunjuk analisis trend yang meluruskan data harga untuk menilai trend harga. purata bergerak pantas mempunyai parameter yang lebih kecil dan boleh bertindak balas terhadap perubahan harga dengan lebih cepat; purata bergerak perlahan mempunyai parameter yang lebih besar dan bertindak balas terhadap perubahan harga dengan lebih perlahan. Apabila purata bergerak pantas melintasi di atas purata bergerak perlahan, ia menunjukkan bahawa pasaran mungkin memasuki pasaran lembu, dan kedudukan panjang harus ditubuhkan; apabila purata bergerak pantas melintasi di bawah purata bergerak perlahan, ia menunjukkan bahawa pasaran mungkin memasuki pasaran beruang, dan kedudukan pendek harus ditubuhkan.

Secara khusus, strategi ini menentukan dua purata bergerak eksponensial, dengan tempoh 21 dan 55 untuk purata bergerak pantas dan perlahan masing-masing. Strategi menentukan masuk dan keluar berdasarkan salib emas dan salib kematian dua garis purata bergerak. Pergi panjang apabila purata bergerak pantas melintasi di atas purata bergerak perlahan, dan pergi pendek apabila purata bergerak pantas melintasi di bawah purata bergerak perlahan.

Selain itu, strategi ini juga menggunakan penunjuk turun naik ATR untuk menetapkan stop loss dan mengambil keuntungan. ATR dapat menilai tahap turun naik pasaran dengan berkesan. Stop loss ditetapkan pada jarak 1.5 kali ATR dari harga; mengambil keuntungan ditetapkan dekat dengan jarak 1 kali ATR dari harga.

Analisis Kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Idea ini jelas dan mudah difahami dan dilaksanakan.
  2. Gunakan penunjuk purata bergerak untuk menentukan trend harga dan melaksanakan perdagangan berisiko rendah.
  3. Gabungan purata bergerak cepat dan perlahan dapat menapis bunyi bising pasaran dengan berkesan dan mengenal pasti trend harga.
  4. Menggunakan penunjuk ATR untuk menetapkan stop loss secara dinamik dan mengambil keuntungan berdasarkan tahap turun naik pasaran.
  5. Tidak memerlukan pelarasan parameter yang kerap dan strategi sangat stabil.

Analisis Risiko

Strategi ini juga mempunyai beberapa risiko:

  1. Apabila harga turun naik dengan ganas, purata bergerak boleh memberikan isyarat yang salah, yang boleh membawa kepada kerugian yang tidak perlu.
  2. Strategi ini hanya berdasarkan kepada penunjuk teknikal tanpa mempertimbangkan asas, dan mungkin mengalami kerugian yang lebih besar dalam menghadapi berita negatif yang besar.
  3. Stop loss dan mengambil keuntungan yang ditetapkan oleh penunjuk ATR mungkin tidak sesuai dengan semua persekitaran pasaran, yang mungkin terlalu longgar atau terlalu ketat.
  4. Tetapan purata bergerak tempoh bukan satu-satunya skim yang optimum, dan kombinasi parameter tempoh yang berbeza akan menghasilkan kesan yang berbeza.

Untuk menangani risiko di atas, kita boleh mengoptimumkan dari aspek berikut:

  1. Gabungkan penunjuk lain seperti MACD dan RSI untuk mengesahkan isyarat perdagangan dan mengelakkan kemasukan yang salah.
  2. Sedikit menyempitkan julat stop loss untuk mengurangkan kerugian setiap perdagangan.
  3. Mengoptimumkan parameter purata bergerak secara dinamik untuk menyesuaikan mereka dengan lebih baik kepada peringkat pasaran yang berbeza.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan lagi dalam aspek berikut:

  1. Menggunakan kaedah pembelajaran mesin untuk mengoptimumkan parameter purata bergerak secara automatik untuk kebolehsesuaian yang lebih baik.

  2. Tambah asas sebagai syarat penapisan untuk mengelakkan pergi panjang atau pendek secara buta apabila berita negatif utama tiba, seperti keputusan kadar Fed dan pelepasan data makro penting.

  3. Tetapkan had atas dan bawah untuk turun naik, hentikan perdagangan apabila ATR menjadi terlalu tinggi atau terlalu rendah untuk mengelakkan kerugian dalam persekitaran pasaran yang melampau.

  4. Menggabungkan asas saham seperti nisbah P / E dan pengembangan jumlah dagangan untuk menetapkan stop loss dinamik dan mengambil julat keuntungan.

  5. Tambah mekanisme saiz kedudukan, mengurangkan kedudukan secara beransur-ansur apabila nisbah keuntungan mencapai tahap, menangguhkan perdagangan untuk tempoh apabila mengalami kerugian yang agak besar, dll.

Kesimpulan

Logik keseluruhan strategi ini jelas dan mudah, menggunakan silang purata bergerak berganda untuk menentukan trend pasaran, strategi trend berikut yang biasa. Sementara itu, strategi ini juga mengawal risiko dengan sangat baik dengan menggunakan penunjuk ATR untuk menetapkan stop loss dan mengambil keuntungan secara dinamik. Dengan pengoptimuman lanjut, strategi dapat ditingkatkan dari segi kawalan penarikan dan menunggang trend, sehingga membawa kepada prestasi pelaburan yang lebih stabil.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="No-Nonsense Strategy Template [WM]", overlay = true)

price = close

//
// ATR stuff
//

atrLength = input(14, "ATR Length")
slMultiplier = input(1.5, "SL")
tpMultiplier = input(1, "TP1")

atr = atr(atrLength)

//
// Strategy under test. MA crossover
// 

fastInput = input(21)
slowInput = input(55)

fast = ema(price, fastInput)
slow = ema(price, slowInput)

plot(fast, color = red)
plot(slow, color = blue)

goLong = crossover(fast, slow)
goShort = crossunder(fast, slow)

if (goLong)
    sl = price - atr * slMultiplier
    tp = price + atr * tpMultiplier
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", "Long", stop = sl, limit = tp)
    
if (goShort)
    sl = price + atr * slMultiplier
    tp = price - atr * tpMultiplier
    strategy.entry("Short", strategy.short)	 
    strategy.exit("Short Exit", "Short", stop = sl, limit = tp)



Lebih lanjut