Chiến lược này kết hợp chỉ số Ichimoku Cloud và chỉ số trung bình động để thực hiện một chiến lược giao dịch định lượng đơn giản. Nó tạo ra tín hiệu mua khi đường chuyển đổi nằm trên đường cơ sở và giá đóng trên đường chuyển đổi. Nó tạo ra tín hiệu bán khi đường chuyển đổi nằm dưới đường cơ sở và giá đóng dưới đường chuyển đổi. Chiến lược này phù hợp với giao dịch ngắn hạn của các tài sản biến động cao như tiền điện tử.
Mây Ichimoku bao gồm ba đường: đường chuyển đổi, đường cơ sở và khoảng thời gian chậm. Đường chuyển đổi đại diện cho giá trung bình ngắn hạn và đường cơ sở đại diện cho giá trung bình dài hạn.
Mây Ichimoku cũng chứa hai đường dẫn đầu: Leading Span A và Leading Span B. Chúng đại diện cho phạm vi biến động giá trung bình trong các giai đoạn khác nhau. Khi Leading Span A cao hơn Leading Span B, nó cho thấy sự biến động mở rộng và đà tăng trong ngắn hạn.
Chiến lược này sử dụng đường chuyển đổi để xác định hướng xu hướng tổng thể và các đường dẫn để đo đạc đà. Nó tạo ra các tín hiệu giao dịch dựa trên xu hướng, đà và giá đóng cửa. Nó đi dài khi có xu hướng tăng và biến động mở rộng và đi ngắn khi có xu hướng giảm và biến động thu hẹp.
Những lợi thế chính của chiến lược này là:
Những rủi ro chính của chiến lược này là:
Một số cách để tăng cường chiến lược này:
Tóm lại, đây là một chiến lược giao dịch định lượng rất đơn giản kết hợp Ichimoku Cloud và moving average để xác định xu hướng và động lực cho các tín hiệu giao dịch. Nó phù hợp với giao dịch tài sản biến động ngắn hạn với tiềm năng lợi nhuận tốt. Tất nhiên không có chiến lược nào là hoàn hảo và chiến lược này có một số chỗ để cải thiện thông qua các quy tắc nhập cảnh, dừng lỗ, lựa chọn tham số vv để làm cho nó mạnh mẽ hơn.
/*backtest start: 2024-01-20 00:00:00 end: 2024-02-19 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Ichimoku Cloud + ema 50 Strategy", overlay=true) len = input.int(50, minval=1, title="Length") src = input(close, title="Source") out = ta.ema(src, len) 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(1, minval=1, title="Lagging Span") donchian(len) => math.avg(ta.lowest(len), ta.highest(len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = math.avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7, title="Leading Span A") p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A, title="Leading Span B") fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90)) plot(out, title="EMA", color=color.white) // Condition for Buy Signal buy_signal = close > out and leadLine1 > leadLine2 // Condition for Sell Signal sell_signal = close < out and leadLine2 > leadLine1 // Strategy entry and exit conditions if (buy_signal) strategy.entry("Buy", strategy.long) if (sell_signal) strategy.entry("Sell", strategy.short) // Exit long position if candle closes below EMA 50 if (strategy.opentrades > 0) if (close < out) strategy.close("Buy") // Exit short position if candle closes above EMA 50 if (strategy.opentrades < 0) if (close > out) strategy.close("Sell")