Các mục nhập Ichimoku là một chiến lược định lượng xác định hướng xu hướng bằng cách sử dụng biểu đồ đám mây Ichimoku, và tạo ra các tín hiệu giao dịch kết hợp với Bollinger Bands và chỉ số RSI. Chiến lược này chủ yếu xác định xem thị trường hiện đang trong xu hướng tăng hay giảm dựa trên đường chéo vàng hoặc đường chéo chết của đường Tenkan và đường Kijun, và do đó tạo ra các tín hiệu nhập cảnh cho các vị trí dài và ngắn.
Cốt lõi của chiến lược này nằm trong hai đường quan trọng của biểu đồ mây Ichimoku - Đường Tenkan và Đường Kijun. Đường Tenkan là mức trung bình của mức cao nhất và thấp nhất trong 9 ngày qua, đại diện cho xu hướng ngắn hạn. Đường Kijun là mức trung bình của mức cao nhất và thấp nhất trong 26 ngày qua, đại diện cho xu hướng trung bình đến dài hạn. Khi Đường Tenkan vượt qua trên Đường Kijun, nó báo hiệu một bước đi dài. Khi Đường Tenkan giảm xuống dưới Đường Kijun, nó báo hiệu một bước đi ngắn. Điều này đánh giá hướng xu hướng hiện tại.
Ngoài đám mây Ichimoku, chiến lược cũng xem xét các Bollinger Bands và chỉ số RSI để tạo ra các tín hiệu giao dịch. Nó được coi là một dấu hiệu của hoạt động giá bất thường khi giá đóng phá vỡ các Bollinger Bands trên hoặc dưới.
Về logic thoát, chiến lược kiểm tra xem việc phá vỡ Bollinger Bands có thành công hay không và nếu Trade Proximity Oscillator vượt qua trục 0, để quyết định khóa lợi nhuận hoặc dừng lỗ.
Lợi thế lớn nhất của chiến lược này là nó kết hợp xác định xu hướng và biến động giá bất thường để xác định hướng giao dịch. Các đám mây Ichimoku rõ ràng tiết lộ xu hướng, trong khi Bollinger Bands nắm bắt sự bất thường. RSI hiệu quả lọc ra các đột phá sai. Việc sử dụng nhiều chỉ số phối hợp làm cho các tín hiệu giao dịch đáng tin cậy hơn. Ngoài ra, logic dừng lỗ và lấy lợi nhuận giúp khóa lợi nhuận và tránh tổn thất lớn.
Mặc dù có lợi thế để xác định xu hướng và bất thường, chiến lược vẫn đặt ra một số rủi ro. Bởi vì nó giao dịch cùng với xu hướng, rất nhiều tín hiệu sai có thể xuất hiện trong các thị trường dao động. Cài đặt tham số không chính xác cũng có thể làm suy giảm hiệu suất của chiến lược. Tối ưu hóa từng bước được khuyến cáo để kiểm tra các kết hợp tham số khác nhau và tìm ra các giá trị tối ưu.
Chiến lược có thể được nâng cấp theo các khía cạnh sau:
Ichimoku Entry Strategy là một chiến lược giao dịch xu hướng tích hợp đa chỉ số. Bằng cách đánh giá cả hướng xu hướng và sự bất thường của giá, nó nắm bắt nhịp điệu thị trường khá đáng tin cậy. Mặc dù có chỗ để cải thiện, nói chung đây là một chiến lược có hiệu suất nhất quán và rủi ro có thể kiểm soát được.
/*backtest start: 2023-01-30 00:00:00 end: 2024-01-30 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("ichi strategy", overlay=true) // Input parameters rsiLength = input(14, title="RSI Length") bbLength = input(20, title="Bollinger Bands Length") bbMultiplier = input(2, title="Bollinger Bands Multiplier") stopLossPct = input(1, title="Stop Loss Percentage") takeProfitPct = input(2, title="Take Profit Percentage") // Calculate Ichimoku Cloud components tenkan = ta.sma(high + low, 9) / 2 kijun = ta.sma(high + low, 26) / 2 senkouA = (tenkan + kijun) / 2 senkouB = ta.sma(high + low, 52) / 2 // Bollinger Bands basis = ta.sma(close, bbLength) upperBB = basis + bbMultiplier * ta.stdev(close, bbLength) lowerBB = basis - bbMultiplier * ta.stdev(close, bbLength) // RSI rsiValue = ta.rsi(close, rsiLength) // Trade Proximity Oscillator length = input(14, title="Channels Length") multiplier = input(2, title="Channels Multiplier") atr_length = input(14, title="ATR Length") threshold_percentage = input(1.5, title="Threshold Percentage (%)") ma = ta.sma(close, length) std_dev = ta.stdev(close, length) upper_band = ma + multiplier * std_dev lower_band = ma - multiplier * std_dev distance_upper = close - upper_band distance_lower = lower_band - close atr_value = ta.atr(atr_length) threshold = atr_value * threshold_percentage oscillator = distance_upper - distance_lower // Strategy logic longCondition = close > upperBB and tenkan > kijun and ta.crossover(close, basis) and rsiValue < 70 shortCondition = close < lowerBB and tenkan < kijun and ta.crossunder(close, basis) and rsiValue > 30 strategy.entry("Long", strategy.long, when = longCondition) strategy.entry("Short", strategy.short, when = shortCondition) // Exit logic longExitCondition = close < upperBB and ta.crossover(oscillator, 0) shortExitCondition = close > lowerBB and ta.crossunder(oscillator, 0) strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=close - close * stopLossPct / 100, profit=close + close * takeProfitPct / 100, when = longExitCondition) strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=close + close * stopLossPct / 100, profit=close - close * takeProfitPct / 100, when = shortExitCondition) // Plotting plot(senkouA, color=color.green, title="Senkou A") plot(senkouB, color=color.red, title="Senkou B") plot(upperBB, color=color.blue, title="Upper Bollinger Band") plot(lowerBB, color=color.blue, title="Lower Bollinger Band") // Additional Plots plot(tenkan, color=color.orange, title="Tenkan") plot(kijun, color=color.purple, title="Kijun")