Chiến lược này là một chiến lược giao dịch bitcoin được thiết kế dựa trên chỉ số đám mây Ichimoku. Nó tạo ra tín hiệu giao dịch khi đường ngắn hạn vượt qua đường dài hạn bằng cách tính toán giá cân bằng trong các giai đoạn khác nhau.
Chiến lược sử dụng chỉ số đám mây Ichimoku.
Lmax = giá cao nhất trong thời gian_max
Smax = giá thấp nhất trong thời gian_max
Lmed = giá cao nhất trong thời gian_med
Smed = giá thấp nhất trong thời gian_med
Lmin = giá cao nhất trong thời gian_min
Smin = giá thấp nhất trong thời gian_min
HL1 = (Lmax + Smax + Lmed + Smed)/4
HL2 = (Lmed + Smed + Lmin + Smin)/4
Nó tính toán giá cân bằng cho đường dài HL1 và đường ngắn HL2. Một tín hiệu dài được tạo ra khi HL2 vượt qua HL1.
Những lợi thế của chiến lược này bao gồm:
Ngoài ra còn có một số rủi ro:
Những rủi ro này có thể được giảm bằng cách tối ưu hóa các tham số hoặc kết hợp các chỉ số khác.
Chiến lược có thể được tối ưu hóa trong các khía cạnh sau:
Chiến lược này tạo ra tín hiệu khi đường cân bằng ngắn hạn vượt qua đường dài hạn dựa trên đám mây Ichimoku. So với các chỉ số đơn lẻ, nó lọc hiệu quả các tín hiệu sai. Những cải tiến hơn nữa về các thông số và kiểm soát rủi ro có thể nâng cao sự ổn định và lợi nhuận của nó.
/*backtest start: 2023-12-31 00:00:00 end: 2024-01-30 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Alferow //@version=4 strategy("BTC_ISHIMOKU", overlay=true) period_max = input(20, minval = 1) period_med = input(10, minval = 1) period_min = input(16, minval = 1) Lmax = highest(high, period_max) Smax = lowest(low, period_max) Lmed = highest(high, period_med) Smed = lowest(low, period_med) Lmin = highest(high, period_min) Smin = lowest(low, period_min) HL1 = (Lmax + Smax + Lmed + Smed)/4 HL2 = (Lmed + Smed + Lmin + Smin)/4 p1 = plot(HL1, color = color.red, linewidth = 2) p2 = plot(HL2, color = color.green, linewidth = 2) fill(p1, p2, color = HL1 < HL2 ? color.green : color.red, transp = 90) start = timestamp(input(2020, minval=1), 01, 01, 00, 00) finish = timestamp(input(2025, minval=1),01, 01, 00, 00) trig = time > start and time < finish ? true : false strategy.entry("Long", true, when = crossover(HL2, HL1) and trig) // strategy.entry("Short", false, when = crossunder(HL2, HL1) and trig) strategy.close("Long", when = crossunder(HL2, HL1) and trig)