I have this Keltner-channel system code that I would like to translate to ProRealTime and backtest, would it be possible for anyone to assist me with this?
//@version=4
strategy(“Keltner Channel Strategy”, overlay=true)
source = close
useTrueRange = input(true)
length = input(20, minval=1)
mult = input(1.0)
ma = sma(source, length)
range = useTrueRange ? tr : high – low
rangema = sma(range, length)
upper = ma + rangema * mult
lower = ma – rangema * mult
crossUpper = crossover(source, upper)
crossLower = crossunder(source, lower)
bprice = 0.0
bprice := crossUpper ? high+syminfo.mintick : nz(bprice[1])
sprice = 0.0
sprice := crossLower ? low -syminfo.mintick : nz(sprice[1])
crossBcond = false
crossBcond := crossUpper ? true
: na(crossBcond[1]) ? false : crossBcond[1]
crossScond = false
crossScond := crossLower ? true
: na(crossScond[1]) ? false : crossScond[1]
cancelBcond = crossBcond and (source < ma or high >= bprice )
cancelScond = crossScond and (source > ma or low <= sprice )
if (cancelBcond)
strategy.cancel(“KltChLE”)
if (crossUpper)
strategy.entry(“KltChLE”, strategy.long, stop=bprice, comment=”KltChLE”)
if (cancelScond)
strategy.cancel(“KltChSE”)
if (crossLower)
strategy.entry(“KltChSE”, strategy.short, stop=sprice, comment=”KltChSE”)
//plot(strategy.equity, title=”equity”, color=color.red, linewidth=2, style=plot.style_areabr)