Prakiraan tren multi-periode dinamis dikombinasikan dengan strategi penyaringan rata-rata bergerak

EMA SMA ML AI PREDICTION Trend FILTER BACKTEST
Tanggal Pembuatan: 2025-02-20 14:03:44 Akhirnya memodifikasi: 2025-02-27 17:38:36
menyalin: 1 Jumlah klik: 345
2
fokus pada
319
Pengikut

Prakiraan tren multi-periode dinamis dikombinasikan dengan strategi penyaringan rata-rata bergerak Prakiraan tren multi-periode dinamis dikombinasikan dengan strategi penyaringan rata-rata bergerak

Ringkasan

Strategi ini adalah sistem pelacakan tren yang menggabungkan analisis teknis tradisional dan metode kecerdasan buatan modern. Ini terutama menggunakan rata-rata bergerak indeks (EMA) dan rata-rata bergerak sederhana (SMA) sebagai filter tren, sambil memperkenalkan model peramalan untuk mengoptimalkan waktu masuk. Strategi ini dioptimalkan khusus untuk tingkat garis matahari untuk menangkap tren pasar jangka menengah dan panjang.

Prinsip Strategi

Logika inti dari strategi ini terdiri dari tiga komponen utama:

  1. Sistem penilaian tren - menggunakan 200 siklus EMA dan SMA sebagai filter tren utama untuk menilai arah tren saat ini melalui hubungan posisi harga dengan garis rata-rata
  2. Modul Prediksi - Menggunakan komponen prediksi yang dapat diperluas, saat ini menggunakan prediksi analog, yang nantinya dapat digantikan dengan model pembelajaran mesin
  3. Manajemen posisi - mengatur periode pegangan posisi 4 K-line yang tetap untuk mengontrol waktu dan risiko

Produksi sinyal perdagangan membutuhkan keseragaman arah tren dan sinyal prediksi, yaitu:

  • Sinyal multi-head: harga berada di atas EMA dan SMA, dan prediksi positif
  • Sinyal kosong: harga berada di bawah EMA dan SMA dengan prediksi negatif

Keunggulan Strategis

  1. Struktur yang jelas - logika strategi sederhana dan intuitif, mudah dipahami dan dipertahankan
  2. Kontrol risiko - Mengontrol risiko secara efektif dengan siklus pegangan tetap dan penyaringan dua rata-rata
  3. Skalabilitas yang kuat - desain modul prediksi yang fleksibel, dapat mengakses model prediksi yang berbeda sesuai kebutuhan
  4. Adaptif - Parameter dapat disesuaikan untuk menyesuaikan diri dengan lingkungan pasar yang berbeda
  5. Frekuensi Operasi Sedang - Operasi pada tingkat garis siang mengurangi biaya transaksi dan tekanan psikologis

Risiko Strategis

  1. Risiko perubahan tren - kemungkinan kerugian berturut-turut pada titik perubahan tren
  2. Sensitivitas parameter - pilihan periode rata-rata dan periode memegang posisi memiliki pengaruh yang lebih besar terhadap kinerja strategi
  3. Ketergantungan model - akurasi modul prediksi secara langsung mempengaruhi efektivitas strategi
  4. Dampak slippage - operasi di tingkat garis matahari mungkin menghadapi slippage yang lebih besar
  5. Ketergantungan pada kondisi pasar - kemungkinan kinerja buruk dalam pasar yang bergejolak

Arah optimasi strategi

  1. Upgrade model prediksi - memperkenalkan model pembelajaran mesin untuk menggantikan prediksi acak yang ada
  2. Siklus memegang posisi dinamis - waktu memegang posisi yang disesuaikan secara dinamis dengan volatilitas pasar
  3. Optimasi Stop Loss - Meningkatkan kemampuan pengendalian risiko dengan meningkatkan mekanisme stop loss dinamis
  4. Manajemen posisi - memperkenalkan sistem manajemen posisi berbasis volatilitas
  5. Filter multi-dimensi - peningkatan jumlah transaksi, fluktuasi dan indikator tambahan lainnya

Meringkaskan

Strategi ini membangun sistem pelacakan tren yang kuat dengan menggabungkan analisis teknis tradisional dan metode prediksi modern. Keunggulan utamanya adalah kejernihan logis, kontrol risiko, dan skalabilitas yang kuat. Optimalisasi strategi, terutama dengan perbaikan pada model prediksi dan kontrol risiko, diharapkan dapat meningkatkan stabilitas dan profitabilitas strategi lebih lanjut.

Kode Sumber Strategi
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

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

// Parameters (adjust as needed)
neighborsCount = 8
maxBarsBack = 2000
featureCount = 5
useDynamicExits = true
useEmaFilter = true
emaPeriod = 200
useSmaFilter = true
smaPeriod = 200

// Moving Average Calculations
ema = ta.ema(close, emaPeriod)
sma = ta.sma(close, smaPeriod)

// Trend Conditions
isEmaUptrend = close > ema
isEmaDowntrend = close < ema
isSmaUptrend = close > sma
isSmaDowntrend = close < sma

// Model Prediction (Replace with your real model)
// Here a simulation is used, replace it with real predictions
prediction = math.random() * 2 - 1 // Random value between -1 and 1

// Entry Signals
isNewBuySignal = prediction > 0 and isEmaUptrend and isSmaUptrend
isNewSellSignal = prediction < 0 and isEmaDowntrend and isSmaDowntrend

// Exit Signals
var int barsHeld = 0
var bool in_position = false
var int entry_bar = 0

if isNewBuySignal and not in_position
    in_position := true
    entry_bar := bar_index
    barsHeld := 1
else if isNewSellSignal and not in_position
    in_position := true
    entry_bar := bar_index
    barsHeld := 1
else if in_position
    barsHeld := barsHeld + 1
    if barsHeld == 4
        in_position := false

endLongTradeStrict = barsHeld == 4 and isNewBuySignal[1]
endShortTradeStrict = barsHeld == 4 and isNewSellSignal[1]

// Backtest Logic
var float totalProfit = 0
var float entryPrice = na
var int tradeDirection = 0

if isNewBuySignal and tradeDirection <= 0
    entryPrice := close
    tradeDirection := 1
    strategy.entry("Long", strategy.long)

if isNewSellSignal and tradeDirection >= 0
    entryPrice := close
    tradeDirection := -1
    strategy.entry("Short", strategy.short)

if (endLongTradeStrict and tradeDirection == 1) or (endShortTradeStrict and tradeDirection == -1)
    exitPrice = close
    profit = (exitPrice - entryPrice) / entryPrice
    if tradeDirection == -1
        profit := (entryPrice - exitPrice) / entryPrice

    totalProfit := totalProfit + profit
    tradeDirection := 0
    strategy.close_all()

plot(close, color=color.blue)
plot(ema, color=color.orange)
plot(sma, color=color.purple)