Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ____ __ ___ ________ ___________ ___________ __ ____ ___
- // / __ )/ / / | / ____/ //_/ ____/ |/_ __< / // / / __ |__ \
- // / __ / / / /| |/ / / ,< / / / /| | / / / / // /_/ / / __/ /
- // / /_/ / /___/ ___ / /___/ /| / /___/ ___ |/ / / /__ __/ /_/ / __/
- // /_____/_____/_/ |_\____/_/ |_\____/_/ |_/_/ /_/ /_/ \____/____/
- // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
- //
- // Indicator Template for
- // BCQ Sextan Backtest Framework
- //
- //@version=4
- study(title='[Sextan] B-Xtrender Backtest', shorttitle="[Sextan] B-Xtrender BT", overlay=false, max_bars_back = 5000, max_labels_count = 500)
- //
- // Your Indicator Settings
- //
- // The following section your can leave as it is
- long_th = input(title = "Long Singal Threshold", defval = 1.0, minval = 0.1, step=0.1, type = input.float)
- short_th = input(title = "Short Signal Threshold", defval = -1.0, maxval = -0.1, step=0.1, type = input.float)
- //----------------------------Customized Indicator Area Begin ---------------------------------------------------//
- // Courtesy of QuantTherapy for his B-Xtrender @PuppyTherapy
- short_l1 = input(5 , title="Short - L1")
- short_l2 = input(20, title="Short - L2")
- short_l3 = input(15, title="Short - L3")
- long_l1 = input(20, title="Long - L1")
- long_l2 = input(15, title="Long - L2")
- inp = input(close)
- shortTermXtrender = rsi(ema(inp, short_l1) - ema(inp, short_l2), short_l3 ) - 50
- longTermXtrender = rsi( ema(inp, long_l1), long_l2 ) - 50
- shortXtrenderCol = shortTermXtrender > 0 ? shortTermXtrender > shortTermXtrender[1] ? color.lime : #228B22 : shortTermXtrender > shortTermXtrender[1] ? color.red : #8B0000
- plot(shortTermXtrender, color=shortXtrenderCol, style=plot.style_columns, linewidth=1, title="B-Xtrender Osc. - Histogram", transp = 50)
- t3(src, len)=>
- xe1_1 = ema(src, len)
- xe2_1 = ema(xe1_1, len)
- xe3_1 = ema(xe2_1, len)
- xe4_1 = ema(xe3_1, len)
- xe5_1 = ema(xe4_1, len)
- xe6_1 = ema(xe5_1, len)
- b_1 = 0.7
- c1_1 = -b_1*b_1*b_1
- c2_1 = 3*b_1*b_1+3*b_1*b_1*b_1
- c3_1 = -6*b_1*b_1-3*b_1-3*b_1*b_1*b_1
- c4_1 = 1+3*b_1+b_1*b_1*b_1+3*b_1*b_1
- nT3Average_1 = c1_1 * xe6_1 + c2_1 * xe5_1 + c3_1 * xe4_1 + c4_1 * xe3_1
- maShortTermXtrender = t3( shortTermXtrender , 5 )
- colShortTermXtrender = maShortTermXtrender > maShortTermXtrender[1] ? color.lime : color.red
- plot(maShortTermXtrender, color=#000000 , style=plot.style_line, linewidth=5, title="B-Xtrender Shadow")
- plot(maShortTermXtrender, color=colShortTermXtrender, style=plot.style_line, linewidth=3, title="B-Xtrender Color ")
- plotshape(maShortTermXtrender > maShortTermXtrender[1] and maShortTermXtrender[1] < maShortTermXtrender[2] ? maShortTermXtrender : na, location=location.absolute, style=shape.circle, color=color.lime, size=size.tiny, transp=10)
- plotshape(maShortTermXtrender < maShortTermXtrender[1] and maShortTermXtrender[1] > maShortTermXtrender[2] ? maShortTermXtrender : na, location=location.absolute, style=shape.circle, color=color.red , size=size.tiny, transp=10)
- longXtrenderCol = longTermXtrender> 0 ? longTermXtrender > longTermXtrender[1] ? color.lime : #228B22 : longTermXtrender > longTermXtrender[1] ? color.red : #8B0000
- macollongXtrenderCol = longTermXtrender > longTermXtrender[1] ? color.lime : color.red
- plot(longTermXtrender , color=longXtrenderCol, style=plot.style_histogram, linewidth=2, title="B-Xtrender Trend - Histogram", transp = 80)
- plot(longTermXtrender , color=#000000 , style=plot.style_line, linewidth=5, title="B-Xtrender Trend - Line", transp = 80)
- plot(longTermXtrender , color=macollongXtrenderCol, style=plot.style_line, linewidth=3, title="B-Xtrender Trend - Line", transp = 80)
- long = maShortTermXtrender > maShortTermXtrender[1] and maShortTermXtrender[1] < maShortTermXtrender[2]
- short = maShortTermXtrender < maShortTermXtrender[1] and maShortTermXtrender[1] > maShortTermXtrender[2]
- l = short ? label.new(bar_index, maShortTermXtrender, 'S', color=color.new(color.red, 70), textcolor=color.white, style=label.style_label_down, yloc=yloc.price, size=size.tiny) : long ? label.new(bar_index, maShortTermXtrender, 'B', color=color.new(color.green, 70), textcolor=color.white, style=label.style_label_up, yloc=yloc.price, size=size.tiny) : na
- //----------------------------Customized Indicator Area End ---------------------------------------------------//
- // Signal plot and output
- longCond = bool(na), shortCond = bool(na), initCond = 0, Signal = 0
- longCond := long
- shortCond := short
- initCond := longCond ? 1 : shortCond ? -1 : initCond[1]
- Signal := longCond ? 1 : shortCond ? -1 : 0
- sigCol = color.silver
- sigCol := (longCond and Signal[1] == 0) or (Signal == 0 and Signal[1] == 1) or (Signal[1] == -1 and Signal == 1) ? color.yellow : (shortCond and Signal[1] == 0) or (Signal == 0 and Signal[1] == -1) or (Signal == 1 and Signal[1] == -1) ? color.fuchsia : sigCol
- plot(Signal, "Signal", color=sigCol, style=plot.style_areabr, transp=40, display = display.none)
Advertisement
Add Comment
Please, Sign In to add comment