Strategi kuantitatif crossover rata-rata bergerak

Penulis:ChaoZhang, Tanggal: 2023-12-22 15:05:24
Tag:

img

Gambaran umum

Strategi ini menghasilkan sinyal masuk dan keluar dengan menghitung rata-rata bergerak eksponensial EMA dan indikator MACD dan menggabungkan sinyal crossover keduanya.

Logika Strategi

Strategi ini menggunakan rata-rata bergerak eksponensial EMA untuk menentukan arah tren saat ini. Pada saat yang sama, ini menggunakan crossover rata-rata bergerak dari indikator MACD untuk menghasilkan sinyal perdagangan. Hanya ketika harga menembus garis EMA, sinyal salib emas dan salib kematian MACD akan dipertimbangkan. Ini menghindari sinyal palsu.

Strategi ini terutama didasarkan pada keuntungan dari strategi perdagangan rata-rata bergerak dan strategi perdagangan MACD. Rata-rata bergerak dapat menilai arah tren dengan cukup baik. Perpindahan garis cepat dan lambat dari rata-rata bergerak eksponensial MACD dapat menunjukkan titik beli dan jual. Menggunakan keduanya dalam kombinasi dapat meningkatkan akurasi sinyal.

Analisis Keuntungan

Strategi ini menggabungkan indikator ganda EMA dan MACD untuk secara efektif menyaring beberapa sinyal palsu dan meningkatkan kualitas sinyal. Pada saat yang sama, EMA menilai tren utama dan MACD menilai titik masuk dan keluar tertentu. Keduanya saling melengkapi dan dapat mencapai pengembalian yang baik.

Selain itu, strategi ini hanya mempertimbangkan sinyal MACD ketika harga menembus garis EMA, menghindari perdagangan yang salah di pasar yang bergolak.

Analisis Risiko

Risiko utama dari strategi ini terletak pada pengaturan parameter. Jika parameter EMA dan MACD ditetapkan dengan tidak benar, sinyal dapat dilewatkan atau sinyal palsu dapat dihasilkan. Selain itu, jika tren pasar berbalik, strategi akan menimbulkan beberapa kerugian.

Untuk mengurangi risiko, parameter harus disesuaikan dengan tepat agar sesuai dengan siklus pasar EMA dan MACD saat ini. Pada saat yang sama, disarankan untuk menggunakan stop loss untuk mengendalikan kerugian tunggal. Ketika pasar memasuki proses terendah atau menyentuh dukungan, perdagangan harus ditangguhkan untuk menghindari kerugian berkelanjutan.

Arahan Optimasi

Aspek-aspek berikut dari strategi dapat dioptimalkan:

  1. Mengoptimalkan parameter secara dinamis untuk menyesuaikan parameter EMA dan MACD sesuai dengan kondisi pasar dan siklus waktu nyata untuk memastikan validitas parameter

  2. Tambahkan indikator lain dalam kombinasi, seperti saluran BOLL atau indikator KD, untuk memperkaya sinyal strategi

  3. Menggunakan metode pembelajaran mesin untuk secara otomatis mengoptimalkan parameter strategi dan menyesuaikan parameter berdasarkan hasil backtest

  4. Ketika menembus garis EMA, menilai kekuatan arah untuk menghindari pelanggaran palsu

  5. Tambahkan strategi profit taking dan stop loss untuk mengunci keuntungan dan mengurangi kerugian

Ringkasan

Strategi kuantitatif crossover rata-rata bergerak menggabungkan indikator EMA dan MACD ganda untuk secara efektif menghasilkan sinyal berkualitas tinggi. mengoptimalkan pengaturan parameter, menambahkan stop loss / profit taking, menambahkan indikator lain, dll dapat lebih meningkatkan stabilitas dan profitabilitas strategi. strategi yang efektif dan sederhana ini memiliki nilai referensi dan aplikasi yang besar untuk pedagang kuantitatif.


/*backtest
start: 2022-12-15 00:00:00
end: 2023-12-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("LONERTESTV2", overlay=true)

// Input definitions
fastLength = input(12, title="Fast Length")
slowlength = input(26, title="Slow Length")
MACDLength = input(9, title="MACD Length")
emaLength = input(13, title="EMA Length")
//smaLength = input(200, title="SMA Length")

// SMA Indicator - Are we in a Bull or Bear market according to 200 SMA?
//SMA = ta.ema(close, smaLength)

// EMA Indicator - Are we in a rally or not?
EMA = ta.ema(close, emaLength)

// MACD Indicator - Is the MACD bullish or bearish?
MACD = ta.ema(close, fastLength) // - ta.ema(close, slowlength)
aMACD = ta.ema(MACD, MACDLength)
delta = MACD - aMACD

// Set Buy/Sell conditions
buy_entry = close > EMA and delta > 5 ? true : close > EMA and delta > -5
sell_entry = close < EMA and delta < -5 ? true : close < EMA and delta < 5

if buy_entry
    strategy.entry(id='EL', direction=strategy.long)

if sell_entry
    strategy.entry(id='ES', direction=strategy.short)

// strategy.entry("Buy", strategy.long)
// strategy.entry("Sell", strategy.short)


Lebih banyak