Chiến lược giao dịch dao động đám mây Ichimoku

Tác giả:ChaoZhang, Ngày: 2024-02-20 11:12:44
Tags:

img

Tổng quan

Đây là một chiến lược giao dịch định lượng kết hợp giữa chỉ số Ichimoku Cloud và chỉ số Bollinger Bands. Chiến lược này sử dụng đường chuyển đổi, đường cơ sở, đường dẫn A và đường dẫn B của Ichimoku Cloud để tạo ra các tín hiệu giao dịch, trong khi sử dụng Bollinger Bands để đánh giá sự biến động của thị trường và quyết định thời gian nhập cảnh thích hợp.

Chiến lược logic

Chỉ số mây Ichimoku

Chỉ số đám mây Ichimoku bao gồm bốn đường: đường chuyển đổi, đường cơ sở, chặng đường dẫn A và chặng đường dẫn B. Đường chuyển đổi là giá đóng trung bình trong một khoảng thời gian ngắn (9 ngày). Đường cơ sở là giá đóng trung bình trong một khoảng thời gian dài hơn 26 ngày. Đường chặng đường dẫn A là giá trung bình giữa đường chuyển đổi và đường cơ sở, dẫn hành động giá. Đường chặng đường dẫn B là giá đóng trung bình trong một khoảng thời gian dài hơn 52 ngày, tụt lại sau giá. Các tín hiệu mua và bán được tạo ra khi đường trung bình di chuyển ngắn hạn vượt qua hoặc dưới đường trung bình dài hạn.

Bollinger Bands

Bollinger Bands bao gồm ba đường: đường giữa, dải trên và dải dưới. Dải giữa là một trung bình động đơn giản của giá đóng trong một khoảng thời gian n ngày (được đặt thành 20 ngày ở đây). Dải trên là đường giữa cộng với k lần (được đặt thành 2 lần ở đây) độ lệch chuẩn. Dải dưới là đường giữa trừ k lần độ lệch chuẩn. Nó đánh giá giá liệu giá có nằm trong phạm vi biến động bình thường và xác định mức độ biến động của thị trường.

Chiến lược này sử dụng đường chéo vàng và đường chéo tử vong của phạm vi dẫn đầu B để xây dựng các tín hiệu giao dịch. Nó cũng kết hợp các dải Bollinger để xác định biến động giá và quyết định vào thị trường khi biến động thấp.

Phân tích lợi thế

Chiến lược này kết hợp chỉ số Ichimoku Cloud và Bollinger Bands để xác định toàn diện xu hướng và biến động thị trường, có thể nắm bắt hiệu quả thông tin thay đổi thị trường để định vị tín hiệu giao dịch.

Các tham số của chiến lược này có thể điều chỉnh để tối ưu hóa cho các sản phẩm và môi trường thị trường khác nhau, làm cho nó rất thích nghi.

Phân tích rủi ro

Chiến lược này chủ yếu dựa trên các dải Bollinger để xác định biến động thị trường. Dải có thể thất bại khi biến động cực cao do các sự kiện thiên nga đen gây ra. Trong trường hợp đó, các tín hiệu giao dịch được xây dựng dựa trên đám mây Ichimoku có thể tạo ra tín hiệu sai.

Ngoài ra, các đường Ichimoku Cloud cũng nhạy cảm với biến động thị trường mạnh. Chuyển đổi và đường cơ sở có thể cung cấp tín hiệu không chính xác khi giá dao động mạnh mẽ.

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

Các chỉ số khác có thể được xem xét kết hợp để xác định thời gian nhập cảnh, chẳng hạn như KDJ để xem liệu thị trường có bị mua quá mức / bán quá mức hay không, và MACD để kiểm tra mối quan hệ trung bình động dài hạn / ngắn hạn. Điều này có thể tránh nhập cảnh thị trường trong thời gian biến động cực kỳ.

Ngoài ra, việc học máy có thể được tận dụng để tối ưu hóa các thông số của đám mây Ichimoku. Các thông số khác nhau có tác động đáng kể trên các chu kỳ và sản phẩm. Tìm kiếm các kết hợp thông số tối ưu có thể cải thiện đáng kể lợi nhuận của chiến lược.

Kết luận

Chiến lược này kết hợp chỉ số Ichimoku Cloud và Bollinger Bands để xem xét cả xu hướng thị trường và biến động. Đây là một chiến lược giao dịch định lượng thích nghi. Chiến lược có thể được cải thiện bằng cách điều chỉnh các tham số và tối ưu hóa các quy tắc nhập để đạt được lợi nhuận tốt trong giao dịch trực tiếp.


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

//@version=5
strategy("一目均衡表シグナル + ボリンジャーバンド", overlay=true)

conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
displacement = input.int(26, minval=1, title="Lagging Span")
bbLength = input(20, title="Bollinger Bands Length")
bbMultiplier = input(2.0, title="Bollinger Bands Multiplier")

donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

// ボリンジャーバンドの計算
basis = ta.sma(close, bbLength)
bbUpper = basis + bbMultiplier * ta.stdev(close, bbLength)
bbLower = basis - bbMultiplier * ta.stdev(close, bbLength)

// 1σ、2σ、3σのライン
bbUpper1 = basis + ta.stdev(close, bbLength)
bbLower1 = basis - ta.stdev(close, bbLength)

bbUpper2 = basis + 2 * ta.stdev(close, bbLength)
bbLower2 = basis - 2 * ta.stdev(close, bbLength)

bbUpper3 = basis + 3 * ta.stdev(close, bbLength)
bbLower3 = basis - 3 * ta.stdev(close, bbLength)

// 遅行スパンがローソクに交差した際のBuyとSellシグナル
buySignalLeadLine = ta.crossover(close, leadLine2)
sellSignalLeadLine = ta.crossunder(close, leadLine2)

// Strategy Entry and Exit Conditions for Lead Line
strategy.entry("BuyLeadLine", strategy.long, when = buySignalLeadLine)
strategy.close("BuyLeadLine", when = sellSignalLeadLine)

strategy.entry("SellLeadLine", strategy.short, when = sellSignalLeadLine)
strategy.close("SellLeadLine", when = buySignalLeadLine)

// Plotting Ichimoku Cloud
plot(conversionLine, color=color.new(color.blue, 0), title="Conversion Line")
plot(baseLine, color=color.new(color.red, 0), title="Base Line")
plot(close, offset = -displacement + 1, color=color.new(color.green, 0), title="Lagging Span")
p1 = plot(leadLine1, offset = displacement - 1, color=color.new(color.green, 0),
     title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=color.new(#cdf80d, 0),
     title="Leading Span B")

fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))



// 2σ、3σのラインをプロット

plot(bbUpper2, color=color.rgb(100, 96, 100), title="BB Upper 2σ")
plot(bbLower2, color=color.rgb(100, 96, 100), title="BB Lower 2σ")

plot(bbUpper3, color=color.rgb(67, 61, 68), title="BB Upper 3σ")
plot(bbLower3, color=color.rgb(67, 61, 68), title="BB Lower 3σ")

// Plotting Entry and Exit Signals
plotshape(series=buySignalLeadLine, title="Buy Signal (Lead Line)", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small)
plotshape(series=sellSignalLeadLine, title="Sell Signal (Lead Line)", color=color.rgb(255, 115, 0), style=shape.triangledown, location=location.abovebar, size=size.small)


Thêm nữa