
Strategi ini menghasilkan isyarat beli dan jual dengan mengira HULL rata-rata bergerak lurus dan indeks bergerak rata-rata untuk menentukan arah trend pasaran. Strategi ini adalah strategi untuk mengesan trend jangka pendek dan menengah.
HULL SMA dapat bertindak balas lebih cepat terhadap perubahan harga dengan mengira akar kuasa purata bergerak bertimbangan dan kitaran.
Pengiraan purata bergerak indeks 5 hari (EMA) ❚ EMA mengira purata dengan cara memberikan berat yang lebih besar kepada harga terkini, lebih sensitif daripada SMA ❚
HULL SMA dan EMA bersilang, menghasilkan isyarat beli dan jual.
Apabila HULL SMA melepasi EMA, ia menghasilkan isyarat beli. Ini menunjukkan bahawa trend jangka pendek akan melangkaui trend jangka panjang ke atas, menandakan harga akan meningkat.
Apabila HULL SMA menembusi EMA di bawah, ia menghasilkan isyarat jual. Ia menunjukkan bahawa trend jangka pendek mula bertukar dan harga akan turun.
HULL SMA sensitif terhadap perubahan harga, dapat melihat perubahan trend lebih awal.
EMA mempunyai kebolehan untuk meratakan noise dan menjejaki trend jangka panjang.
Garis laju menembusi garisan perlahan menghasilkan isyarat, yang dapat menangkap titik perubahan trend, dan memasuki pasaran tepat pada masanya.
Dengan menyesuaikan parameter purata bergerak, ia boleh disesuaikan dengan perdagangan dalam tempoh yang berbeza.
Ia juga boleh digunakan untuk menilai trend naik dan turun pada masa yang sama, dan mempunyai fleksibiliti untuk menangkap trend dua hala.
Dalam keadaan gegaran, lebih banyak isyarat palsu mungkin dihasilkan.
Tidak dapat menentukan kekuatan atau kelemahan trend, mungkin kerugian berulang dalam trend yang lemah.
Jarak purata bergerak terlalu besar dan mungkin terlepas sebahagian daripada keadaan.
Parameter garis cepat dan lambat yang tidak betul boleh menjejaskan kualiti isyarat perdagangan.
Frekuensi transaksi mungkin terlalu tinggi, meningkatkan kos transaksi dan risiko tergelincir.
Ia boleh diperbaiki dengan cara memfilterkan isyarat, menilai kekuatan dan kelemahan trend, mengoptimumkan parameter, dan mengawal risiko.
Menambah penapis indikator seperti MACD, RSI dan lain-lain untuk menentukan masa untuk membeli atau menjual.
Menggunakan penunjuk kekuatan trend seperti ADX untuk mengelakkan dagangan semasa trend lemah.
Mengoptimumkan parameter purata bergerak untuk mencari kombinasi parameter terbaik.
Tetapkan strategi hentikan kerugian dan kawal kerugian tunggal.
Mengambil kira jumlah transaksi dan kawalan kos, sesuaikan kekerapan pembukaan.
Dengan menggunakan analisis kitaran masa yang lebih, ia dapat mengenal pasti isyarat trend antara kitaran.
Membangunkan program pengoptimuman parameter automatik, mencari parameter optimum secara dinamik.
Strategi ini menilai trend pasaran melalui persilangan HULL SMA garis cepat dan EMA garis lambat, dan merupakan strategi persilangan purata bergerak yang tipikal. Berbanding dengan purata bergerak tradisional, strategi ini menggunakan HULL SMA yang lebih sensitif, yang dapat mengesan perubahan trend lebih awal.
/*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 := ''