
Strategi kotak putih robot saluran harga adalah strategi perdagangan mekanis yang mudah berdasarkan indikator saluran harga. Ia menggunakan batas atas dan bawah saluran harga untuk menentukan masa masuk dan keluar.
Logik utama strategi kotak putih robot saluran harga adalah:
Strategi ini mempunyai beberapa parameter yang boleh dikonfigurasi:
Dengan menyesuaikan parameter ini, strategi dapat disesuaikan dengan lebih baik dengan pelbagai jenis dan keadaan pasaran.
Strategi kotak putih robot saluran harga mempunyai kelebihan berikut:
Secara keseluruhannya, strategi ini adalah strategi trend-following yang mudah dan praktikal, yang boleh mencapai kesan yang baik apabila parameternya disesuaikan.
Strategi kotak putih robot saluran harga juga mempunyai risiko:
Untuk mengurangkan risiko ini, pengoptimuman diperlukan dalam beberapa aspek:
Strategi kotak putih robot saluran harga mempunyai ruang untuk pengoptimuman lebih lanjut:
Dengan cara ini, kita dapat meningkatkan lagi kestabilan dan keuntungan strategi.
Strategi kotak putih robot saluran harga adalah strategi trend pengesanan yang mudah tetapi praktikal. Ia menilai arah trend dan titik balik melalui indikator saluran harga, dan dengan itu membuat keputusan perdagangan. Strategi ini mudah difahami dan dilaksanakan, dan dapat memperoleh hasil yang baik setelah pengoptimuman parameter.
/*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")