Strategi Perdagangan Rata-rata Pergerakan Hall Dua Arah


Tanggal Pembuatan: 2023-12-11 11:30:15 Akhirnya memodifikasi: 2023-12-11 11:30:15
menyalin: 0 Jumlah klik: 826
1
fokus pada
1621
Pengikut

Strategi Perdagangan Rata-rata Pergerakan Hall Dua Arah

Ringkasan

Strategi perdagangan bergerak dua arah Hall adalah strategi perdagangan kuantitatif yang menggunakan bergerak dua arah Hall sebagai sinyal perdagangan. Strategi ini mengambil pendekatan dari analisis teknis tradisional yang menggunakan satu rata-rata bergerak, dengan menggunakan bergerak dua arah Hall untuk membeli dan menjual di titik terobosan.

Prinsip Strategi

Inti dari strategi perdagangan Hull Moving Average adalah Dual Hull Moving Average. Hull Moving Average terdiri dari tiga garis tengah, atas dan bawah, yang mewakili rata-rata harga yang berbeda.

Garis tengah: Mode (modeSwitch, src, len) Hull di jalur[0] Hull (dalam bahasa Inggris).[2]

Di sini fungsi Mode dapat memilih varian dari Hull Moving Average, termasuk HMA, EHMA dan THMA. Skor mewakili sumber harga, len mewakili panjang siklus.

Strategi ini didasarkan pada garis tengah dari moving average Hall bidirectional untuk menilai hubungan antara harga dan garis tengah dan membuat sinyal perdagangan:

  • Lakukan Lebih Banyak Saat Harga Naik
  • Ketika harga turun ke bawah, posisi terdepan.

Artinya, jika harga penutupan K-line saat ini lebih besar dari nilai mid-trail, maka Anda akan melakukan lebih banyak pada saat K-line berikutnya dibuka; jika harga penutupan K-line saat ini lebih kecil dari nilai mid-trail, maka Anda akan menutup posisi pada saat K-line berikutnya dibuka.

Analisis Keunggulan

Strategi perdagangan rata-rata bergerak Hall dua arah memiliki keuntungan sebagai berikut:

  1. Menggunakan zona pita dua arah daripada satu garis rata, memiliki efek dukungan dan resistensi yang lebih baik, dan lebih baik untuk melacak tren.

  2. Hull Moving Average memiliki keterlambatan yang lebih rendah dibandingkan Moving Average umum dan dapat merespon perubahan harga lebih cepat.

  3. Menggunakan metode analisis teknis tradisional, mudah dipahami, dan cocok untuk otomatisasi perdagangan.

  4. Logika strategi sederhana dan jelas, mudah diterapkan, cocok untuk perdagangan algoritma frekuensi tinggi.

  5. Jenis dan parameter rata-rata bergerak Hull yang dapat disesuaikan dapat dioptimalkan untuk berbagai varietas dan jangka waktu perdagangan.

Analisis risiko

Meskipun ada banyak keuntungan dari strategi perdagangan moving average dua arah, ada beberapa risiko yang perlu diperhatikan:

  1. Ketika harga bergejolak, mungkin terjadi lebih banyak stop loss. Parameter dapat disesuaikan dengan baik, memfilter sebagian dari perdagangan noise.

  2. Strategi ini terutama didasarkan pada mengikuti tren dan tidak bekerja dengan baik ketika harga berada di posisi horizontal. Anda dapat menambahkan indikator atau mekanisme lain untuk menilai tren.

  3. Hull Moving Average sendiri juga memiliki keterlambatan, terutama dalam jangka pendek. Optimasi parameter dan indikator kombinasi dapat sebagian diatasi.

  4. Sinyal perdagangan sering terjadi, mudah untuk melakukan perdagangan berlebihan.

Arah optimasi

