Tren Mengikuti Strategi Berdasarkan Hull Moving Average dan True Range

Penulis:ChaoZhang, Tanggal: 2024-01-15 15:26:08
Tag:

img

Gambaran umum

Ide inti dari strategi ini adalah untuk mengidentifikasi arah tren pasar dengan menggabungkan Hull moving average dan average true range (ATR), dan memasuki posisi setelah arah tren dikonfirmasi. Secara khusus, ini menghitung perbedaan antara Hull moving averages dari periode tertentu dan periode sebelumnya. Ketika perbedaan meningkat, itu menunjukkan tren bullish; ketika perbedaan menurun, itu menunjukkan tren bearish. Pada saat yang sama, indeks ATR digunakan untuk menentukan arah amplitudo. Ini memasuki posisi ketika arah tren dikonfirmasi dan amplitudo terus berkembang.

Logika Strategi

Strategi ini terutama didasarkan pada dua jenis indikator: Hull moving average dan ATR.

Hull Moving Average adalah indikator trend-following yang dikembangkan oleh pedagang berjangka Amerika Alan Hull. Mirip dengan moving average, Hull moving average memiliki sensitivitas yang lebih tinggi dan dapat menangkap perubahan harga dan tren lebih cepat. Strategi ini menetapkan parameter hullLength yang dapat disesuaikan untuk mengontrol periode Hull moving average. Dengan menghitung perbedaan antara periode saat ini Hull MA dan periode sebelumnya, ia menentukan arah tren harga saat ini.

ATR adalah singkatan dari Average True Range. Ini mencerminkan amplitudo fluktuasi harga harian. Ketika volatilitas meningkat, ATR naik; ketika volatilitas menurun, ATR turun. Strategi menetapkan parameter seperti atrLength dan atrSmoothing untuk mengontrol perhitungan ATR. Dan ATR digambarkan pada grafik sebagai satu referensi untuk entri.

Secara khusus, logika strategi adalah:

  1. Menghitung MA Hull periode saat ini (HullLength) dan MA Hull periode sebelumnya.
  2. Menghitung perbedaan: hullDiff = HullMA saat ini - HullMA sebelumnya
  3. Ketika hullDiff > 0, ini menunjukkan tren bullish.
  4. Menghitung ATR (atrLength) dari suatu periode sebagai acuan amplitudo.
  5. Ketika tren bullish diidentifikasi dan ATR > harga > harga atrLength periode lalu, pergi panjang. Ketika bearish dan ATR < harga < harga atrLength periode lalu, pergi pendek.
  6. Gunakan positif / negatif hullDiff untuk menentukan sinyal dekat.

Analisis Keuntungan

Keuntungan dari strategi ini:

  1. Menggabungkan penilaian tren dan indeks volatilitas, ia dapat memasuki posisi ketika tren harga jelas dan volatilitas meningkat untuk menghindari whipsaws di pasar yang terikat rentang.
  2. Hull MA merespon lebih cepat terhadap perubahan harga dan dapat dengan cepat mengidentifikasi arah tren baru.
  3. ATR mencerminkan volatilitas pasar dan panas, memberikan panduan untuk waktu masuk.
  4. Beberapa parameter yang dapat disesuaikan dapat dioptimalkan untuk kombinasi parameter terbaik.

Analisis Risiko

Beberapa risiko dari strategi ini:

  1. Baik Hull MA dan ATR tidak dapat sepenuhnya menghindari kebocoran palsu dan dengan demikian berisiko terjebak.
  2. Pengaturan parameter yang tidak benar dapat menyebabkan over-trading atau sensitivitas yang tidak cukup, yang merusak efektivitas strategi.
  3. Ini tidak dapat menangani tindakan harga yang ganas seperti lonjakan tajam atau crash secara efektif.

Solusi:

  1. Atur stop loss yang tepat untuk menghindari terperangkap oleh kebocoran palsu.
  2. Uji dan optimalkan parameter agar sesuai dengan lingkungan pasar yang berbeda.
  3. Menunda strategi saat menghadapi volatilitas yang ganas.

Arahan Optimasi

Masih ada ruang besar untuk optimasi:

  1. Uji parameter hullLength yang berbeda untuk menemukan pengaturan optimal untuk pasar saat ini.
  2. Uji kombinasi periode ATR untuk menangkap panas pasar dengan terbaik.
  3. Cobalah berbagai metode pelumasan ATR untuk melihat mana yang paling baik.
  4. Mengoptimalkan kondisi masuk dengan indikator volatilitas lainnya seperti Reaksi dikombinasikan dengan ATR.
  5. Optimalkan stop loss untuk menghindari terjebak.

Kesimpulan

Strategi ini mengintegrasikan kapasitas mengikuti tren Hull MA dan kemampuan penilaian panas ATR. Ini memasuki posisi ketika tren dikonfirmasi dan volatilitas meningkat untuk menyaring beberapa sinyal yang tidak valid. Peningkatan lebih lanjut dapat dicapai dengan optimasi parameter dan manajemen risiko yang lebih baik. Singkatnya, strategi ini menggabungkan beberapa faktor pelacakan tren dan penilaian panas. Ketika parameter disesuaikan, dapat memberikan hasil yang baik.


/*backtest
start: 2024-01-07 00:00:00
end: 2024-01-14 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//                                                Hull cross and ATR
strategy("Hull cross and ATR", shorttitle="H&ATR", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=true, calc_on_every_tick=true, pyramiding=0)
keh=input(title="Hull Length",defval=50)
length = input(title="ATR Length", defval=50, minval=1)
smoothing = input(title="ATR Smoothing", defval="RMA", options=["RMA", "SMA", "EMA", "WMA"])
p=input(ohlc4,title="Price data")
n2ma=2*wma(p,round(keh/2))
nma=wma(p,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(p[1],round(keh/2))
nma1=wma(p[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
ma_function(source, length) => 
    if smoothing == "RMA"
        rma(p, length)
    else
        if smoothing == "SMA"
            sma(p, length)
        else
            if smoothing == "EMA"
                ema(p, length)
            else
                wma(p, length)
plot(ma_function(tr(true), length), title = "ATR", color=black, transp=50)
closelong = n1<n2
if (closelong)
    strategy.close("buy")
closeshort = n1>n2
if (closeshort)
    strategy.close("sell")
if (ma_function(tr(true), length)<p and p>p[length] and n1>n2)
    strategy.entry("buy", strategy.long, comment="BUY")
if (ma_function(tr(true), length)>p and p<p[length] and n1<n2)
    strategy.entry("sell", strategy.short, comment="SELL")

Lebih banyak