Chiến lược hộp trắng Robot kênh giá là một chiến lược giao dịch cơ học đơn giản dựa trên chỉ số kênh giá. Nó sử dụng giới hạn trên và dưới của kênh giá để xác định các điểm nhập và thoát. Chiến lược đi dài trên xu hướng tăng và đi ngắn trên xu hướng giảm.
Logic cốt lõi của Chiến lược hộp trắng Robot kênh giá là:
Chiến lược cũng có một số tham số có thể cấu hình:
Bằng cách điều chỉnh các thông số này, chiến lược có thể được điều chỉnh tốt hơn cho các sản phẩm và môi trường thị trường khác nhau.
Chiến lược hộp trắng Robot kênh giá có những lợi thế sau:
Tóm lại, đó là một chiến lược xu hướng đơn giản nhưng thực tế, có thể đạt được kết quả tốt sau khi điều chỉnh tham số.
Chiến lược hộp trắng Robot kênh giá cũng có một số rủi ro:
Để giảm những rủi ro này, tối ưu hóa cần được thực hiện trong các khía cạnh sau:
Có chỗ cho việc tối ưu hóa hơn nữa của Chiến lược hộp trắng Robot kênh giá:
Các kỹ thuật tối ưu hóa này có thể giúp cải thiện thêm sự ổn định và lợi nhuận của chiến lược.
Chiến lược Price Channel Robot White Box là một chiến lược theo xu hướng đơn giản nhưng thực tế. Nó xác định hướng xu hướng và điểm đảo ngược bằng cách sử dụng chỉ số kênh giá để đưa ra quyết định giao dịch. Chiến lược này dễ hiểu và thực hiện, và có thể đạt được lợi nhuận tốt sau khi điều chỉnh tham số.
/*backtest start: 2023-02-21 00:00:00 end: 2024-02-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //@version=4 strategy(title = "Robot WhiteBox Channel", shorttitle = "Robot WhiteBox Channel", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_value = 0.1) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") needstop = input(true, defval = true, title = "Stop-loss") lotsize = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %") len = input(50, minval = 1, title = "Price Channel Length") showll = input(true, defval = true, title = "Show lines") showbg = input(false, defval = false, title = "Show Background") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //Price Channel h = highest(high, len) l = lowest(low, len) center = (h + l) / 2 //Lines pccol = showll ? color.black : na slcol = showll ? color.red : na plot(h, offset = 1, color = pccol) plot(center, offset = 1, color = slcol) plot(l, offset = 1, color = pccol) //Background size = strategy.position_size bgcol = showbg == false ? na : size > 0 ? color.lime : size < 0 ? color.red : na bgcolor(bgcol, transp = 70) //Trading truetime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59) lot = 0.0 lot := size != size[1] ? strategy.equity / close * lotsize / 100 : lot[1] if h > 0 strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = h, when = strategy.position_size <= 0 and truetime) strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = l, when = strategy.position_size >= 0 and truetime) strategy.entry("S Stop", strategy.long, 0, stop = center, when = strategy.position_size[1] <= 0 and needstop) strategy.entry("L Stop", strategy.short, 0, stop = center, when = strategy.position_size[1] >= 0 and needstop) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all() strategy.cancel("Long") strategy.cancel("Short")