
Chiến lược này là một chiến lược theo dõi xu hướng định lượng dựa trên các chỉ số kỹ thuật Ichimoku, chủ yếu là xây dựng nhiều đơn vị trống trong điều kiện cụ thể thông qua sự khác biệt theo đường trung bình cụ thể, theo dõi xu hướng thị trường và kết hợp với một số cơ chế kiểm soát rủi ro dừng lỗ.
Cốt lõi của chiến lược này là xây dựng tín hiệu giao dịch dựa trên chỉ số Ichimoku theo một thiết lập tham số nhất định. Chỉ số Ichimoku bao gồm bốn đường chuyển đổi, đường chuẩn, đường dẫn trước và đường lùi, trong đó đường chuyển đổi được gọi là antenna và đường chuẩn được gọi là đường nền.
Cụ thể, chiến lược này dựa trên một số quy tắc giao dịch:
Khi giá cả tăng lên, và khi chúng ta rời khỏi vùng mây, hãy làm nhiều hơn.
Những người khác cũng có thể bị ảnh hưởng bởi giá.
Khi giá giảm xuống đường và vào vùng mây, trống rỗng;
Khi giá tăng lên trên antenna, thì giá sẽ không còn tồn tại.
Thông qua quy tắc giao dịch đa không gian như vậy, có thể nắm bắt được xu hướng của thị trường một cách hiệu quả. Đồng thời, kết hợp với sự đột phá của dải mây làm điều kiện lọc, có thể tránh được sai lầm.
Chiến lược này có một số ưu điểm so với các chiến lược giao dịch ngang hàng phổ biến khác:
Dựa trên chỉ số Ichimoku, phán đoán xu hướng chính xác hơn. Chỉ số Ichimoku bao gồm nhiều đường trung bình, phán đoán xu hướng tổng hợp đáng tin cậy hơn, tránh tiếng ồn của một đường trung bình.
Kết hợp nhiều đường đồng nhất, tạo ra hiệu quả lọc giao dịch tốt hơn. Bước qua vùng mây là điều kiện bổ sung để tránh tín hiệu sai.
Rủi ro có thể kiểm soát được. Bằng cách thiết lập ăng ten ngăn chặn, bạn có thể ngăn chặn và kiểm soát rủi ro một cách hiệu quả.
Trở lại nhỏ hơn. So với các chiến lược xu hướng khác, nó ít gây ra hoạt động ngược thị trường kéo dài hơn, giảm thiểu tối đa tổn thất rút lui.
Điều chỉnh tham số linh hoạt. Bạn có thể thích nghi với các hoạt động khác nhau theo thị trường bằng cách điều chỉnh tham số đường trung bình.
Tuy nhiên, chiến lược này vẫn có một số rủi ro cần lưu ý:
Chiến lược này có thể tạo ra các giao dịch lặp lại nhỏ dẫn đến lỗ hổng khi thị trường bị rung động trong một thời gian dài.
Khả năng nhận biết xu hướng đảo ngược không đầy đủ. Chỉ số Ichimoku có khả năng đánh giá xu hướng đảo ngược trong thời gian ngắn, có thể bỏ lỡ cơ hội đảo ngược hoặc có nguy cơ bị đảo ngược đột ngột.
Thiết lập tham số phụ thuộc vào kinh nghiệm. Các thiết lập tham số khác nhau có thể có ảnh hưởng lớn đến hiệu suất của chiến lược và cần phải dựa vào kinh nghiệm lịch sử phong phú để điều chỉnh.
Đối với các rủi ro trên, chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Kết hợp với các chỉ số biến động khác để đánh giá tình trạng biến động, thiết lập trạng thái chiến lược để tránh giao dịch không hiệu lực.
Thêm mô-đun tín hiệu đảo ngược xu hướng, chẳng hạn như kết hợp các kết hợp chéo ngược với các đường trung bình di chuyển.
Sử dụng các phương pháp như học máy để tự động tối ưu hóa các tham số, giảm sự phụ thuộc vào kinh nghiệm nhân tạo.
Thiết lập đường dừng động. Điều chỉnh mức dừng theo thời gian thực theo biến động của thị trường, giảm rủi ro.
Nhìn chung, chiến lược này tích hợp lợi thế của chỉ số Ichimoku và thể hiện lợi thế mạnh mẽ trong việc nắm bắt xu hướng. Bằng cách đặt các tham số thích hợp và điều chỉnh tối ưu hóa, bạn có thể nâng cao hơn nữa sự ổn định của chiến lược, làm cho nó trở thành một chiến lược hiệu quả đáng để xem xét đầu tư vào thị trường thực.
/*backtest
start: 2022-12-13 00:00:00
end: 2023-12-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="RENKO ICHIMOKU STRATEGY", shorttitle="RENKO ICHIMOKU STRATEGY", overlay=true)
ro = open
rc = close
tenkanSenPeriods = input(10, minval=1, title="Tenkan-sen"),
kijunSenPeriods = input(30, minval=1, title="Kijun-sen")
SenkouSpanBPeriods = input(60, minval=1, title="Senkou Span B"),
displacement = input(30, minval=1, title="Chikou Span (Displacement)")
donchian(len) => avg(lowest(len), highest(len))
tenkanSen = donchian(tenkanSenPeriods)
kijunSen = donchian(kijunSenPeriods)
SenkouSpanA = avg(tenkanSen, kijunSen)
SenkouSpanB = donchian(SenkouSpanBPeriods)
plot(tenkanSen, color=#0496ff, linewidth=2, title="Tenkan-sen")
// plot(kijunSen, color=#991515, title="Kijun-sen")
// plot(close, offset = -displacement, color=#459915, title="Chikou Span")
p1 = plot(SenkouSpanA, offset = displacement, color=green, title="Senkou Span A")
p2 = plot(SenkouSpanB, offset = displacement, color=red, title="Senkou Span B")
fill(p1, p2, color = SenkouSpanA > SenkouSpanB ? green : red)
// Entry/Exit Signals
tk_cross_bull = tenkanSen > kijunSen
tk_cross_bear = tenkanSen < kijunSen
price_below_tenkan = open < tenkanSen and close < tenkanSen
price_above_tenkan = open > tenkanSen and close > tenkanSen
price_below_kinjun = close < kijunSen
price_above_kinjun = close > kijunSen
tekan_above_kinjun = tenkanSen > kijunSen
tekan_below_kinjun = tenkanSen < kijunSen
ss_high = max(SenkouSpanA[displacement-1], SenkouSpanB[displacement-1])
ss_low = min(SenkouSpanA[displacement-1], SenkouSpanB[displacement-1])
price_inside_kumo = close > ss_high and close < ss_low
price_below_kumo = rc[1] < ro[1] and rc[0] < ro[0] and rc[1] < ss_low
price_above_kumo = rc[1] > ro[1] and rc[0] > ro[0] and rc[1] > ss_high
cs_cross_bull = mom(close, displacement-1) > 0
cs_cross_bear = mom(close, displacement-1) < 0
bullish = cs_cross_bull and not price_inside_kumo
bearish = cs_cross_bear and not price_inside_kumo
strategy.entry("Long", strategy.long, when=price_above_kumo and price_above_tenkan )
strategy.close("Long", when=price_below_tenkan )
strategy.entry("Short", strategy.short, when=price_below_kumo and price_below_tenkan )
strategy.close("Short", when=price_above_tenkan )
// longCondition = crossover(sma(close, 14), sma(close, 28))
// if (longCondition)
// strategy.entry("My Long Entry Id", strategy.long)
// shortCondition = crossunder(sma(close, 14), sma(close, 28))
// if (shortCondition)
// strategy.entry("My Short Entry Id", strategy.short)