Ichimoku Cloud với Chiến lược MACD

Tác giả:ChaoZhang, Ngày: 2023-10-16 09:02:29
Tags:

Tổng quan

Đây là một chiến lược giao dịch tiền điện tử kết hợp chỉ số Ichimoku Cloud và chỉ số MACD. Nó sử dụng Ichimoku Cloud để xác định hướng xu hướng tổng thể và mức hỗ trợ / kháng cự, và MACD để đo xu hướng và động lực ngắn hạn, tạo ra tín hiệu giao dịch. Chiến lược này có thể xác định hiệu quả xu hướng trung và dài hạn và điều chỉnh nhanh các vị trí khi xu hướng thay đổi hướng.

Chiến lược logic

Chiến lược sử dụng sự chéo chéo của đường chuyển đổi và đường cơ sở của đám mây Ichimoku để xác định xu hướng trung hạn và chỉ số MACD để xác định xu hướng và đà ngắn hạn.

Khi đường chuyển đổi vượt qua trên đường cơ sở, đó là một tín hiệu tăng và giá trên đám mây cho thấy xu hướng mạnh. Khi đường chuyển đổi vượt qua dưới đường cơ sở, đó là một tín hiệu giảm và giá dưới đám mây cho thấy xu hướng yếu.

Khi biểu đồ MACD nằm trên đường không, nó báo hiệu động lực tăng, và khi nó nằm dưới đường không, nó báo hiệu động lực giảm. Khi đường MACD vượt qua trên đường tín hiệu, nó tạo ra tín hiệu mua, và khi vượt qua dưới, nó tạo ra tín hiệu bán.

Các quy tắc giao dịch cụ thể là như sau:

Tín hiệu đầu vào dài: Đường chuyển đổi vượt qua đường cơ sở, giá vượt qua đám mây, đường MACD vượt qua đường tín hiệu, đi dài. Tín hiệu thoát đường dài: Đường chuyển đổi vượt dưới đường cơ sở, đường giá vượt dưới mây, đường MACD vượt dưới đường tín hiệu, đóng vị trí dài.

Tín hiệu đầu vào ngắn: Đường chuyển đổi vượt qua dưới đường cơ sở, giá vượt qua dưới mây, đường MACD vượt qua dưới đường tín hiệu, đi ngắn.
Tín hiệu thoát ngắn: Đường chuyển đổi vượt qua đường cơ sở, đường giá vượt qua đám mây, đường MACD vượt qua đường tín hiệu, đóng vị trí ngắn.

Ưu điểm của Chiến lược

  1. Mây Ichimoku có thể xác định xu hướng trung hạn đến dài hạn và xu hướng ngắn hạn của MACD. Kết hợp cả hai có thể nắm bắt các cơ hội giao dịch trên các khung thời gian khác nhau.

  2. Mực mây của đám mây Ichimoku cho thấy rõ vùng hỗ trợ và kháng cự.

  3. MACD có hiệu quả trong việc đo lường các điều kiện mua quá mức và bán quá mức ngắn hạn, tránh các whipsaws trong các thị trường giới hạn phạm vi.

  4. Các thông số chiến lược được tối ưu hóa và có thể hoạt động cho các loại tiền điện tử khác nhau, cung cấp một số độ mạnh mẽ.

Rủi ro của chiến lược

  1. Mây Ichimoku và MACD có thể tạo ra tín hiệu sai, đòi hỏi xác nhận từ các chỉ số khác.

  2. Sự khác biệt thường xảy ra trong các thị trường khác nhau, đòi hỏi phải điều chỉnh các tham số hoặc đình chỉ giao dịch.

  3. Những đám mây dày đòi hỏi phải có những lối thoát rõ ràng trước khi đi vào, có khả năng bỏ lỡ một số cơ hội.

  4. Dữ liệu backtesting không đủ, đòi hỏi khung thời gian dài hơn để tối ưu hóa tham số.

