Strategi Crossover Rata-rata Gerak yang Dioptimalkan

Penulis:ChaoZhang, Tanggal: 2024-02-04 10:31:45
Tag:

img

Gambaran umum

Strategi ini didasarkan pada crossover rata-rata bergerak reguler tetapi beberapa modifikasi telah dilakukan untuk menghasilkan sinyal perdagangan yang lebih akurat.

Logika Strategi

Ketika rata-rata bergerak cepat melintasi di atas rata-rata bergerak lambat dari bawah ke atas, itu dianggap sebagai sinyal beli. Ketika rata-rata bergerak cepat melintasi ke bawah rata-rata bergerak lambat dari atas ke bawah, itu dianggap sebagai sinyal jual. yaitu, salib emas untuk panjang, salib kematian untuk pendek. Setelah posisi panjang/pendek diambil, stop loss akan diatur untuk menghindari kerugian besar.

Kuncinya terletak pada pemilihan rata-rata bergerak cepat dan lambat. Strategi ini mengadopsi rata-rata bergerak eksponensial periode 50&100 sebagai garis cepat dan lambat masing-masing. Efek strategi dapat dioptimalkan dengan menyesuaikan parameter MA.

Analisis Keuntungan

Strategi ini mengidentifikasi arah tren dengan menggabungkan rata-rata bergerak ganda, yang dapat menyaring kebisingan pasar secara efektif. Dibandingkan dengan strategi MA tunggal, ini dapat meningkatkan probabilitas profitabilitas. Selain itu, pengaturan stop loss juga membatasi kerugian perdagangan individu.

Dengan memanfaatkan aturan silang untuk menentukan titik infleksi, strategi ini dapat menangkap peluang tren secara tepat waktu. Dibandingkan dengan strategi yang terdiri dari logika yang kompleks, mudah dipahami dan diimplementasikan.

Analisis Risiko

Ada tiga risiko utama untuk strategi ini: risiko parameter MA yang tidak tepat, risiko periode kepemilikan yang tidak tepat dan risiko posisi stop loss yang tidak wajar.

  • Pemilihan parameter MA yang tidak tepat akan menyebabkan sinyal yang salah. panjang MA yang terlalu pendek atau terlalu panjang akan salah menilai pasar, sehingga penyesuaian yang tepat sesuai dengan karakteristik instrumen diperlukan.

  • Baik periode kepemilikan yang terlalu lama atau terlalu pendek tidak dapat memaksimalkan keuntungan atau mengendalikan risiko dengan benar.

  • Pengaturan posisi stop loss yang tidak masuk akal akan menyebabkan stop loss yang terlalu luas atau terlalu sempit, sehingga stop loss yang tepat berdasarkan volatilitas instrumen harus ditentukan.

Arahan Optimasi

Strategi ini dapat dioptimalkan dari aspek berikut:

  • Uji lebih banyak kombinasi parameter MA untuk menemukan parameter optimal

  • Tentukan posisi stop loss dinamis berdasarkan fluktuasi harga atau ATR N hari terakhir

  • Gabungkan lebih banyak indikator seperti MACD, KD dll untuk menentukan waktu masuk

  • Tambahkan aturan penyaringan tren untuk menghindari pasar yang terikat kisaran

  • Pertimbangkan untuk menerapkan strategi ke lebih banyak instrumen, atau memperbaikinya ke strategi lintas instrumen

Ringkasan

Strategi crossover rata-rata bergerak yang dioptimalkan ini mengintegrasikan keuntungan dari MA ganda dalam menilai arah tren dan menetapkan stop loss untuk mengontrol risiko. Ini termasuk dalam strategi trend berikut yang mudah diimplementasikan. Strategi ini dapat ditingkatkan lebih lanjut dalam stabilitas dan efisiensi melalui optimasi parameter, optimasi stop loss, penyaringan sinyal dll. Dibandingkan dengan strategi yang kompleks, lebih mudah dipahami dan diimplementasikan, dan karenanya sangat cocok untuk menjadi strategi perdagangan kuantum pertama bagi pemula.


/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-03 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ashishchauhan
strategy(title="MA CO Strategy Test", overlay=true, pyramiding=0, initial_capital=100000)

fastEMALen = input(title="Fast EMA Length", type=input.integer, defval=50)
slowEMALen = input(title="Slow EMA Length", type=input.integer, defval=100)

fastEMA = ema(close, fastEMALen)
slowEMA = ema(close, slowEMALen)

enterLong = crossover(fastEMA, slowEMA)
enterShort = crossunder(fastEMA, slowEMA)

longStop = 0.0
longStop := enterShort ? close : longStop[1]

shortStop = 0.0
shortStop := enterLong ? close : shortStop[1]

plot(series=fastEMA, color=color.orange, title="Fast EMA")
plot(series=slowEMA, color=color.teal, linewidth=3, title="Slow EMA")

if enterLong
    strategy.entry(id="GoLong", long=true)

if enterShort
    strategy.entry(id="GoShort", long=false)

if strategy.position_size > 0
    strategy.exit(id="ExLong", from_entry="GoLong", stop=longStop)

if strategy.position_size < 0
    strategy.exit(id="ExShort", from_entry="GoShort", stop=shortStop)

strategy.close_all()


Lebih banyak