
Chiến lược hộp trắng robot cổng giá là một chiến lược giao dịch cơ giới hóa đơn giản dựa trên chỉ số cổng giá. Nó sử dụng các giới hạn trên và dưới của cổng giá để xác định thời gian nhập và xuất. Chiến lược longtime là nhiều đầu,shortime là trống.
Một chiến lược hộp trắng của robot kênh giá có một logic cốt lõi là:
Chính sách này cũng có một số tham số có thể cấu hình:
Bằng cách điều chỉnh các tham số này, chiến lược có thể được điều chỉnh tốt hơn cho các giống và môi trường thị trường khác nhau.
Chiến lược hộp trắng của robot kênh giá có những ưu điểm sau:
Nhìn chung, chiến lược này là một chiến lược theo dõi xu hướng đơn giản và thực tế, có thể đạt được hiệu quả tốt khi điều chỉnh các tham số.
Chiến lược hộp trắng của robot kênh giá cũng có một số rủi ro:
Để giảm thiểu những rủi ro này, cần phải tối ưu hóa các khía cạnh sau:
Các chiến lược hộp trắng của robot kênh giá có thể được tối ưu hóa hơn nữa:
Những phương tiện tối ưu hóa này có thể giúp tăng cường tính ổn định và lợi nhuận của chiến lược.
Chiến lược hộp trắng robot kênh giá là một chiến lược theo dõi xu hướng đơn giản nhưng thực tế. Nó đánh giá hướng và điểm đảo ngược của xu hướng thông qua chỉ số kênh giá và đưa ra quyết định giao dịch. Chiến lược này dễ hiểu và thực hiện, có thể nhận được lợi nhuận tốt sau khi tối ưu hóa 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")