Rủi ro có thể được quản lý bằng cách xác nhận tín hiệu với các chỉ số khác, điều chỉnh các tham số theo điều kiện thị trường hoặc đình chỉ giao dịch trong một số thời gian nhất định.

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

  1. Tối ưu hóa các thông số Ichimoku bằng cách điều chỉnh các khoảng thời gian chuyển đổi và đường cơ sở để phù hợp hơn với các tài sản khác nhau.

  2. Tối ưu hóa các thông số MACD bằng cách điều chỉnh thời gian làm mịn nhanh, chậm và tín hiệu để có tín hiệu chính xác hơn.

  3. Thêm chiến lược dừng lỗ để cắt giảm tổn thất khi drawdown đạt đến ngưỡng nhất định.

  4. Thêm kích thước vị trí để điều chỉnh tỷ lệ phần trăm vốn rủi ro cho mỗi giao dịch dựa trên điều kiện thị trường.

  5. Chiến lược thử nghiệm trên các dữ liệu tiền điện tử khác nhau để đánh giá độ bền.

  6. Thêm các chỉ số bổ sung để lọc các tín hiệu sai.

Kết luận

Chiến lược này kết hợp các điểm mạnh của các chỉ số Ichimoku Cloud và MACD, sử dụng chuyển đổi và đường cơ sở để xác định hướng xu hướng trung hạn, và MACD để đo lường mức mua quá mức / bán quá mức ngắn hạn, tạo ra các tín hiệu giao dịch. Các thông số có thể được tối ưu hóa cho các tài sản khác nhau và các chỉ số khác hoặc dừng lỗ được thêm để quản lý rủi ro. Nó hoạt động tốt cho các loại tiền điện tử khác nhau, nhưng các tín hiệu sai trong thị trường hỗn loạn cần phải được theo dõi thông qua điều chỉnh tham số và quản lý rủi ro để cải thiện độ bền.


/*backtest
start: 2023-10-08 00:00:00
end: 2023-10-15 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule

//@version=5
strategy('Ichimoku Cloud with MACD (By Coinrule)',
         overlay=true,
         initial_capital=1000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=30,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 6, 1, 0, 0)


// Stop Loss and Take Profit for Shorting
Stop_loss = input(1) / 100
Take_profit = input(5) / 100
longStopPrice = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)


// Inputs
ts_bars = input.int(9, minval=1, title='Tenkan-Sen Bars')
ks_bars = input.int(26, minval=1, title='Kijun-Sen Bars')
ssb_bars = input.int(52, minval=1, title='Senkou-Span B Bars')
cs_offset = input.int(26, minval=1, title='Chikou-Span Offset')
ss_offset = input.int(26, minval=1, title='Senkou-Span Offset')
long_entry = input(true, title='Long Entry')
short_entry = input(true, title='Short Entry')

middle(len) => math.avg(ta.lowest(len), ta.highest(len))

// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = math.avg(tenkan, kijun)
senkouB = middle(ssb_bars)

// Plot Ichimoku Kinko Hyo
plot(tenkan, color=color.new(#0496ff, 0), title='Tenkan-Sen')
plot(kijun, color=color.new(#991515, 0), title='Kijun-Sen')
plot(close, offset=-cs_offset + 1, color=color.new(#459915, 0), title='Chikou-Span')
sa = plot(senkouA, offset=ss_offset - 1, color=color.new(color.green, 0), title='Senkou-Span A')
sb = plot(senkouB, offset=ss_offset - 1, color=color.new(color.red, 0), title='Senkou-Span B')
fill(sa, sb, color=senkouA > senkouB ? color.green : color.red, title='Cloud color', transp=90)

ss_high = math.max(senkouA[ss_offset - 1], senkouB[ss_offset - 1])
ss_low = math.min(senkouA[ss_offset - 1], senkouB[ss_offset - 1])


// MACD
[macd, macd_signal, macd_histogram] = ta.macd(close, 12, 26, 9)


// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = ta.mom(close, cs_offset - 1) > 0
cs_cross_bear = ta.mom(close, cs_offset - 1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low

bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and ta.crossover(macd, macd_signal)
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and ta.crossunder(macd, macd_signal)

strategy.entry('Long', strategy.long, when=bullish and long_entry and timePeriod)
strategy.close('Long', when=bearish and not short_entry)

strategy.entry('Short', strategy.short, when=bearish and short_entry and timePeriod)
strategy.close('Short', when=bullish and not long_entry)




Thêm nữa