Chiến lược xác định xu hướng địa phương của đám mây Ichimoku

Tác giả:ChaoZhang, Ngày: 2024-03-19 15:10:59
Tags:

img

Tổng quan

Chiến lược này là một phương pháp xác định xu hướng và chiến lược giao dịch dựa trên chỉ số Ichimoku Cloud kết hợp với tỷ lệ Fibonacci. Nó sử dụng đường chuyển đổi, đường cơ sở, đám mây Kumo và khoảng thời gian trễ từ chỉ số Ichimoku Cloud để xác định xu hướng thị trường hiện tại, và kết hợp tỷ lệ 1.618 và 0.618 Fibonacci để thiết lập mức dừng lỗ và xác định thị trường bên. Ngoài ra, chiến lược giới thiệu hai đường trung gian bổ sung để lọc các tín hiệu sai.

Nguyên tắc chiến lược

Chỉ số đám mây Ichimoku bao gồm bốn thành phần: Đường chuyển đổi, Đường cơ bản, Đường đám mây Kumo và Khoảng thời gian trễ. Đường chuyển đổi và Đường cơ bản được tính bằng cách sử dụng trung bình của mức cao nhất và thấp nhất trong các khoảng thời gian khác nhau. Đám mây Kumo được hình thành bằng cách di chuyển Đường cơ bản về phía trước 26 giai đoạn, và Khoảng thời gian trễ là giá đóng chuyển ngược lại 26 giai đoạn.

Các điều kiện tham gia dài hạn cho chiến lược này là như sau:

  1. Đường dài đang ở trên mây
  2. Đường chuyển đổi lớn hơn đường cơ sở
  3. Giá đóng là trên mức dừng lỗ 1,618
  4. Đường 0.618 nằm trên mức dừng lỗ 1.618
  5. Giá đóng cửa ở trên đám mây

Các điều kiện nhập cảnh ngắn là ngược lại với các điều kiện nhập cảnh dài.

Các mức dừng lỗ được thiết lập bằng cách sử dụng tỷ lệ 1.618 và 0.618 Fibonacci. Đối với các vị trí dài, mức dừng lỗ là cạnh trên của đám mây trừ đi 1.618 lần khoảng cách giữa các cạnh trên và dưới. Đối với các vị trí ngắn, ngược lại. Dòng 0.618 được sử dụng để xác định thị trường bên. Khi đám mây màu xanh lá cây và đường 0.618 dưới mức dừng lỗ 1.618 thì thị trường được coi là ở trạng thái bên.

Ngoài chỉ số đám mây Ichimoku, chiến lược giới thiệu hai đường trung gian để lọc thêm các tín hiệu sai. Các đường trung gian được tính bằng cách sử dụng trung bình của mức cao nhất và thấp nhất trong các khoảng thời gian khác nhau.

Phân tích lợi thế

  1. Bằng cách sử dụng cả các chỉ số giá và xu hướng, chiến lược có thể xác định tốt hơn xu hướng thị trường hiện tại.
  2. Việc giới thiệu tỷ lệ Fibonacci để thiết lập mức dừng lỗ một cách năng động làm cho rủi ro có thể kiểm soát được.
  3. Dòng 0.618 có thể xác định hiệu quả các thị trường bên cạnh và tránh các lần nhập thường xuyên vào các thị trường dao động.
  4. Hai đường giữa bổ sung có thể lọc ra các tín hiệu sai và cải thiện chất lượng tín hiệu.
  5. Các tham số có thể điều chỉnh, làm cho chiến lược phù hợp với các thị trường và khung thời gian khác nhau.

