Strategi kotak putih robot saluran harga adalah strategi perdagangan mekanis sederhana yang didasarkan pada indikator saluran harga. Strategi ini menggunakan batas atas dan bawah saluran harga untuk menentukan waktu masuk dan keluar.
Logika inti dari strategi kotak putih robot saluran harga adalah:
Strategi ini juga memiliki beberapa parameter yang dapat dikonfigurasi:
Dengan menyesuaikan parameter ini, strategi dapat disesuaikan dengan varietas dan lingkungan pasar yang berbeda.
Strategi kotak putih robot saluran harga memiliki keuntungan sebagai berikut:
Secara keseluruhan, strategi ini adalah strategi pelacakan tren yang sederhana dan praktis, dan setelah dimodifikasi parameter, dapat memperoleh hasil yang baik.
Strategi kotak putih robot saluran harga juga memiliki beberapa risiko:
Untuk mengurangi risiko ini, perlu dilakukan optimalisasi dalam beberapa hal:
Strategi kotak putih robot saluran harga masih memiliki ruang untuk pengoptimalan lebih lanjut:
Dengan cara-cara optimasi ini, diharapkan stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut.
Strategi kotak putih robot saluran harga adalah strategi pelacakan tren yang sederhana namun praktis. Strategi ini menilai arah tren dan titik balik dengan indikator saluran harga, dan dengan demikian membuat keputusan perdagangan. Strategi ini mudah dipahami dan diimplementasikan, dan dapat memperoleh hasil yang baik setelah pengoptimalan 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")