Strategi crossover berdasarkan rata-rata pergerakan periode yang berbeda


Tanggal Pembuatan: 2023-12-08 12:20:42 Akhirnya memodifikasi: 2023-12-08 12:20:42
menyalin: 0 Jumlah klik: 592
1
fokus pada
1621
Pengikut

Strategi crossover berdasarkan rata-rata pergerakan periode yang berbeda

Ringkasan

Strategi ini menghasilkan sinyal perdagangan dengan menghitung moving average dari dua periode yang berbeda dan memetakan titik persimpangan mereka. Ketika bergerak di atas rata-rata bergerak jangka pendek, lakukan over; ketika bergerak di bawah rata-rata bergerak jangka pendek, lakukan minus.

Prinsip Strategi

Strategi ini didasarkan pada keuntungan dari Moving Average karena dapat menghilangkan keacakan dalam urutan harga dan mengekstrak tren utama. Strategi ini menggunakan garis 7 dan 20 untuk membangun sistem moving average ganda, dua periode yang lebih umum digunakan dan lebih jelas.

Ketika pergerakan jangka pendek di atas rata-rata bergerak melewati rata-rata bergerak jangka panjang, berarti harga masuk ke tren naik; Ketika pergerakan jangka pendek di bawah rata-rata bergerak melewati rata-rata bergerak jangka panjang, berarti harga masuk ke tren turun. Berdasarkan prinsip ini, kita membeli lebih banyak atau menjual lebih sedikit.

Secara khusus, strategi ini menggunakan perhitungan rata-rata bergerak sederhana 7 hari dan rata-rata bergerak sederhana 20 hari untuk menentukan pergeseran tren dan mengirimkan sinyal perdagangan ketika dua rata-rata terjadi persilangan. Untuk membedakan jenis persilangan, tentukan garis jangka pendek yang lebih besar dari garis jangka panjang sebagai tren kenaikan harga, sebaliknya sebagai tren penurunan harga.

Analisis Keunggulan

(1) Strategi yang jelas dan sederhana, mudah dipahami dan diterapkan.

(2) Moving averages sebagai indikator trend tracking, dapat secara efektif menyaring sebagian dari noise yang terkandung dalam harga, menggunakan sistem dual moving averages dapat meningkatkan stabilitas lebih lanjut.

(3) Konfigurasi parameter adalah kombinasi parameter yang fleksibel dan dapat disesuaikan secara berkala untuk memenuhi persyaratan perdagangan dalam lingkungan pasar yang berbeda.

(4) Menggunakan dua siklus rata-rata bergerak yang lebih umum digunakan, mudah untuk menilai sinyal perdagangan yang jelas.

(5) Analisis bantuan visual yang cukup kuat, intuitif menilai tren, titik penting, dll melalui efek visual.

(6) Setelah pengujian ulang strategi, parameter dapat disesuaikan sesuai dengan hasil optimasi untuk meningkatkan tingkat pengembalian strategi.

Analisis risiko

(1) Strategi moving average ganda lebih sensitif terhadap fluktuasi pasar, dan sering terjadi kerugian perdagangan dalam situasi yang bergolak.

(2) Hanya mengandalkan persilangan garis rata tidak selalu dapat menentukan titik perputaran tren dengan akurat, dan dapat menyebabkan sinyal yang salah.

(3) Peraturan yang lebih kaku, ketika kejadian yang tidak terduga mempengaruhi pasar, strategi tidak dapat melakukan penyesuaian dapat menyebabkan kerugian besar.

(4) Parameter yang tidak tepat juga dapat menyebabkan sinyal yang salah atau kehilangan peluang perdagangan, yang perlu diuji dan dioptimalkan dengan hati-hati.

Untuk mengurangi risiko ini, kombinasi parameter dapat disesuaikan dengan tepat; menambahkan indikator lain untuk membantu; mengatur strategi stop loss untuk mengendalikan kerugian; menyesuaikan parameter atau strategi penutupan sesuai dengan kondisi pasar.

