
Chiến lược này là hệ thống giao dịch theo xu hướng dựa trên chỉ báo Đám mây Ichimoku. Chiến lược này sử dụng giao điểm của đường chuyển đổi và đường cơ sở để tạo ra tín hiệu giao dịch và kết hợp các vùng hỗ trợ và kháng cự của biểu đồ đám mây để xác nhận hướng xu hướng, qua đó nắm bắt được xu hướng thị trường và cơ hội giao dịch. Ý tưởng cốt lõi của chiến lược này là xác định các điểm ngoặt của xu hướng thông qua sự giao thoa động của các đường trung bình động đa kỳ và thực hiện các giao dịch tương ứng khi xu hướng được thiết lập.
Chiến lược này dựa trên các thành phần chính sau:
Điều kiện kích hoạt tín hiệu giao dịch:
Chiến lược này cung cấp một khuôn khổ có hệ thống cho các quyết định giao dịch thông qua phân tích đa chiều của Đám mây Ichimoku. Ưu điểm của chiến lược này là có thể nắm bắt đầy đủ xu hướng thị trường, nhưng đồng thời cũng có độ trễ và phụ thuộc nhất định vào môi trường thị trường. Bằng cách giới thiệu các chỉ số bổ sung và tối ưu hóa cơ chế xác nhận tín hiệu, tính thực tiễn và độ tin cậy của chiến lược có thể được cải thiện hơn nữa. Trong ứng dụng thực tế, nên tối ưu hóa và điều chỉnh các thông số theo đặc điểm cụ thể của thị trường và kết hợp các chỉ báo kỹ thuật khác để tăng cường tính ổn định của chiến lược.
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Ichimoku Cloud Strategy", overlay=true)
// Ichimoku Settings
conversionPeriods = input(9, title="Conversion Line Period")
basePeriods = input(26, title="Base Line Period")
laggingSpan2Periods = input(52, title="Lagging Span 2 Period")
displacement = input(26, title="Displacement")
// Ichimoku Calculation
conversionLine = (ta.highest(high, conversionPeriods) + ta.lowest(low, conversionPeriods)) / 2
baseLine = (ta.highest(high, basePeriods) + ta.lowest(low, basePeriods)) / 2
leadLine1 = (conversionLine + baseLine) / 2
leadLine2 = (ta.highest(high, laggingSpan2Periods) + ta.lowest(low, laggingSpan2Periods)) / 2
laggingSpan = ta.valuewhen(close, close, 0)[displacement]
// Plot Ichimoku Cloud
plot(conversionLine, title="Conversion Line", color=color.blue)
plot(baseLine, title="Base Line", color=color.red)
plot(leadLine1, title="Lead Line 1", color=color.green)
plot(leadLine2, title="Lead Line 2", color=color.orange)
plot(laggingSpan, title="Lagging Span", color=color.purple)
// Cloud Fill
plot(leadLine1, color=color.new(color.green, 90))
plot(leadLine2, color=color.new(color.red, 90))
// Signals
buySignal = ta.crossover(conversionLine, baseLine)
sellSignal = ta.crossunder(conversionLine, baseLine)
// Execute Trades
if buySignal
strategy.entry("Long", strategy.long)
if sellSignal
strategy.entry("Short", strategy.short)
// Debugging Plots
plotshape(buySignal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)