Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //@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")
- //CandleClose = input(true, "Trade on candle close?")
- 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, lot, stop = h, when = strategy.position_size <= 0 and needlong and truetime)
- strategy.entry("Short", strategy.short, lot, stop = l, when = strategy.position_size >= 0 and needshort and truetime)
- if strategy.position_size > 0 and needstop
- strategy.exit("Stop Long", "Long", stop = center)
- if strategy.position_size > 0 and needstop == false and needshort == false
- strategy.exit("Stop Long", "Long", stop = l)
- if strategy.position_size < 0 and needstop
- strategy.exit("Stop Short", "Short", stop = center)
- if strategy.position_size < 0 and needstop == false and needlong == false
- strategy.exit("Stop Short", "Short", stop = h)
- if time > timestamp(toyear, tomonth, today, 23, 59)
- strategy.close_all()
- strategy.cancel("Long")
- strategy.cancel("Short")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement