Strategi Tren Crossover Rata-rata Bergerak Dinamis


Tanggal Pembuatan: 2024-02-05 12:14:12 Akhirnya memodifikasi: 2024-02-05 12:14:12
menyalin: 0 Jumlah klik: 589
1
fokus pada
1617
Pengikut

Strategi Tren Crossover Rata-rata Bergerak Dinamis

Ringkasan

Strategi ini adalah strategi crossover rata-rata bergerak sederhana (SMA) yang berlaku untuk pasar cryptocurrency. Strategi ini menggunakan tiga set SMA cepat, menengah, dan lambat untuk mengidentifikasi sinyal masuk dan keluar yang potensial. Ketika SMA cepat naik melewati SMA menengah, menghasilkan sinyal beli; Ketika SMA cepat turun melewati SMA menengah, menghasilkan sinyal jual.

Prinsip Strategi

Pengaturan parameter

Strategi memungkinkan trader untuk mengatur parameter-parameter penting berikut:

  • Sumber data harga: harga penutupan atau harga lainnya
  • Apakah perhitungan garis K tidak lengkap
  • Metode prediksi SMA: Prediksi horizontal atau prediksi regresi linier
  • Panjang SMA cepat: default 7
  • Panjang SMA kecepatan rata-rata: default 30
  • Panjang SMA lambat: default 50
  • Uang di rekening
  • Rasio risiko per transaksi

Perhitungan SMA

SMA cepat, SMA menengah, dan SMA lambat dihitung berdasarkan panjang SMA yang ditetapkan pengguna.

Sinyal perdagangan

Ketika SMA cepat di atas melewati SMA menengah, menghasilkan sinyal beli; ketika SMA cepat di bawah melewati SMA menengah, menghasilkan sinyal jual.

Manajemen risiko dan posisi

Strategi ini menggabungkan dana akun dan rasio risiko yang ditanggung untuk setiap transaksi, untuk menghitung modal nominal untuk setiap transaksi. Kemudian menggabungkan ATR untuk menghitung margin stop loss, dan akhirnya menentukan posisi spesifik untuk setiap transaksi.

Analisis Keunggulan

  • Mengidentifikasi tren dengan lebih banyak kelompok SMA, dan lebih banyak penilaian
  • Metode prediksi SMA bersifat opsional dan lebih adaptif
  • Sinyal perdagangan sederhana, jelas, dan mudah diterapkan
  • Integrasi Manajemen Risiko dan Posisi, Lebih Ilmiah

Analisis risiko

  • SMA sendiri keterbelakangan akan melewatkan titik balik harga
  • Hanya Mempertimbangkan Indikator Teknis, Tidak Menggabungkan Dasar-Dasar
  • Tidak mempertimbangkan dampak dari kejadian tak terduga

Hal ini dapat dioptimalkan dengan cara memendekkan siklus SMA, atau dengan cara lain.

Arah optimasi

  • Kombinasi dengan indikator lain untuk memfilter sinyal yang salah
  • Menambahkan penilaian mendasar
  • Optimalkan parameter siklus SMA
  • Optimalkan risiko dan parameter perhitungan posisi

Meringkaskan

Strategi ini mengintegrasikan beberapa fungsi penilaian silang SMA, manajemen risiko, dan optimasi posisi, merupakan strategi pelacakan tren yang cocok untuk pasar crypto. Pedagang dapat menyesuaikan parameter dan menerapkan optimasi sesuai dengan gaya perdagangan mereka sendiri, lingkungan pasar, dan faktor lainnya.

Kode Sumber Strategi
/*backtest
start: 2024-01-05 00:00:00
end: 2024-02-04 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Onchain Edge Trend SMA Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// Configuration Parameters
priceSource = input(close, title="Price Source")
includeIncompleteBars = input(true, title="Consider Incomplete Bars")
maForecastMethod = input(defval="flat", options=["flat", "linreg"], title="Moving Average Prediction Method")
linearRegressionLength = input(3, title="Linear Regression Length")
fastMALength = input(7, title="Fast Moving Average Length")
mediumMALength = input(30, title="Medium Moving Average Length")
slowMALength = input(50, title="Slow Moving Average Length")
tradingCapital = input(100000, title="Trading Capital")
tradeRisk = input(1, title="Trade Risk (%)")

// Calculation of Moving Averages
calculateMA(source, period) => sma(source, period)
predictMA(source, forecastLength, regressionLength) => 
    maForecastMethod == "flat" ? source : linreg(source, regressionLength, forecastLength)

offset = includeIncompleteBars ? 0 : 1
actualSource = priceSource[offset]

fastMA = calculateMA(actualSource, fastMALength)
mediumMA = calculateMA(actualSource, mediumMALength)
slowMA = calculateMA(actualSource, slowMALength)

// Trading Logic
enterLong = crossover(fastMA, mediumMA)
exitLong = crossunder(fastMA, mediumMA)

// Risk and Position Sizing
riskCapital = tradingCapital * tradeRisk / 100
lossThreshold = atr(14) * 2
tradeSize = riskCapital / lossThreshold

if (enterLong)
    strategy.entry("Enter Long", strategy.long, qty=tradeSize)

if (exitLong)
    strategy.close("Enter Long")

// Display Moving Averages
plot(fastMA, color=color.blue, linewidth=2, title="Fast Moving Average")
plot(mediumMA, color=color.purple, linewidth=2, title="Medium Moving Average")
plot(slowMA, color=color.red, linewidth=2, title="Slow Moving Average")