Chiến lược này được tính toán bằng cách tính toán sự giao thoa của trung bình di chuyển mịn HULL và trung bình di chuyển chỉ số để xác định hướng xu hướng thị trường, tạo ra tín hiệu mua và bán. Đây là một chiến lược theo dõi xu hướng ngắn hạn và trung hạn.
HULL SMA có thể phản ứng nhanh hơn với sự thay đổi giá cả bằng cách tính toán căn bậc hai của trung bình di chuyển có trọng lượng và chu kỳ.
Tính trung bình di chuyển chỉ số 5 ngày (EMA) EMA tính trung bình bằng cách cho giá gần đây trọng lượng lớn hơn, nhạy cảm hơn SMA
Xác định sự giao thoa của HULL SMA và EMA, tạo ra tín hiệu mua và bán.
Khi HULL SMA vượt qua EMA, nó tạo ra một tín hiệu mua. Điều này cho thấy xu hướng ngắn hạn sẽ vượt qua xu hướng dài hạn, cho thấy giá sẽ tăng lên.
Khi HULL SMA vượt qua EMA, nó tạo ra một tín hiệu bán. Nó cho thấy xu hướng ngắn hạn bắt đầu chuyển hướng và giá sẽ giảm.
HULL SMA nhạy cảm với sự thay đổi giá, có thể phát hiện ra sự thay đổi xu hướng sớm hơn.
EMA có khả năng làm mịn tiếng ồn, theo dõi xu hướng dài hạn.
Dòng nhanh phá vỡ dòng chậm tạo ra tín hiệu, có thể nắm bắt được điểm biến của xu hướng và vào thị trường kịp thời.
Điều chỉnh các tham số trung bình di chuyển để phù hợp với các giao dịch khác nhau.
Có thể đánh giá xu hướng tăng và giảm cùng một lúc, có thể nắm bắt được xu hướng hai chiều một cách linh hoạt
Trong trường hợp động đất, có thể có nhiều tín hiệu sai.
Không thể đánh giá được xu hướng mạnh hay yếu, có thể có sự mất mát trong xu hướng yếu.
Sự chênh lệch của đường trung bình di chuyển quá lớn và có thể bỏ lỡ một phần.
Các tham số đường nhanh và đường chậm được thiết lập không đúng cách sẽ ảnh hưởng đến chất lượng tín hiệu giao dịch.
Tần suất giao dịch có thể quá cao, làm tăng chi phí giao dịch và rủi ro trượt.
Có thể cải thiện bằng cách kết hợp các chỉ số khác để lọc tín hiệu, đánh giá xu hướng mạnh hoặc yếu, thiết lập tham số tối ưu hóa, kiểm soát rủi ro.
Thêm các bộ lọc cho các chỉ số như MACD, RSI và các chỉ số khác để xác định thời gian mua và bán.
Tham gia chỉ số sức mạnh của xu hướng, như ADX, tránh giao dịch trong xu hướng yếu.
Tối ưu hóa các tham số trung bình di chuyển để tìm các tham số kết hợp tốt nhất.
Thiết lập chiến lược dừng lỗ, kiểm soát tổn thất đơn lẻ.
Cân nhắc số lần giao dịch và kiểm soát chi phí, điều chỉnh tần suất mở kho.
Kết hợp với phân tích chu kỳ thời gian, nhận ra các tín hiệu xu hướng xuyên chu kỳ.
Phát triển chương trình tối ưu hóa tham số tự động, tìm động tham số tối ưu.
Chiến lược này đánh giá xu hướng thị trường thông qua sự giao thoa của đường SMA HULL và đường EMA chậm, thuộc chiến lược giao thoa đường trung bình di chuyển điển hình. So với đường trung bình di chuyển truyền thống, chiến lược này sử dụng đường SMA HULL nhạy cảm hơn, có thể phát hiện ra sự thay đổi xu hướng sớm hơn. Tuy nhiên, vẫn cần thiết lập tham số tối ưu hóa và hỗ trợ các chỉ số kỹ thuật khác để giảm tín hiệu sai.
/*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 := ''