Purata Pergerakan Titik Pusing Crossover Strategi Perdagangan


Tarikh penciptaan: 2024-01-29 11:15:42 Akhirnya diubah suai: 2024-01-29 11:15:42
Salin: 8 Bilangan klik: 585
1
fokus pada
1617
Pengikut

Purata Pergerakan Titik Pusing Crossover Strategi Perdagangan

Gambaran keseluruhan

Strategi perdagangan silang titik peralihan purata bergerak adalah strategi penunjuk teknikal klasik. Gagasan utama strategi ini adalah untuk menghasilkan isyarat jual beli yang menggabungkan purata bergerak dari pelbagai kitaran, dan menggunakan titik peralihan purata bergerak untuk mengoptimumkan lebih lanjut perdagangan exit. Strategi ini sesuai untuk pelbagai tempoh masa dan varieti, yang dapat menghasilkan keuntungan yang stabil.

Prinsip Strategi

Strategi ini menggunakan dua rata-rata bergerak, satu yang lebih pendek sebagai garis cepat, dan satu lagi yang lebih lama sebagai garis perlahan. Ia menghasilkan isyarat beli apabila garis cepat menembusi garis perlahan dari arah bawah; ia menghasilkan isyarat jual apabila garis cepat jatuh dari arah atas dan menembusi garis perlahan. Ini adalah mekanisme penjanaan isyarat perdagangan strategi silang purata bergerak klasik.

Lebih jauh lagi, strategi ini memanfaatkan titik-titik perubahan pada purata bergerak untuk keluar dari perdagangan. Apabila garis cepat berubah dari naik ke turun, banyak single akan keluar; Apabila garis cepat berubah dari turun ke naik, tunggal kosong akan keluar.

Analisis kelebihan

Strategi perdagangan silang titik peralihan purata bergerak mempunyai beberapa kelebihan:

  1. Operasi mudah dan mudah dilaksanakan. Strategi ini hanya menggunakan dua indikator: purata bergerak dan indikator ROC.

  2. Keupayaan untuk menahan kerugian berturut-turut yang kuat. Rata-rata bergerak sendiri mempunyai ciri-ciri kecenderungan harga yang lambat dan licin, yang dapat menyaring sebahagian daripada bunyi bising dan mengelakkan terlalu banyak perdagangan yang tidak berkesan dalam trend goyah.

  3. Dapat mengawal kerugian unilateral dengan berkesan. Menggunakan titik peralihan purata bergerak untuk menghentikan kerugian tepat pada masanya, dapat mengurangkan kerugian unilateral yang besar.

  4. Kebolehgunaan yang luas. Prinsip strategi ini mudah dan boleh digunakan untuk pelbagai jenis dan pelbagai kerangka masa perdagangan, seperti garis hari, garis jam, dan lain-lain.

  5. Pendapatan stabil. Berbanding dengan strategi mengejar titik panas pasaran, strategi ini lebih mengutamakan kawalan risiko, tidak mengejar pulangan yang sangat tinggi, tetapi dapat memperoleh keuntungan positif yang stabil.

Analisis risiko

Terdapat juga beberapa risiko yang berkaitan dengan strategi perdagangan lintas-titik rata-rata bergerak, yang tertumpu kepada beberapa aspek berikut:

  1. Kelemahan purata bergerak. Apabila ia datang dengan cepat, isyarat silang rata-rata bergerak akan mempunyai kelewatan, dan mungkin terlepas masa masuk yang terbaik.

  2. Tempoh kosong adalah panjang. Strategi ini keluar lebih awal, tetapi isyarat masuk lebih lambat. Ini boleh menyebabkan kadang-kadang terdapat terlalu banyak masa kosong.

  3. Pilihan parameter seperti panjang purata bergerak, kitaran ROC mempunyai kesan yang besar terhadap prestasi strategi. Tetapi pengoptimuman parameter memerlukan banyak data sejarah untuk diuji semula, dan pengoptimuman lebih sukar.

  4. Kesan kurang baik dalam keadaan gegaran yang besar. Apabila berlaku gegaran yang besar, rata-rata bergerak akan menghasilkan beberapa persilangan yang tidak berkesan, yang akan mempengaruhi prestasi strategi.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dengan cara berikut:

  1. Gabungan dengan penunjuk gelombang trend. Menambahkan penunjuk seperti ADX, ATR dan lain-lain untuk menilai keadaan trend. Menutup strategi dengan penurunan nilai apabila tidak ada trend yang jelas, untuk mengelakkan perdagangan yang tidak sah.

  2. Kerangka masa yang lebih tinggi untuk menilai arah trend utama dan mengelakkan perdagangan yang bertentangan.

  3. Optimasi penyesuaian parameter. Membolehkan parameter seperti panjang purata bergerak untuk menyesuaikan diri mengikut tahap turun naik pasaran dalam masa nyata, meningkatkan kekuatan parameter.

  4. Mengenalpasti corak. Mengenali corak kerucut di titik persimpangan MA untuk menyaring isyarat palsu.

ringkaskan

Strategi perdagangan silang titik peralihan rata-rata bergerak secara keseluruhan adalah strategi yang seimbang antara risiko dan keuntungan. Ia mempunyai kelebihan seperti mudah untuk dilaksanakan, menentang kerugian berturut-turut, kestabilan pendapatan, dan juga terdapat masalah keterlambatan rata-rata bergerak, masa kosong terlalu lama.

Kod sumber strategi
/*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=4
//study(title="MA Crossover Strategy", overlay = true)
strategy("MA Crossover Strategy with MA Turning Point Exits", overlay=true)
src = input(close, title="Source")

price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(25, title="1st MA Length")
type1 = input("SMA", "1st MA Type", options=["SMA", "EMA"])

ma2 = input(50, title="2nd MA Length")
type2 = input("SMA", "2nd MA Type", options=["SMA", "EMA"])

price1 = if (type1 == "SMA")
    sma(price, ma1)
else
    ema(price, ma1)
    
price2 = if (type2 == "SMA")
    sma(price, ma2)
else
    ema(price, ma2)


//plot(series=price, style=line,  title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=line,  title="1st MA", color=blue, linewidth=2, transp=0)
plot(series=price2, style=line, title="2nd MA", color=green, linewidth=2, transp=0)


longCondition = crossover(price1, price2)
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = crossunder(price1, price2)
if (shortCondition)
    strategy.entry("Short", strategy.short)

lookback1 = input(1, "Lookback 1")
roc1 = roc(price1, lookback1)

ma1up = false
ma1down = false
ma2up = false
ma2down = false

ma1up := nz(ma1up[1])
ma1down := nz(ma1down[1])
ma2up := nz(ma2up[1])
ma2down := nz(ma2down[1])

trendStrength1 = input(2, title="Minimum slope magnitude * 100", type=float) * 0.01

if crossover(roc1, trendStrength1)
    ma1up := true
    ma1down := false
    
if crossunder(roc1, -trendStrength1) 
    ma1up := false
    ma1down := true

shortexitCondition = ma1up and ma1down[1]
if (shortexitCondition)
    strategy.close("Short")

longexitCondition = ma1down and ma1up[1]
if (longexitCondition)
    strategy.close("Long")