Xu hướng tiền điện tử theo chiến lược dựa trên Heiken Ashi

Tác giả:ChaoZhang, Ngày: 2024-01-19 17:40:52
Tags:

img

Tổng quan

Chiến lược này là một chiến lược theo xu hướng tiền điện tử dựa trên chỉ số Heiken Ashi. Nó sử dụng hai trung bình động theo cấp số nhân (EMA) với các khoảng thời gian khác nhau kết hợp với Heiken Ashi và các điều kiện khác nhau để tạo ra tín hiệu giao dịch. Mục tiêu của chiến lược này là xác định xu hướng giá trung và dài hạn và kịp thời khi xu hướng đảo ngược xảy ra.

Chiến lược logic

Chiến lược sử dụng EMA 50 và 100 giai đoạn. Trong khi đó, nó tính toán nến Heiken Ashi, đó là một nến đặc biệt có thể lọc ra tiếng ồn thị trường. Chiến lược sử dụng giá mở, đóng, cao và thấp của nến Heiken Ashi và áp dụng chúng cho EMA 100 giai đoạn để tạo ra các tín hiệu giao dịch chính xác hơn.

Cụ thể, khi giá mở của Heiken Ashi 100 giai đoạn cao hơn giá đóng, và giá mở của nến trước thấp hơn giá đóng, đó là tín hiệu dài. Ngược lại, khi giá mở của Heiken Ashi 100 giai đoạn thấp hơn giá đóng, và giá mở của nến trước cao hơn giá đóng, đó là tín hiệu ngắn.

Chiến lược này kết hợp hệ thống EMA kép và chỉ số Heiken Ashi, nhằm mục đích nắm bắt các cơ hội kịp thời khi các xu hướng trung hạn đến dài hạn hình thành.

Ưu điểm

  • Sử dụng Heiken Ashi có thể lọc hiệu quả tiếng ồn và làm cho các tín hiệu giao dịch rõ ràng hơn
  • Chỉ số EMA kép kết hợp với Heiken Ashi có thể xác định xu hướng tương đối mạnh trong trung và dài hạn
  • Phán quyết nhiều điều kiện giúp tránh bỏ lỡ những cơ hội tốt
  • Chiến lược này đặc biệt phù hợp với thị trường tiền điện tử biến động cao
  • Nó có thể được cấu hình như một chiến lược chỉ dài để giảm rủi ro giao dịch

Rủi ro

  • Có thể có lỗ lớn do lệnh dừng lỗ quá lỏng lẻo
  • Chiến lược có thể tạo ra các giao dịch không hiệu quả hơn trên các thị trường giới hạn phạm vi
  • Vẫn còn một số độ chậm trễ trong Heiken Ashi, không thể tránh hoàn toàn rủi ro
  • Nó không thể xác định các điểm đảo ngược xu hướng, đối mặt với rủi ro của việc mở rộng tổn thất

Để giảm thiểu rủi ro, chúng ta có thể giảm đúng phạm vi dừng lỗ, hoặc xem xét kết hợp các chỉ số khác để xác định sự đảo ngược xu hướng. Khi thị trường bước vào một giai đoạn giới hạn phạm vi, chúng ta cũng có thể tạm dừng chiến lược và chờ xu hướng mới xuất hiện.

Hướng dẫn tối ưu hóa

Chiến lược cũng có thể được tối ưu hóa trong các khía cạnh sau:

  • Tối ưu hóa các thông số EMA để tìm kết hợp thông số tốt nhất
  • Hãy thử các chỉ số khác để thay thế Heiken Ashi, chẳng hạn như KDJ, MACD v.v.
  • Thêm giá đột phá như xác nhận nhập cảnh
  • Bao gồm các chỉ số biến động để xác định sự đảo ngược xu hướng
  • Sử dụng các phương pháp học máy để tối ưu hóa các tham số một cách năng động

Kết luận

Chiến lược theo xu hướng tiền điện tử dựa trên Heiken Ashi đã xem xét toàn diện các khía cạnh như phán đoán xu hướng, thời gian nhập cảnh, kiểm soát dừng lỗ vv, làm cho nó rất thích nghi với các tài sản biến động cao như tiền điện tử. Bằng cách sử dụng Heiken Ashi để lọc ra tiếng ồn và áp dụng các phương pháp kiểm soát rủi ro mạnh mẽ, chiến lược có thể nắm bắt hiệu quả các cơ hội giao dịch do xu hướng giá trung và dài hạn mang lại.


/*backtest
start: 2023-01-12 00:00:00
end: 2024-01-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//@SoftKill21
strategy(title="CRYPTO HA Strategy", shorttitle="CRYPTO HA Strategy", overlay=true , default_qty_type =strategy.percent_of_equity, default_qty_value =100, commission_type= strategy.commission.percent,commission_value =0.1 )


ma1_len = input(50)
ma2_len = input(100)

fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2020, title = "From Year", minval = 1970)
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true


//First Moving Average data
o = ema(open, ma1_len)
c = ema(close, ma1_len)
h = ema(high, ma1_len)
l = ema(low, ma1_len)

// === HA calculator ===
ha_t = heikinashi(syminfo.tickerid)
ha_o = security(ha_t, timeframe.period, o)
ha_c = security(ha_t, timeframe.period, c)
ha_h = security(ha_t, timeframe.period, h)
ha_l = security(ha_t, timeframe.period, l)

//Second Moving Average data

o2 = ema(ha_o, ma2_len)
c2 = ema(ha_c, ma2_len)
h2 = ema(ha_h, ma2_len)
l2 = ema(ha_l, ma2_len)

// === Color def ===
ha_col = o2 > c2 ? color.white : color.lime

sell = o2 > c2 and o2[1] < c2[1] and time_cond
buy = o2 < c2 and o2[1] > c2[1] and time_cond
plotshape(buy, color=color.green, text= "Buy", location= location.belowbar,style= shape.labelup, textcolor=color.white, size = size.tiny, title="Buy Alert",editable=false, transp=60)
plotshape(sell, color=color.red, text= "Sell", location= location.abovebar,style= shape.labeldown, textcolor=color.white, size = size.tiny, title="Sell Alert", editable=false, transp=60)

trendColor = buy ? color.red : sell ? color.green : na
plot( buy ? close: sell  ? close : na , color=trendColor, style=plot.style_line, linewidth=4, editable=false)



onlylong=input(true)
original=input(false)

if(onlylong)
    strategy.entry("long",1,when=buy)
    strategy.close("long",when=sell)
if(original)
    strategy.entry("long",1,when=buy)
    strategy.entry("short",0,when=sell)

sl = input(0.075)
strategy.exit("closelong", "long" , loss = close * sl / syminfo.mintick, alert_message = "sl point")
strategy.exit("closeshort", "short" , loss = close * sl / syminfo.mintick, alert_message = "sl point")




Thêm nữa