Strategi persilangan rata-rata bergerak


Tanggal Pembuatan: 2024-02-19 14:21:10 Akhirnya memodifikasi: 2024-02-19 14:21:10
menyalin: 2 Jumlah klik: 533
1
fokus pada
1617
Pengikut

Strategi persilangan rata-rata bergerak

Ringkasan

Strategi ini didasarkan pada persilangan rata-rata bergerak sederhana dan rata-rata bergerak berbobot untuk menghasilkan sinyal perdagangan, sementara digabungkan dengan stop loss dan stop loss untuk mengelola posisi. Strategi ini menggabungkan faktor dinamis ((persilangan rata-rata bergerak) dan faktor statis ((persamaan stop loss dan stop loss tetap), mencapai efek stasioner yang bergerak.

Prinsip Strategi

Logika inti adalah menghitung rata-rata bergerak dari dua periode yang berbeda, satu adalah rata-rata bergerak sederhana 9 hari, dan satu adalah rata-rata bergerak berat 21 hari. Ketika rata-rata bergerak sederhana 9 hari dari periode pendek melewati rata-rata bergerak berat 21 hari dari periode panjang, sinyal beli dihasilkan; Ketika melewati garis periode pendek di bawah garis periode panjang, sinyal jual dihasilkan.

Setelah sinyal diterima, stop loss order sesuai dengan rasio stop loss yang disetel. Misalnya, jika rasio stop loss disetel menjadi 5%, maka stop loss akan disetel menjadi 95% dari harga masuk. Jika rasio stop loss adalah 5%, maka stop loss akan disetel menjadi 105% dari harga masuk.

Analisis Keunggulan

Strategi ini menggabungkan indikator teknis dinamis dan parameter strategi statis, yang memiliki keunggulan sistem dinamis. Indikator teknis dapat secara dinamis menangkap karakteristik pasar, yang membantu untuk menangkap tren; sedangkan pengaturan parameter memberikan kontrol risiko dan imbalan yang stabil, yang membantu untuk mengurangi keacakan manajemen posisi.

Dibandingkan dengan sistem yang murni dinamis, strategi ini lebih kuat dalam manajemen posisi dan dapat mengurangi dampak keputusan yang tidak rasional. Dibandingkan dengan sistem yang murni statis, pilihan masuk strategi ini lebih fleksibel dan dapat beradaptasi dengan perubahan pasar. Oleh karena itu, strategi ini secara keseluruhan lebih kuat dan menguntungkan.

Analisis risiko

Risiko dari strategi ini terutama berasal dari dua aspek. Pertama adalah kemungkinan bahwa rata-rata bergerak menghasilkan sinyal yang salah. Ketika pasar berada dalam penataan yang bergoyang, rata-rata bergerak mungkin sering berselisih, sehingga strategi terkurung. Kedua adalah risiko bahwa stop loss yang tetap tidak dapat disesuaikan dengan kondisi pasar khusus.

Strategi kedua adalah mengaktifkan algoritma stop loss yang dapat disesuaikan dengan volatilitas pasar dan peristiwa khusus, sehingga stop loss disesuaikan dengan pasar.

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Mencoba kombinasi parameter yang berbeda untuk menemukan yang terbaik;

  2. Menambahkan kondisi filter untuk menghindari sinyal yang tidak valid;

  3. Menggunakan algoritma stop loss adaptif untuk berinteraksi dengan pasar;

  4. Untuk menghindari pasar yang bergejolak, pertimbangkan indikator-indikator lain untuk menilai tren yang kuat dan lemah.

  5. Mengoptimalkan parameter secara otomatis menggunakan metode pembelajaran mesin.

Dengan menguji parameter yang berbeda, menambahkan kondisi filter, memperbaiki stop loss, dan menilai tren, strategi dapat meningkatkan stabilitas dan tingkat pengembalian.

Meringkaskan

Strategi ini berhasil menggabungkan indikator dinamis dan parameter statis, dengan fleksibilitas dan stabilitas. Strategi ini berkinerja lebih baik secara keseluruhan dibandingkan dengan strategi dinamis dan statis murni. Tentu saja, masih ada ruang untuk pengoptimalan, dengan metode penyesuaian parameter, kondisi penyaringan, stop loss adaptif, dan pembelajaran mesin.

Kode Sumber Strategi
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("WMA vs MMA Crossover Strategy with SL/TP", shorttitle="WMA_MMA_Cross_SL_TP", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// Définition des périodes pour les moyennes mobiles
wmaLength = input.int(9, title="WMA Length")
mmaLength = input.int(21, title="MMA Length")

// Paramètres de Stop Loss et Take Profit en pourcentage
stopLossPercentage = input.float(5, title="Stop Loss (%)") / 100
takeProfitPercentage = input.float(5, title="Take Profit (%)") / 100

// Calcul des moyennes mobiles
wmaValue = ta.wma(close, wmaLength)
mmaValue = ta.sma(close, mmaLength)

// Conditions pour les signaux d'achat et de vente
buySignal = ta.crossover(wmaValue, mmaValue)
sellSignal = ta.crossunder(wmaValue, mmaValue)

// Génération des ordres en fonction des signaux
if buySignal
    strategy.entry("Buy", strategy.long)
    strategy.exit("Exit Buy", "Buy", stop=strategy.position_avg_price * (1 - stopLossPercentage), limit=strategy.position_avg_price * (1 + takeProfitPercentage))

if sellSignal
    strategy.entry("Sell", strategy.short)
    strategy.exit("Exit Sell", "Sell", stop=strategy.position_avg_price * (1 + stopLossPercentage), limit=strategy.position_avg_price * (1 - takeProfitPercentage))

// Affichage des moyennes mobiles sur le graphique
plot(wmaValue, color=color.blue, title="WMA")
plot(mmaValue, color=color.red, title="MMA")

// Affichage des signaux sur le graphique pour référence
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY")
plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")