Strategi Perdagangan Rata-rata Pergerakan Crossover Harga Adaptif

HMA SL TP
Tanggal Pembuatan: 2024-09-26 16:12:36 Akhirnya memodifikasi: 2024-09-26 16:12:36
menyalin: 2 Jumlah klik: 441
1
fokus pada
1617
Pengikut

Strategi Perdagangan Rata-rata Pergerakan Crossover Harga Adaptif

Ringkasan

Strategi perdagangan cross-equilibrium harga adaptif adalah metode perdagangan kuantitatif yang didasarkan pada Hull Moving Average (HMA). Strategi ini memanfaatkan harga dan persilangan HMA untuk menghasilkan sinyal beli dan jual, sambil mengatur tingkat stop loss dan stop loss yang tetap untuk mengelola risiko dan keuntungan. Strategi ini menggunakan HMA 104 siklus sebagai indikator utama, yang dikombinasikan dengan persilangan harga untuk memicu perdagangan.

Prinsip Strategi

Inti dari strategi ini adalah menggunakan Hull Moving Average (HMA) sebagai indikator utama. HMA adalah jenis Advanced Moving Average yang mampu merespons perubahan harga dengan cepat sambil mengurangi lag. Logika strategi adalah sebagai berikut:

  1. HMA dihitung 104 siklus.
  2. Ketika harga naik melewati HMA, maka Anda harus melakukan perdagangan lebih banyak.
  3. Ketika harga turun melewati HMA, posisi dibuka kosong.
  4. Untuk setiap transaksi, setel Stop Loss ($1.25) dan Stop Stop ($37.5) tingkat tetap.
  5. Setiap transaksi menggunakan 2 kontrak.

Strategi ini dilakukan untuk memastikan bahwa tidak ada posisi yang dibuka kembali dengan melacak posisi yang telah dibuka. Ketika sebuah perdagangan dipadamkan, sistem mengatur ulang sinyal, yang memungkinkan sinyal perdagangan baru berlaku.

Keunggulan Strategis

  1. Adaptif: HMA dapat beradaptasi dengan cepat terhadap perubahan pasar, mengurangi sinyal palsu.
  2. Manajemen risiko: Menggunakan tingkat stop loss dan stop loss yang tetap untuk mengontrol risiko setiap transaksi secara efektif.
  3. Sederhana dan jelas: aturan transaksi jelas, mudah dipahami dan diterapkan.
  4. Perdagangan dua arah: menangkap peluang naik dan turun secara bersamaan, meningkatkan potensi keuntungan.
  5. Otomatisasi: Strategi dapat sepenuhnya otomatis, mengurangi intervensi manusia dan dampak emosional.

Risiko Strategis

  1. Sering bertransaksi: Terlalu banyak sinyal perdagangan dapat terjadi di pasar yang bergejolak, sehingga meningkatkan biaya transaksi.
  2. Stop loss / stop loss tetap: mungkin tidak cocok untuk semua kondisi pasar, dalam beberapa kasus mungkin keluar terlalu dini atau kehilangan tren besar.
  3. Bergantung pada satu indikator: Bergantung pada HMA saja mungkin tidak bekerja dengan baik dalam beberapa situasi pasar.
  4. Ketertinggalan: Meskipun HMA mengurangi ketertinggalan, mungkin masih kurang responsif pada titik balik yang tajam.
  5. Kurangnya filter lingkungan pasar: Tidak mempertimbangkan tren atau fluktuasi pasar secara keseluruhan, mungkin diperdagangkan dalam kondisi pasar yang tidak sesuai.

Arah optimasi strategi

  1. Pengenalan indikator tambahan: Digabungkan dengan indikator teknis lainnya (seperti RSI atau MACD) untuk mengkonfirmasi sinyal dan meningkatkan akurasi.
  2. Stop loss / stop loss dinamis: Mengatur stop loss dan stop loss sesuai dengan volatilitas pasar, untuk menyesuaikan dengan kondisi pasar yang berbeda.
  3. Tambahkan filter pasar: tambahkan intensitas tren atau filter volatilitas untuk menghindari perdagangan dalam kondisi pasar yang tidak menguntungkan.
  4. Optimalkan parameter HMA: Uji siklus HMA yang berbeda untuk menemukan parameter yang paling cocok untuk pasar tertentu.
  5. Pengelolaan Posisi: Dimensi perdagangan disesuaikan secara dinamis dengan risiko pasar dan ukuran akun.
  6. Tambahkan filter waktu: Hindari berdagang pada periode waktu di mana volatilitas pasar lebih tinggi, seperti saat data ekonomi penting dirilis.

Meringkaskan

Strategi perdagangan cross-equilibrium harga otomatis adalah metode perdagangan kuantitatif yang sederhana dan efektif. Strategi ini mampu menangkap tren pasar dengan memanfaatkan keuntungan dari rata-rata bergerak Hull, sementara melindungi dana melalui langkah-langkah manajemen risiko yang tetap. Meskipun ada beberapa risiko potensial dalam strategi, kinerja dan fleksibilitas dapat ditingkatkan lebih lanjut dengan pengoptimalan dan perbaikan berkelanjutan.

Kode Sumber Strategi
/*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