Strategi Tren Berdasarkan HULL SMA dan EMA Crossover

Penulis:ChaoZhang, Tanggal: 2023-10-30 12:32:38
Tag:

img

Gambaran umum

Strategi ini menghasilkan sinyal beli dan jual dengan menghitung persilangan antara garis HULL Smoothed Moving Average dan garis Exponential Moving Average untuk menentukan arah tren pasar.

Logika Strategi

  1. Menghitung HULL Smoothed Moving Average (HULL SMA) 5 periode. HULL SMA merespon lebih cepat terhadap perubahan harga dengan menggunakan rata-rata bergerak tertimbang dan akar kuadrat periode.

  2. EMA memberikan lebih banyak bobot pada harga terbaru dan lebih sensitif daripada SMA dalam melacak tren.

  3. Menghasilkan sinyal beli dan jual berdasarkan crossover antara HULL SMA dan EMA.

  • Ketika HULL SMA melintasi EMA, sinyal beli dihasilkan, menunjukkan tren jangka pendek pecah di atas tren jangka panjang, menunjukkan pergerakan harga ke atas.

  • Ketika HULL SMA melintasi di bawah EMA, sinyal jual dihasilkan, yang menunjukkan tren jangka pendek berbalik ke bawah, menunjukkan pergerakan harga ke bawah.

  1. Menggunakan HULL SMA sebagai garis cepat dan EMA sebagai garis lambat untuk menentukan perubahan tren jangka pendek dan jangka menengah berdasarkan crossover, menghasilkan sinyal perdagangan.

Analisis Keuntungan

  1. HULL SMA sensitif terhadap perubahan harga dan dapat mendeteksi perubahan tren lebih awal.

  2. EMA meringankan kebisingan pasar dan melacak tren jangka panjang.

  3. Sinyal silang menangkap titik perubahan tren secara tepat waktu.

  4. Parameter dapat disesuaikan untuk jangka waktu perdagangan yang berbeda.

  5. Menangkap tren naik dan turun secara fleksibel.

Analisis Risiko

  1. Lebih banyak sinyal palsu dapat terjadi selama pasar yang terikat rentang.

  2. Tidak dapat menentukan kekuatan tren, dapat menyebabkan kerugian berulang dalam tren lemah.

  3. Gerakan harga antara interval rata-rata dapat dilewatkan.

  4. Pengaturan parameter yang salah mempengaruhi kualitas sinyal.

  5. Frekuensi perdagangan yang tinggi meningkatkan biaya dan risiko slip.

Peningkatan dapat dilakukan melalui penyaringan sinyal, evaluasi kekuatan tren, optimasi parameter, manajemen risiko, dll.

Arahan Optimasi

  1. Tambahkan indikator seperti MACD, RSI untuk konfirmasi sinyal.

  2. Masukkan indikator kekuatan tren seperti ADX untuk menghindari perdagangan tren lemah.

  3. Mengoptimalkan parameter rata-rata bergerak untuk kombinasi terbaik.

  4. Mengimplementasikan stop loss untuk mengendalikan kerugian perdagangan tunggal.

  5. Mengelola frekuensi perdagangan dan biaya.

  6. Menggabungkan analisis multi-frame waktu untuk mengidentifikasi tren lintas siklus.

  7. Mengembangkan program optimasi parameter otomatis.

Ringkasan

Strategi ini menilai tren berdasarkan crossover antara HULL SMA yang cepat dan EMA yang lambat. Ini adalah sistem crossover rata-rata bergerak khas. Dibandingkan dengan rata-rata bergerak tradisional, HULL SMA yang lebih responsif memberikan deteksi perubahan tren lebih awal. Tetapi parameter dan indikator tambahan harus dioptimalkan untuk mengurangi sinyal palsu. Dengan manajemen risiko dan uang yang tepat, strategi ini dapat menjadi sistem trend berikut jangka menengah yang efisien.


/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("HULL EMA Crossover", overlay = true, process_orders_on_close = true)

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © spiritedPerson95700

inSession = true


HULL_INP = input.int(5, "Hull EMA Value")
EMA_INP = input(5, "EMA Value")

/// Indicator
HULL_EMA = ta.hma(close, HULL_INP)
EMA = ta.ema(close, EMA_INP)

prevSignal = ''
if (prevSignal == '')  
    prevSignal := HULL_EMA > EMA ? 'buy' : 'sell'

/// buy and sell signal
buy = ta.crossover(HULL_EMA, EMA)
short = ta.crossover(EMA, HULL_EMA)

sell = short
cover = buy

if inSession
    if buy 
        prevSignal := 'na'
        strategy.entry("long", direction = strategy.long, comment = "Buy")

    if sell
        prevSignal := 'na'
        strategy.close("long", comment = "Sell")

    if short
        strategy.entry("short", direction = strategy.short, comment = "Short")

    if cover
        strategy.close("short", comment = "Cover")


plot(HULL_EMA, color = color.green)
plot(EMA, color = color.blue)

// if ( hour(time) == 15 and minute(time) > 25  )  
//     strategy.close("long", comment="EOD")
//     strategy.close("short", comment="EOD")
//     buy := false
//     sell := false
//     prevSignal := ''


Lebih banyak