Chiến lược này chủ yếu sử dụng nến Heikin-Ashi cải tiến để xác định các điểm đảo ngược giá và bắt những thay đổi xu hướng đáng kể. Nó thuộc về các chiến lược giao dịch ngắn hạn. Chiến lược tính toán giá mở, cao, thấp và đóng của nến bằng cách sử dụng HA, và xác định màu cuối cùng dựa trên mối quan hệ giá.
Logic cốt lõi của chiến lược là phát hiện sự thay đổi màu sắc trong nến HA để xác định sự đảo ngược giá.
Đầu tiên, lấy giá mở, cao, thấp và đóng từ dữ liệu HA hoặc dữ liệu ban đầu dựa trên tham số đầu vào.
haClose = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, close) : close
haOpen = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, open) : open
haHigh = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, high) : high
haLow = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, low) : low
Sau đó tính toán dòng HA mở và đóng theo công thức.
haclose = (haOpen + haHigh + haLow + haClose) / 4
haopen := na(haopen[1]) ? (haOpen + haClose) / 2 : (haopen[1] + haclose[1]) / 2
Hơn nữa có được HA giá cao nhất và thấp nhất.
hahigh = max(haHigh, max(haopen, haclose))
halow = min(haLow, min(haopen, haclose))
Xác định màu nến HA dựa trên mối quan hệ mở / gần.
hacolor = haclose > haopen ? color.green : color.red
Xác định tín hiệu đảo ngược dựa trên sự thay đổi màu sắc HA giữa các thanh.
turnGreen = haclose > haopen and haclose[1] <= haopen[1]
turnRed = haclose <= haopen and haclose[1] > haopen[1]
Mở các vị trí dài / ngắn khi tín hiệu kích hoạt.
strategy.entry("long", 1, when=turnGreen)
strategy.entry("short", 0, when=turnRed)
Đóng vị trí trên các tín hiệu đối diện.
strategy.close("long", when=turnRed)
Bằng cách phát hiện sự thay đổi màu sắc của nến HA, chiến lược nắm bắt các điểm đảo ngược giá cho giao dịch đảo ngược.
Những lợi thế chính của chiến lược này là:
Sử dụng nến HA cải tiến lọc tiếng ồn và xác định sự đảo ngược rõ ràng hơn.
Logic đơn giản dựa trên sự thay đổi màu sắc HA, dễ hiểu và thực hiện.
Giao dịch đảo ngược nắm bắt các thay đổi xu hướng nhanh chóng để kiếm lợi nhuận.
Có thể tùy chỉnh để sử dụng nến HA hoặc không cho các thị trường khác nhau.
Mũi tên của ngọn nến cho thấy sự đảo ngược.
Các thông số như khung thời gian có thể được tối ưu hóa cho các sản phẩm khác nhau.
Ngoài ra còn có một số rủi ro cần lưu ý:
Giao dịch đảo ngược có thể dễ bị bẫy.
Những cú đánh thường xuyên có thể xảy ra ở các thị trường khác nhau.
Không thể xác định thời gian xu hướng, có thể đảo ngược sau đó tiếp tục xu hướng.
Chỉ số duy nhất dễ bị tín hiệu sai, nên kết hợp với các tín hiệu khác.
Việc trang bị quá mức cần được tránh thông qua tối ưu hóa.
Giải pháp:
Tối ưu hóa các thông số cho tín hiệu đáng tin cậy.
Thêm bộ lọc xu hướng để tránh thị trường dao động.
Sử dụng stop loss để kiểm soát lỗ cho mỗi giao dịch.
Xác nhận tín hiệu với các chỉ báo khác để tránh tín hiệu sai.
Kiểm tra kỹ lưỡng để tối ưu hóa các thông số và ngăn ngừa quá mức.
Chiến lược có thể được cải thiện theo những cách sau:
Tối ưu hóa khung thời gian cho các sản phẩm khác nhau.
Kiểm tra sử dụng nến HA theo đặc điểm của sản phẩm.
Thêm bộ lọc xu hướng để tránh whipsaws trong các thị trường dao động.
Thực hiện dừng động dựa trên biến động thị trường.
Xác nhận tín hiệu bằng các chỉ số bổ sung.
Bao gồm việc phân loại vị trí dựa trên quản lý rủi ro.
Mở rộng cho giao dịch đa sản phẩm.
Điều chỉnh các thông số dựa trên kết quả backtest để ngăn ngừa quá tải.
Chiến lược này tận dụng điểm mạnh của nến HA cải tiến để phát hiện các điểm đảo ngược tiềm năng thông qua thay đổi màu sắc HA. So với nến thông thường, HA lọc tiếng ồn cho các tín hiệu sạch hơn. Chiến lược thực hiện logic giao dịch đảo ngược một cách đơn giản và trực quan dễ sử dụng cho giao dịch trực tiếp. Nhưng các giao dịch đảo ngược phải đối mặt với rủi ro bẫy và nên được tối ưu hóa để có độ chính xác tín hiệu cao hơn. Kết hợp với phân tích xu hướng và các yếu tố khác có thể tạo thành một hệ thống hoàn chỉnh hơn. Nhìn chung, chiến lược này cung cấp một cách tiếp cận để xác định đảo ngược bằng cách sử dụng dữ liệu HA và có thể được mở rộng cho các chiến lược giao dịch đảo ngược mạnh mẽ.
/*backtest start: 2022-11-09 00:00:00 end: 2023-11-15 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Heikin-Ashi Change Strategy", overlay=true) UseHAcandles = input(true, title="Use Heikin Ashi Candles in Algo Calculations") // // === /INPUTS === // === BASE FUNCTIONS === haClose = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, close) : close haOpen = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, open) : open haHigh = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, high) : high haLow = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, low) : low // Calculation HA Values haopen = 0.0 haclose = (haOpen + haHigh + haLow + haClose) / 4 haopen := na(haopen[1]) ? (haOpen + haClose) / 2 : (haopen[1] + haclose[1]) / 2 hahigh = max(haHigh, max(haopen, haclose)) halow = min(haLow, min(haopen, haclose)) // HA colors hacolor = haclose > haopen ? color.green : color.red // Signals turnGreen = haclose > haopen and haclose[1] <= haopen[1] turnRed = haclose <= haopen and haclose[1] > haopen[1] // Plotting bgcolor(hacolor) plotshape(turnGreen, style=shape.arrowup, location=location.belowbar, color=color.green) plotshape(turnRed, style=shape.arrowdown, location=location.abovebar, color=color.red) // Alerts alertcondition(turnGreen, "ha_green", "ha_green") alertcondition(turnRed, "ha_red", "ha_red") strategy.entry("long", 1, when=turnGreen) //strategy.entry("short", 0, when=turnRed) strategy.close("long", when=turnRed)