Arah optimasi

(1) Kombinasi dengan indikator teknis lainnya, membentuk strategi kombinasi, dapat meningkatkan keakuratan sinyal. Misalnya, menambahkan indikator volume transaksi, memperbesar volume transaksi yang ditentukan saat melintasi rata-rata bergerak, dapat meningkatkan peluang entri.

(2) Menambahkan strategi stop loss, yang dapat secara efektif mengendalikan kerugian tunggal. Misalnya, keluar dari posisi Head saat ini ketika harga melampaui batas tertentu dari rata-rata bergerak.

(3) Uji optimasi kombinasi parameter periodik dari moving average. Anda dapat mencoba berbagai pencocokan periode cepat dan lambat untuk menemukan kombinasi parameter yang optimal. Selain itu, Anda juga dapat menguji indikator moving average lainnya seperti indeks moving average, weighted moving average, dan sebagainya.

(4) Adaptasi parameter untuk varietas dan lingkungan pasar yang berbeda. Untuk varietas yang berfluktuasi tinggi, siklus rata-rata bergerak dapat dipersingkat dan frekuensi perdagangan dapat dikurangi. Untuk lingkungan pasar yang sangat tren, selang waktu antara dua garis rata-rata dapat ditingkatkan.

Meringkaskan

Moving average double crossover strategy secara keseluruhan adalah strategi pelacakan tren yang sangat khas dan mendasar. Strategi ini menilai perubahan tren harga dengan menghitung moving average dari dua periode yang berbeda dan mengamati persimpangan mereka. Ini menghasilkan sinyal perdagangan ketika bergerak di atas atau di bawah rata-rata bergerak jangka panjang.

Kode Sumber Strategi
/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Ma stratégie", overlay=true)

// Multi-timeframe and price input
pricetype = input(close, title="Price Source For The Moving Averages")
useCurrentRes = input(true, title="Use Current Timeframe As Resolution?")
resCustom = input(title="Use Different Timeframe? Then Uncheck The Box Above",  defval="W")
res = useCurrentRes ? timeframe.period : resCustom
price = request.security(syminfo.tickerid, res, pricetype)

// MA period input
shortperiod = input(7, title="Short Period Moving Average")
longperiod = input(20, title="Long Period Moving Average")



short = ema(price, shortperiod) 
long = ema(price, longperiod) 
   
// MA trend direction color
shortcolor = short > short[1] ? lime : short < short[1] ? red : blue
longcolor = long > long[1] ? lime : long < long[1] ? red : blue

// MA output
MA1 = plot(short, title="Short Period Moving Average", style=linebr, linewidth=2, color=shortcolor)
MA2 = plot(long, title="Long Period Moving Average", style=linebr, linewidth=4, color=longcolor)
fill(MA1, MA2, color=silver, transp=50)

// MA trend bar color
TrendingUp() => short > long 
TrendingDown() => short < long 
barcolor(TrendingUp() ? green : TrendingDown() ? red : blue)

// MA cross alert
MAcrossing = cross(short, long) ? short : na
plot(MAcrossing, style = cross, linewidth = 4,color=black)

// MA cross background color alert
Uptrend() => TrendingUp() and TrendingDown()[1]
Downtrend() => TrendingDown() and TrendingUp()[1]
bgcolor(Uptrend() ? green : Downtrend() ? red : na,transp=50)

// Buy and sell alert
Buy = Uptrend() and close > close[1]
Sell = Downtrend() and close < close[1]
plotshape(Buy, color=black, style=shape.arrowup, text="Buy", location=location.bottom)
plotshape(Sell, color=black, style=shape.arrowdown, text="Sell", location=location.top)



if (Buy)
    strategy.entry("My Long Entry Id", strategy.long)


if (Sell)
    strategy.entry("My Short Entry Id", strategy.short)