Chiến lược theo xu hướng Ichimoku Kinko Hyo


Ngày tạo: 2023-11-24 14:38:47 sửa đổi lần cuối: 2023-11-24 14:38:47
sao chép: 0 Số nhấp chuột: 390
1
tập trung vào
1166
Người theo dõi

Chiến lược theo xu hướng Ichimoku Kinko Hyo

Tổng quan

Chiến lược cân bằng một mắt là một chiến lược theo dõi xu hướng được thực hiện bằng cách sử dụng chỉ số Ichimoku Kinko Hyo. Chiến lược này kết hợp nhiều chỉ số để xác định xu hướng, làm nhiều trong thị trường bò, làm giảm trong thị trường gấu, để đạt được giá trị dài hạn của vốn.

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

Chiến lược này chủ yếu dựa trên chỉ số Ichimoku Kinko Hyo. Chỉ số này bao gồm đường chuyển hướng ((Tenkan-Sen), đường chuẩn ((Kijun-Sen), đường dẫn đầu ((Senkou-Span A), đường dẫn đầu ((Senkou-Span B) và đường trì hoãn ((Chikou-Span).

Các tín hiệu giao dịch cho chiến lược này đến từ sự kết hợp của các điều kiện sau:

  1. Đánh dấu đa đầu trên đường dẫn
  2. Chuyển đổi dưới đường dẫn qua đường chuẩn thành tín hiệu không đầu
  3. Đường trễ lên trên được xác nhận là đa đầu
  4. Đường trượt chậm trễ xuống xác nhận là trục trặc
  5. Chỉ số RSI cao hơn 50 là chỉ số đa đầu
  6. Chỉ số RSI dưới 50 là chỉ số đầu trống
  7. Giá cả trên biểu đồ đám mây
  8. Xu hướng giá trần dưới hình đám mây

Khi các điều kiện đa đầu trên được đáp ứng cùng một lúc, hãy nhập nhiều; Khi các điều kiện đầu trống trên được đáp ứng cùng một lúc, hãy nhập trống.

Phân tích lợi thế

Chiến lược này kết hợp với theo dõi xu hướng và chỉ số bán tháo và mua quá mức để xác định hiệu quả hướng của xu hướng. Những lợi thế chính như sau:

  1. Chỉ số Ichimoku Kinko Hyo có khả năng nhận ra xu hướng trung và dài hạn, tránh bị đánh lừa bởi tiếng ồn thị trường ngắn hạn.
  2. Kết hợp với chỉ số RSI có thể xác định hiệu quả các khu vực quá mua và quá bán để ngăn chặn cơ hội đảo ngược bị bỏ lỡ.
  3. Cân nhắc các điều kiện biến động của giá cổ phiếu, chỉ tham gia khi có biến động cao, tránh giao dịch không hiệu quả.
  4. Các thủ tục nhập cảnh và xuất cảnh nghiêm ngặt, tránh rủi ro tối đa.

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro cần lưu ý:

  1. Ichimoku Kinko Hyo bị chậm trễ, có thể dẫn đến sự chậm trễ trong thời gian nhập học.
  2. Các tín hiệu giao dịch đa điều kiện có tần suất thấp, dễ dẫn đến số lần giao dịch không đủ.
  3. Không tính đến quản lý quỹ và quản lý vị trí, có thể có nguy cơ giao dịch quá mức.

Giải pháp tương ứng:

  1. Các tham số của Ichimoku Kinko Hyo được rút gọn một cách thích hợp để tăng độ nhạy của chỉ số.
  2. Giảm mức độ nghiêm ngặt của các điều kiện nhập cảnh và tăng tần suất giao dịch.
  3. Tham gia vào mô-đun quản lý quỹ và quản lý vị trí, kiểm soát tỷ lệ vốn và vị trí của mỗi giao dịch.

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

Chiến lược này có thể được tối ưu hóa theo các hướng sau:

  1. Thay thế hoặc kết hợp các chỉ số khác, chẳng hạn như KDJ, MACD, và các nguồn tín hiệu phong phú.
  2. Tối ưu hóa các tham số của Ichimoku Kinko Hyo để nâng cao độ nhạy của chỉ số.
  3. Tham gia chiến lược dừng lỗ để khóa lợi nhuận và kiểm soát rủi ro.
  4. Thêm mô-đun quản lý vị thế, điều chỉnh vị thế theo quy mô tài chính.
  5. Thêm mô-đun bảo hiểm kỳ hạn hợp đồng tương lai, quản lý rủi ro bảo hiểm kỳ hạn nhiều đầu.

Tóm tắt

Chiến lược cân bằng một mắt là một chiến lược theo dõi xu hướng đáng tin cậy và vững chắc. Nó giải quyết các vấn đề quan trọng trong giao dịch xu hướng.

Mã nguồn chiến lược
/*backtest
start: 2023-11-16 00:00:00
end: 2023-11-20 08:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Ichimoku Kinko Hyo: ETH 3h Strategy by tobuno", overlay=true)

//Inputs
ts_bars = input(22, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(60, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(120, minval=1, title="Senkou-Span B Bars")
cs_offset = input(30, minval=1, title="Chikou-Span Offset")
ss_offset = input(30, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")

//Volatility
vollength = input(defval=2, title="VolLength")
voltarget = input(defval=0.2, type=float, step=0.1, title="Volatility Target")
Difference = abs((close - open)/((close + open)/2) * 100)
MovingAverage = sma(Difference, vollength)
highvolatility = MovingAverage > voltarget

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
 
////////////////////////////////////////////////////////////////////////////////

middle(len) => avg(lowest(len), highest(len))

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

//RSI
change = change(close)
gain = change >= 0 ? change : 0.0
loss = change < 0 ? (-1) * change : 0.0
avgGain = rma(gain, 14)
avgLoss = rma(loss, 14)
rs = avgGain / avgLoss
rsi = 100 - (100 / (1 + rs))

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

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

// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(close, cs_offset-1) > 0
cs_cross_bear = mom(close, cs_offset-1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low
rsi_bullish = rsi > 50
rsi_bearish = rs < 50
bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and rsi_bullish and highvolatility
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and rsi_bearish and highvolatility

strategy.entry("Long", strategy.long, when=bullish and long_entry and time_cond)
strategy.entry("Short", strategy.short, when=bearish and short_entry and time_cond)

strategy.close("Long", when=bearish and not short_entry and time_cond)
strategy.close("Short", when=bullish and not long_entry and time_cond)