Sumber daya yang dimuat... Pemuatan...

Adaptive Price-Crossing Moving Average Trading Strategy (Strategi Perdagangan Rata-rata Gerak yang Adaptif)

Penulis:ChaoZhang, Tanggal: 2024-09-26 16:12:36
Tag:HMASLTP

img

Gambaran umum

Adaptive Price-Crossing Moving Average Trading Strategy adalah metode perdagangan kuantitatif yang didasarkan pada Hull Moving Average (HMA). Strategi ini menghasilkan sinyal beli dan jual menggunakan price crossover dengan HMA, sambil menerapkan stop-loss dan take-profit level tetap untuk mengelola risiko dan reward. Strategi ini menggunakan HMA 104 periode sebagai indikator utamanya, dikombinasikan dengan price crossover untuk memicu perdagangan.

Prinsip Strategi

Inti dari strategi ini adalah penggunaan Hull Moving Average (HMA) sebagai indikator utama. HMA adalah rata-rata bergerak lanjutan yang merespon dengan cepat terhadap perubahan harga sambil mengurangi lag. Logika strategi adalah sebagai berikut:

  1. Menghitung HMA 104 periode.
  2. Buka posisi panjang saat harga melintasi HMA.
  3. Buka posisi short saat harga melintasi HMA.
  4. Atur tingkat stop loss ($1.25) dan take profit ($37.5) yang tetap untuk setiap perdagangan.
  5. Gunakan 2 kontrak untuk setiap perdagangan.

Strategi ini melacak posisi terbuka untuk memastikan tidak ada posisi baru yang dibuka sementara yang sudah ada aktif.

Keuntungan Strategi

  1. Kemampuan beradaptasi: HMA cepat beradaptasi dengan perubahan pasar, mengurangi sinyal palsu.
  2. Manajemen Risiko: Menggunakan tingkat stop-loss dan take-profit yang tetap, secara efektif mengendalikan risiko untuk setiap perdagangan.
  3. Kesederhanaan: Aturan perdagangan jelas, mudah dimengerti dan dilaksanakan.
  4. Perdagangan dua arah: Menangkap peluang naik dan turun, meningkatkan potensi keuntungan.
  5. Otomatisasi: Strategi dapat sepenuhnya otomatis, mengurangi intervensi manusia dan pengaruh emosional.

Risiko Strategi

  1. Perdagangan Sering: Dapat menghasilkan sinyal perdagangan yang berlebihan di pasar yang tidak stabil, meningkatkan biaya transaksi.
  2. Fixed Stop-Loss/Take-Profit: Mungkin tidak cocok untuk semua kondisi pasar, berpotensi keluar terlalu awal atau kehilangan tren besar dalam beberapa kasus.
  3. Keandalan pada Satu Indikator: Bergantung hanya pada HMA dapat berkinerja buruk di lingkungan pasar tertentu.
  4. Lag: Meskipun HMA mengurangi lag, ia mungkin masih bereaksi tidak cukup pada titik balik yang tajam.
  5. Kurangnya Filter Lingkungan Pasar: Tidak mempertimbangkan tren pasar secara keseluruhan atau volatilitas, yang berpotensi diperdagangkan dalam kondisi pasar yang tidak cocok.

Arah Optimasi Strategi

  1. Memperkenalkan Indikator Tambahan: Gabungkan dengan indikator teknis lainnya (seperti RSI atau MACD) untuk mengkonfirmasi sinyal dan meningkatkan akurasi.
  2. Dinamis Stop-Loss/Take-Profit: Sesuaikan tingkat stop-loss dan take-profit berdasarkan volatilitas pasar untuk beradaptasi dengan lingkungan pasar yang berbeda.
  3. Tambahkan Filter Pasar: Masukkan kekuatan tren atau filter volatilitas untuk menghindari perdagangan dalam kondisi pasar yang tidak menguntungkan.
  4. Mengoptimalkan Parameter HMA: Uji periode HMA yang berbeda untuk menemukan parameter yang paling cocok untuk pasar tertentu.
  5. Menerapkan Manajemen Posisi: Sesuaikan secara dinamis ukuran perdagangan berdasarkan risiko pasar dan ukuran akun.
  6. Tambahkan Filter Waktu: Hindari perdagangan selama periode volatilitas pasar yang tinggi, seperti selama rilis data ekonomi penting.

Ringkasan

Adaptive Price-Crossing Moving Average Trading Strategy adalah metode perdagangan kuantitatif yang sederhana namun efektif. Dengan memanfaatkan keuntungan dari Hull Moving Average, strategi ini dapat menangkap tren pasar sambil melindungi modal melalui langkah-langkah manajemen risiko tetap. Meskipun strategi ini memiliki beberapa risiko potensial, strategi ini dapat ditingkatkan dan disesuaikan lebih lanjut melalui optimalisasi berkelanjutan.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-03-23 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

// Function to calculate Hull Moving Average (HMA)
hma(src, length) =>
    wma1 = ta.wma(src, length)
    wma2 = ta.wma(src, length / 2)
    hma = ta.wma(2 * wma2 - wma1, math.round(math.sqrt(length)))
    hma

// Parameters
hma_length = 104

// Calculate Hull Moving Average
hma_value = hma(close, hma_length)

// Plot HMA
plot(hma_value, title="104-period Hull Moving Average", color=color.blue, linewidth=2)

// Define SL and TP values in dollars
long_sl_amount = 1.25
long_tp_amount = 37.5
short_sl_amount = 1.25
short_tp_amount = 37.5

// Number of contracts
contracts = 2

// Function to calculate SL and TP prices based on entry price and dollar amounts
long_sl_price(entry_price) =>
    entry_price - long_sl_amount

long_tp_price(entry_price) =>
    entry_price + long_tp_amount

short_sl_price(entry_price) =>
    entry_price + short_sl_amount

short_tp_price(entry_price) =>
    entry_price - short_tp_amount

// Trading conditions
price_intersects_hma = ta.crossover(close, hma_value) or ta.crossunder(close, hma_value)

// Long and Short Conditions based on price intersecting HMA
long_condition = ta.crossover(close, hma_value)
short_condition = ta.crossunder(close, hma_value)

// Track open positions
var bool long_open = false
var bool short_open = false

// Handle Long Positions
if (long_condition and not long_open)
    entry_price = close
    strategy.entry("Long", strategy.long, qty=contracts)
    strategy.exit("Exit Long", from_entry="Long", stop=long_sl_price(entry_price), limit=long_tp_price(entry_price))
    long_open := true

// Handle Short Positions
if (short_condition and not short_open)
    entry_price = close
    strategy.entry("Short", strategy.short, qty=contracts)
    strategy.exit("Exit Short", from_entry="Short", stop=short_sl_price(entry_price), limit=short_tp_price(entry_price))
    short_open := true

// Reset flags when the position is closed
if (strategy.opentrades == 0)
    long_open := false
    short_open := false


Berkaitan

Lebih banyak