Strategi Crossover Rata-rata Bergerak

Penulis:ChaoZhang, Tanggal: 2023-11-07 15:48:41
Tag:

img

Gambaran umum

Strategi crossover rata-rata bergerak adalah strategi analisis teknis yang sangat klasik. Ini menghitung rata-rata bergerak dari periode yang berbeda dan mengamati crossover mereka untuk menentukan tren pasar, untuk mencapai tujuan membeli rendah dan menjual tinggi. Strategi ini cocok untuk perdagangan jangka menengah dan panjang, dan dapat secara efektif menyaring kebisingan pasar dan mengidentifikasi tren.

Prinsip

Strategi ini terutama menghitung rata-rata bergerak sederhana 10 hari (SMA) dan rata-rata bergerak segitiga 10 hari (TRIMA). Ketika SMA melintasi di atas TRIMA, sinyal beli dihasilkan, yang menunjukkan tren pasar telah berubah dari penurunan ke kenaikan, dan kita dapat membeli. Ketika SMA melintasi di bawah TRIMA, sinyal jual dihasilkan, yang menunjukkan tren pasar telah berubah dari kenaikan ke penurunan, dan kita dapat menjual.

Secara khusus, strategi pertama memasukkan harga penutupan, dan mendefinisikan panjang siklus untuk menghitung SMA dan TRIMA.

SMA = (P1 + P2 +... + Pn) / n

Di mana Pn adalah harga penutupan untuk n hari terakhir.

Rumus perhitungan untuk TRIMA adalah:

TRIMA = (SMA1 + SMA2 + SMA3) / 3

Di mana SMA1, SMA2, SMA3 adalah SMA dari harga penutupan untuk n hari terakhir masing-masing.

Jadi TRIMA sebenarnya adalah SMA yang dihitung di atas SMA, yang memiliki efek smoothing yang lebih baik. ketika SMA jangka pendek melintasi di atas TRIMA jangka panjang, itu menunjukkan terobosan dari rata-rata bergerak jangka pendek, dan kita dapat membeli. sebaliknya, ketika SMA melintasi di bawah TRIMA, itu menunjukkan kerusakan di bawah rata-rata bergerak jangka pendek, dan kita dapat menjual.

Keuntungan

Keuntungan terbesar dari strategi ini adalah bahwa ia memanfaatkan kemampuan penilaian tren dari moving average untuk secara efektif mengidentifikasi tren pasar dan menyaring kebisingan pasar jangka pendek, untuk membeli rendah dan menjual tinggi. Dibandingkan dengan moving average tunggal, kombinasi SMA dan TRIMA dapat meningkatkan keandalan terobosan dan mengurangi kemungkinan terobosan palsu. Selain itu, moving average itu sendiri memiliki kelancaran yang baik, yang juga dapat memainkan peran stop loss untuk mengurangi probabilitas posisi stop loss tunggal. Secara umum, strategi ini sangat cocok untuk perdagangan jangka menengah dan panjang.

Risiko

Risiko utama dari strategi ini adalah bahwa rata-rata bergerak sendiri tertinggal dari perubahan harga, yang dapat melewatkan tahap awal tren, sehingga terlambat masuk. Selain itu, ketika pasar tidak memiliki tren yang jelas, strategi ini akan menghasilkan lebih banyak terobosan palsu.

Arahan Optimasi

Strategi ini dapat dioptimalkan dalam aspek berikut:

  1. Mengoptimalkan parameter siklus rata-rata bergerak untuk menemukan kombinasi terbaik secara ilmiah.

  2. Tambahkan indikator penyaringan seperti volume perdagangan untuk menghindari sinyal yang salah ketika volume perdagangan rendah.

  3. Menggabungkan indikator tren seperti MACD untuk menilai tren lokal dan menghindari perdagangan yang sering di pasar konsolidasi.

  4. Mengadopsi rata-rata bergerak adaptif untuk menyesuaikan parameter siklus secara dinamis ketika pasar memasuki tahap tertentu.

  5. Memverifikasi dengan beberapa kerangka waktu, seperti mempertimbangkan entri hanya ketika kedua baris harian dan 4 jam menerobos.

Ringkasan

Strategi crossover rata-rata bergerak adalah strategi analisis teknis yang sederhana dan praktis yang sangat cocok untuk perdagangan posisi jangka menengah dan panjang. Ini dapat secara efektif mengidentifikasi arah tren. Tetapi juga memiliki keterlambatan tertentu, dan perlu disaring dan dioptimalkan dengan indikator penilaian tren untuk mengurangi kemungkinan sinyal palsu. Jika parameter dioptimalkan dengan benar, itu dapat melindungi modal dan memanfaatkan peluang tren yang lebih besar. Pasti layak untuk diteliti dan diterapkan sebagai ide strategi.


/*backtest
start: 2022-10-31 00:00:00
end: 2023-11-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//TMA strategy I came across, uses sma to display entry/exit points for both margin and non margin trading. The buy/sell signals as well as syntax are hidden behind comments if you scroll down.
//Change the commented fields for margin or spot trading!
//@version=3
strategy("MP Rollercoaster Strat", overlay=true)

bgcolor ( color=black, transp=0, title='Blackground', editable=true)

x = input(close, "Red")
n = input(10, "periods")
trima = sma(sma(x,n), n)

kisa=input(5, "Green")
sma = sma(close, kisa)

bull = (sma>trima)
fill(plot(sma, color = green), plot(trima, color=red), bull ? green : red)

//Conditions
buy_signal = crossover(sma,trima)
sell_signal = crossunder(sma,trima)

plotshape(sell_signal, style=shape.triangleup, color = red, text="Short")
plotshape(buy_signal, style=shape.triangledown, color = green, text="Long")
//plotshape(sell_signal, style=shape.triangleup, color = red, text="Sell")
//plotshape(buy_signal, style=shape.triangledown, color = green, text="Buy")

alertcondition(sell_signal, title = 'Short', message = 'e= s= c=position b=long t=market l= | delay=30 | e= s= b=short l= t=market q=0.01')
alertcondition(buy_signal, title = 'Long', message =  'e= s= c=position b=short t=market l= | delay=30 | e= s= b=long l= t=market q=0.01')

//alertcondition(sell_signal, title = 'Sell', message = 'e= s= c=order b=buy | delay=3 | e= b=sell q=99% p=0.70% u=currency')
//alertcondition(buy_signal, title = 'Buy', message =  'e= s= c=order b=sell | delay=30 | e= b=buy q=80 p=0.1% u=currency')

testStartYear = input(2018, "From Year") 
testStartMonth = input(4, "From Month")
testStartDay = input(1, "From Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2019, "To Year")
testStopMonth = input(1, "To Month")
testStopDay = input(1, "To Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() => true

if testPeriod()
    if buy_signal
        strategy.entry("Long", true)
    

    if sell_signal
        strategy.close("Long")

Lebih banyak