Ada beberapa cara utama untuk mengoptimalkan strategi perdagangan moving average Hall:

  1. Mengoptimalkan jenis dan parameter Hull Moving Average, menyesuaikan sensitivitas mid-track untuk varietas perdagangan yang berbeda.

  2. Menambahkan mekanisme stop loss. Trailing stop atau incremental stop loss, secara efektif mengontrol kerugian tunggal.

  3. Dalam kombinasi dengan indikator lain, untuk menilai arah dan kekuatan tren, hindari ditargetkan. Misalnya MACD, KD, dll.

  4. Tambahkan kondisi aktivasi strategi berdasarkan jumlah transaksi atau tingkat pengembalian. Mengontrol jumlah siklus penutupan, mengurangi posisi kosong.

  5. Kombinasi multi-frame. Menggunakan frame waktu yang lebih tinggi untuk menentukan arah tren dan menghindari kebisingan.

  6. Optimalkan logik keluar. Dapat didasarkan pada bentuk candle, meningkatkan kepastian masuk.

Meringkaskan

Secara keseluruhan, strategi perdagangan moving average dua arah adalah strategi kuantitatif untuk membangun sinyal perdagangan menggunakan moving average indeks tren. Ini lebih responsif dan lebih efektif dalam pelacakan daripada rata-rata bergerak tradisional. Strategi ini memiliki logika yang sederhana, jelas, dan mudah diimplementasikan.

Kode Sumber Strategi
/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Basic Hull Ma Pack tinkered by InSilico 
//Converted to Strategy by DashTrader
strategy("Hull Suite Strategy", overlay=true, pyramiding=1, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0)
//////////////////////////////////////////////////////////////////////
// Testing Start dates
testStartYear = input(2016, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
//Stop date if you want to use a specific range of dates
testStopYear = input(2030, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)


testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false
// Component Code Stop
//////////////////////////////////////////////////////////////////////
//INPUT
HAClose = security(heikinashi(syminfo.tickerid), timeframe.period, close)
src = input(close, title="Source")
modeSwitch = input("Hma", title="Hull Variation", options=["Hma", "Thma", "Ehma"])
length = input(55, title="Length(180-200 for floating S/R , 55 for swing entry)")
switchColor = input(true, "Color Hull according to trend?")
candleCol = input(false,title="Color candles based on Hull's Trend?")
visualSwitch  = input(true, title="Show as a Band?")
thicknesSwitch = input(1, title="Line Thickness")
transpSwitch = input(40, title="Band Transparency",step=5)

//FUNCTIONS
//HMA
HMA(_src, _length) =>  wma(2 * wma(_src, _length / 2) - wma(_src, _length), round(sqrt(_length)))
//EHMA    
EHMA(_src, _length) =>  ema(2 * ema(_src, _length / 2) - ema(_src, _length), round(sqrt(_length)))
//THMA    
THMA(_src, _length) =>  wma(wma(_src,_length / 3) * 3 - wma(_src, _length / 2) - wma(_src, _length), _length)
    
//SWITCH
Mode(modeSwitch, src, len) =>
      modeSwitch == "Hma"  ? HMA(src, len) :
      modeSwitch == "Ehma" ? EHMA(src, len) : 
      modeSwitch == "Thma" ? THMA(src, len/2) : na
      
//OUT
HULL = Mode(modeSwitch, src, length)
MHULL = HULL[0]
SHULL = HULL[2]

//COLOR
hullColor = switchColor ? (HULL > HULL[2] ? #00ff00 : #ff0000) : #ff9800

//PLOT
///< Frame
Fi1 = plot(MHULL, title="MHULL", color=hullColor, linewidth=thicknesSwitch, transp=50)
Fi2 = plot(visualSwitch ? SHULL : na, title="SHULL", color=hullColor, linewidth=thicknesSwitch, transp=50)
///< Ending Filler
fill(Fi1, Fi2, title="Band Filler", color=hullColor, transp=transpSwitch)
///BARCOLOR
barcolor(color = candleCol ? (switchColor ? hullColor : na) : na)


if HULL[0] > HULL[2] and testPeriod()
    strategy.entry("long", strategy.long)
if HULL[0] < HULL[2] and testPeriod()
    strategy.close("long")