Phân tích rủi ro

  1. Trong điều kiện thị trường cực đoan, chẳng hạn như xu hướng tăng hoặc giảm mạnh, các chỉ số xu hướng có thể thất bại, dẫn đến các tín hiệu bị biến dạng.
  2. Mức dừng lỗ dựa trên khoảng cách của đám mây. Khi đám mây rất mỏng, nó có thể dẫn đến việc dừng lỗ quá gần với giá nhập cảnh.
  3. Phương pháp sử dụng Tỷ lệ Fibonacci để dừng lỗ và đường 0.618 để đánh giá thị trường bên cạnh thiếu hỗ trợ lý thuyết và có thể không áp dụng cho tất cả các thị trường.
  4. Tối ưu hóa tham số có thể dẫn đến quá phù hợp và hiệu suất kém trên thị trường thực tế.

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

  1. Xem xét việc giới thiệu nhiều chỉ số xác nhận xu hướng hơn, chẳng hạn như đường trung bình động, MACD, v.v., để cải thiện thêm chất lượng tín hiệu.
  2. Việc thiết lập mức dừng lỗ có thể tính đến nhiều yếu tố hơn, chẳng hạn như ATR và biến động, để làm cho chúng năng động và cá nhân hóa hơn.
  3. Để xác định thị trường bên cạnh, các phương pháp khác như chỉ số ADX có thể được thử.
  4. Các phương pháp học máy như thuật toán di truyền có thể được sử dụng để tối ưu hóa tham số và nên thử nghiệm ngoài mẫu để tránh quá phù hợp.
  5. Có thể thêm các mô-đun kiểm soát rủi ro và quy mô vị trí, chẳng hạn như tiêu chí Kelly và rủi ro cố định, để cải thiện độ vững chắc và độ tin cậy của chiến lược.

Kết luận

Chiến lược này kết hợp công nghệ chỉ số Ichimoku Cloud với tỷ lệ Fibonacci để tạo thành một hệ thống xác định và giao dịch xu hướng hoàn chỉnh. Việc giới thiệu các đường trung gian bổ sung để lọc có thể cải thiện chất lượng tín hiệu đến một mức độ nhất định. Ưu điểm của chiến lược nằm trong khả năng thích nghi tốt với cả các điều kiện thị trường xu hướng và dao động, và kiểm soát rủi ro thông qua stop-loss động. Tuy nhiên, chiến lược cũng có một số thiếu sót, chẳng hạn như thiếu hỗ trợ lý thuyết và tiềm năng quá phù hợp trong tối ưu hóa tham số. Trong tương lai, chiến lược có thể được cải thiện bằng cách giới thiệu nhiều chỉ số hơn, tối ưu hóa stop-loss và định vị kích thước, và sử dụng máy học để tối ưu hóa tham số. Nhìn chung, chiến lược này có một cách tiếp cận sáng tạo và đáng tham khảo, nhưng cần thử nghiệm và tối ưu hóa thêm để áp dụng thực tế.


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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © manoharbauskar

//@version=5
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © manoharbauskar

//@version=5
strategy("Advanced_Ichimoku_Cloud_Strategy", overlay=true, margin_long=100, margin_short=100)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpanPeriods = input.int(52, minval=1, title="Leading Span B Length")
pivotPeriods1 = input.int(17,minval = 1,title = "PPL1")
pivotPeriods2 = input.int(39,minval = 1,title = "PPL2")
displacement = input.int(26, minval=1, title="Lagging Span")
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
midLine1 = donchian(pivotPeriods1)
midLine2 = donchian(pivotPeriods2)
midLine3 = donchian(laggingSpanPeriods)
leadLine1 = math.avg(conversionLine, baseLine, midLine1)
leadLine2 = math.avg(midLine2 , midLine3)


plot(conversionLine, color=#2962FF, title="Conversion Line")
plot(baseLine, color=#B71C1C, title="Base Line")

plot(close, offset = -displacement + 1, color=color.yellow, title="Lagging Span")
p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7,
	 title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A,
	 title="Leading Span B")
   
plot(leadLine1 > leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Upper Line", display = display.none) 
plot(leadLine1 < leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Lower Line", display = display.none) 
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))

//stoploss calculating
mult1 = input.float(1.618, "Mult1")
mult2 = input.float(0.618, "Mult2")
stoploss1 = leadLine1 - (leadLine1 - leadLine2)*mult1
stoploss2 = leadLine1 - (leadLine1 - leadLine2)*mult2
plot(stoploss1,"Sl", color = color.fuchsia, linewidth = 2, style = plot.style_line, offset = displacement - 1)
plot(stoploss2,"S2", color = color.lime, linewidth = 2, style = plot.style_line, offset = displacement - 1)

longCondition = leadLine1 > leadLine2 
if (longCondition)
    strategy.entry("Buy", strategy.long)

shortCondition = leadLine1 < leadLine2
if (shortCondition)
    strategy.entry("Sell", strategy.short)


Thêm nữa