Strategi Perdagangan Crossover Titik Balik Rata-rata Bergerak


Tanggal Pembuatan: 2024-01-29 11:15:42 Akhirnya memodifikasi: 2024-01-29 11:15:42
menyalin: 8 Jumlah klik: 585
1
fokus pada
1617
Pengikut

Strategi Perdagangan Crossover Titik Balik Rata-rata Bergerak

Ringkasan

Strategi perdagangan lintas titik rata-rata bergerak adalah strategi indikator teknis klasik. Ide inti dari strategi ini adalah untuk menghasilkan sinyal jual beli yang menggabungkan rata-rata bergerak dari periode yang berbeda, dan menggunakan titik rata-rata bergerak untuk lebih mengoptimalkan perdagangan exit. Strategi ini cocok untuk berbagai periode waktu dan varietas, dan dapat menghasilkan keuntungan yang stabil.

Prinsip Strategi

Strategi ini terutama menggunakan dua rata-rata bergerak, satu siklus yang lebih pendek sebagai garis cepat, yang lain siklus yang lebih lama sebagai garis lambat. Ketika garis cepat dari arah bawah menerobos garis lambat menghasilkan sinyal beli; Ketika garis cepat dari arah atas jatuh dari arah bawah menerobos garis lambat menghasilkan sinyal jual.

Selanjutnya, strategi ini memanfaatkan titik-titik keluar dari perdagangan rata-rata bergerak. Ketika garis cepat bergeser dari naik ke turun, satu-satunya keluar dari permainan; Ketika garis cepat bergeser dari turun ke naik, satu-satunya keluar dari permainan.

Analisis Keunggulan

Strategi perdagangan lintas titik perputaran rata-rata bergerak memiliki beberapa keuntungan:

  1. Operasi sederhana dan mudah diterapkan. Strategi ini hanya menggunakan dua indikator: Moving Average dan ROC. Kode implementasi tidak rumit.

  2. Ketahanan terhadap kerugian berkelanjutan yang kuat. Rata-rata bergerak sendiri memiliki ciri-ciri tertentu dari tren harga yang tertunda dan meluncur, yang dapat menyaring sebagian dari kebisingan dan menghindari terlalu banyak perdagangan yang tidak efektif dalam tren getaran.

  3. Dapat mengontrol kerugian unilateral secara efektif. Menggunakan titik perputaran rata-rata bergerak untuk menghentikan kerugian tepat waktu, dapat mengurangi terjadinya kerugian unilateral besar.

  4. Strategi ini dapat diterapkan pada berbagai varietas dan berbagai kerangka waktu perdagangan, seperti garis waktu, garis waktu, dan lain-lain. Ada banyak ruang untuk pengoptimalan parameter.

  5. Stabilitas pendapatan. Berbeda dengan strategi mengejar titik panas pasar, strategi ini lebih mengutamakan pengendalian risiko, tidak mengejar keuntungan yang sangat tinggi, tetapi dapat memperoleh keuntungan positif yang stabil.

Analisis risiko

Ada beberapa risiko dalam strategi trading crossover moving averages, yang terkonsentrasi pada beberapa aspek berikut:

  1. Lagging Moving Average. Ketika kecepatan tinggi datang, sinyal crossover dari moving average akan mengalami lag, dan mungkin kehilangan waktu terbaik untuk masuk.

  2. Strategi ini lebih tepat waktu, tetapi sinyal masuknya lebih lambat. Hal ini dapat menyebabkan terkadang ada terlalu banyak waktu kosong. Anda akan kehilangan peluang untuk mendapatkan keuntungan tertentu selama posisi kosong.

  3. Optimasi parameter sangat sulit. Pilihan parameter seperti panjang rata-rata bergerak, siklus ROC dapat sangat mempengaruhi kinerja strategi. Namun, pengoptimalan parameter membutuhkan banyak data historis untuk melakukan pengujian ulang, dan pengoptimalan lebih sulit.

  4. Tidak efektif dalam situasi yang sangat bergoyang. Ketika terjadi situasi yang sangat bergoyang, rata-rata bergerak akan menghasilkan beberapa kali tidak efektif crossover, yang mempengaruhi kinerja strategi.

Arah optimasi

Strategi perdagangan dapat dioptimalkan lebih lanjut dalam beberapa hal:

  1. Menggabungkan indikator gelombang tren. Menambahkan indikator seperti ADX, ATR, dan lain-lain untuk menilai status tren. Menutup strategi dengan penurunan nilai ketika tidak ada tren yang jelas, untuk menghindari perdagangan yang tidak valid.

  2. Kombinasi Multi-Frames │ Mengidentifikasi arah tren utama dalam jangka waktu yang lebih tinggi, menghindari perdagangan berlawanan. │

  3. Optimasi parameter adaptasi: memungkinkan parameter seperti panjang rata-rata bergerak untuk menyesuaikan diri dengan tingkat fluktuasi pasar real-time, meningkatkan kekuatan parameter.

  4. Mengenal pola. Mengidentifikasi pola kerucut di MA untuk memfilter sinyal palsu.

Meringkaskan

Moving average turning point crossover trading strategy secara keseluruhan merupakan strategi yang memiliki keseimbangan antara risiko dan keuntungan. Ini memiliki keuntungan seperti mudah untuk dicapai, anti-kerugian berturut-turut, stabilitas pendapatan, dan juga ada masalah seperti keterlambatan moving average, waktu kosong terlalu lama. Dengan optimasi parameter, pengenalan penilaian tren, dan pengenalan pola, dan lain-lain, dapat meningkatkan efektivitas strategi ini.

Kode 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")