Chiến lược vào lệnh Ichimoku


Ngày tạo: 2024-01-31 15:23:21 sửa đổi lần cuối: 2024-01-31 15:23:21
sao chép: 0 Số nhấp chuột: 665
1
tập trung vào
1617
Người theo dõi

Chiến lược vào lệnh Ichimoku

Tổng quan

Ichimoku Entries là một chiến lược định lượng sử dụng chỉ số biểu đồ đám mây Ichimoku để xác định hướng xu hướng và kết hợp với các chỉ số Brin và RSI để phát tín hiệu giao dịch. Chiến lược này chủ yếu dựa trên đường xoay mười và đường cơ sở của các cái chết của vàng và vàng, để xác định hiện đang ở thị trường nhiều đầu hoặc thị trường trống, do đó tạo ra tín hiệu nhập cảnh cho vị trí dài và ngắn.

Nguyên tắc chiến lược

Chiến lược này chủ yếu sử dụng hai đường quan trọng của biểu đồ đám mây Ichimoku là đường xoay mười và đường cơ sở. đường xoay mười là trung bình của giá cao nhất và giá thấp nhất trong 9 ngày gần đây, đại diện cho xu hướng ngắn hạn. đường cơ sở là trung bình của giá cao nhất và giá thấp nhất trong 26 ngày gần đây, đại diện cho xu hướng trung hạn.

Ngoài biểu đồ đám mây Ichimoku, chiến lược này cũng phát hiện các chỉ số Brin và RSI để phát tín hiệu giao dịch. Chỉ khi giá đóng cửa phá vỡ Brin lên đường hoặc xuống đường, giá sẽ cho thấy sự bất thường; kết hợp với chỉ số RSI để xác định xem giá có nằm trong khu vực quá mua quá bán hay không, lọc ra một số vụ phá vỡ giả để tạo ra tín hiệu vào.

Về logic thoát ra, chiến lược đánh giá liệu phá vỡ vòng Boolean có thành công hay không, và liệu chỉ số môi trường giao dịch TPO có vượt qua trục 0 hay không, để xác định lợi nhuận hay dừng lỗ thoát ra.

Phân tích lợi thế

Lợi thế lớn nhất của chiến lược này là sử dụng định hướng xu hướng và biến động bất thường để xác định hướng giao dịch. Biểu đồ đám mây Ichimoku có thể xác định xu hướng rõ ràng, và Brin có thể nắm bắt biến động bất thường. Chỉ số RSI có thể lọc hiệu quả các đợt phá vỡ giả. Sử dụng nhiều chỉ số để đảm bảo tín hiệu giao dịch đáng tin cậy hơn. Ngoài ra, chiến lược này thêm vào logic dừng lỗ và dừng, có thể khóa lợi nhuận và tránh tổn thất lớn.

Phân tích rủi ro

Mặc dù có lợi thế trong việc nhận ra xu hướng và biến động bất thường, chiến lược này vẫn có một số rủi ro. Do theo dõi xu hướng giao dịch, do đó, có nhiều tín hiệu giả trong tình huống xung đột. Ngoài ra, cài đặt tham số không đúng cũng có thể ảnh hưởng đến hiệu suất của chiến lược.

Hướng tối ưu hóa

Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:

  1. Kiểm tra các tổ hợp tham số khác nhau, chẳng hạn như số ngày của Brin, số ngày của RSI;
  2. Thêm thuật toán học máy, tham số đầu ra động dựa trên mô hình đào tạo dữ liệu lịch sử;
  3. Kết hợp các luồng thông tin để đánh giá tâm trạng thị trường và tránh đưa ra quyết định sai lầm vào những thời điểm quan trọng;
  4. Phương pháp tăng lỗ hổng, chẳng hạn như dừng lỗ khi giá di chuyển, giữ lợi nhuận

Tóm tắt

Chiến lược Ichimoku Entries là một chiến lược theo dõi xu hướng kết hợp nhiều chỉ số. Nó đồng thời đánh giá xu hướng xu hướng và giá bất thường, nắm bắt nhịp độ thị trường một cách đáng tin cậy. Mặc dù vẫn còn chỗ để cải thiện, nhưng nói chung là một chiến lược giao dịch định lượng có thể kiểm soát rủi ro và ổn định.

Mã nguồn chiến lượ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")