0% found this document useful (0 votes)
36 views11 pages

Algo Software

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views11 pages

Algo Software

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

//@version=5

// Copyright (c) 2021-present, UPS India


indicator('UPS Premium', overlay=true)

//-----------------------------------------------------------------------------}
// <---SWITCHES--->
//-----------------------------------------------------------------------------}

showLabels = [Link](title='Smart Signals', defval=true, group='⚙️ ENABLE


INDICATORS', tooltip='Enable Bullish and Bearish signals on chart')
visualSwitch = [Link](false, title='Trend Analyzer Wave', group='⚙️ ENABLE
INDICATORS', tooltip = "Enable Trend wave to identify exact Market's Trend")
chochmr = [Link](false, 'Market Structure', tooltip='Show Market Structure -
CHoCh and BOS', group = "⚙️ ENABLE INDICATORS" )
showSwingmr = [Link](false, 'Show Swing Points', tooltip='Show Highs and Lows',
group = "⚙️ ENABLE INDICATORS")

//-----------------------------------------------------------------------------}
// <---AUTOSIGNALS--->
//-----------------------------------------------------------------------------}

mult = [Link](title='Signals Sensitivity', step=0.5, defval=2, group='⚙️


SMART SIGNALS SETTINGS', tooltip='Increase Sensitivity to get Long Term Trades,
Decrease for Scalping')

atr = mult * [Link](10)

highPrice = mult ? high : close


lowPrice = mult ? low : close
doji4price = open == close and open == low and open == high

longStop = close - atr


longStopPrev = nz(longStop[1], longStop)

if longStop > 0
if doji4price
longStop := longStopPrev
longStop
else
longStop := lowPrice[1] > longStopPrev ? [Link](longStop, longStopPrev) :
longStop
longStop
else
longStop := longStopPrev
longStop

shortStop = close + atr


shortStopPrev = nz(shortStop[1], shortStop)

if shortStop > 0
if doji4price
shortStop := shortStopPrev
shortStop
else
shortStop := highPrice[1] < shortStopPrev ? [Link](shortStop,
shortStopPrev) : shortStop
shortStop
else
shortStop := shortStopPrev
shortStop

var int dir = 1


dir := dir == -1 and highPrice > shortStopPrev ? 1 : dir == 1 and lowPrice <
longStopPrev ? -1 : dir

buySignal = dir == 1 and dir[1] == -1


plotshape(buySignal and showLabels ? longStop : na, title='Bullish Signals',
text='BUY', location=[Link], style=[Link], size=[Link],
color=[Link](#089981, 35), textcolor=#ffffff)

sellSignal = dir == -1 and dir[1] == 1


plotshape(sellSignal and showLabels ? shortStop : na, title='Bearish Signals',
text='SELL', location=[Link], style=[Link], size=[Link],
color=[Link](#ff0000, 35), textcolor=#ffffff)

midPricePlot = plot(ohlc4, style=plot.style_circles, linewidth=1,


display=[Link], editable=false)

barcolor(dir == 1 and close - atr ? #089981 : na, title='Bullish Bars')


barcolor(dir == -1 and close + atr ? #f23645 : na, title='Bearish Bars')

changeCond = dir != dir[1]


alertcondition(buySignal, title='UPS Bullish Signal', message='UPS Bullish Signal \
nSymbol: {{exchange}}:{{ticker}}\nPrice: {{close}}')
alertcondition(sellSignal, title='UPS Bearish Signal', message='UPS Bearish
Signal \nSymbol: {{exchange}}:{{ticker}}\nPrice: {{close}}')

//-----------------------------------------------------------------------------}
// <--- HULL TREND ANALYZER --->
//-----------------------------------------------------------------------------}

modeSwitch = [Link]('EMA', title='Trend Presets', options=['EMA', 'SMA',


'WMA'], group='⚙️ TREND WAVE ANALYZER SETTINGS')
length = [Link](55, title='Trend Wave Length', group='⚙️ TREND WAVE ANALYZER
SETTINGS', tooltip = "Increase length to get Longer Trend Analysis")

//FUNCTIONS
//HMA
HMA(_close, _length) =>
[Link](2 * [Link](_close, _length / 2) - [Link](_close, _length),
[Link]([Link](_length)))
//EHMA
EHMA(_close, _length) =>
[Link](2 * [Link](_close, _length / 2) - [Link](_close, _length),
[Link]([Link](_length)))
//THMA
THMA(_close, _length) =>
[Link]([Link](_close, _length / 3) * 3 - [Link](_close, _length / 2) -
[Link](_close, _length), _length)

//SWITCH
Mode(modeSwitch, close, len) =>
modeSwitch == 'EMA' ? HMA(close, len) : modeSwitch == 'SMA' ? EHMA(close,
len) : modeSwitch == 'WMA' ? THMA(close, len / 2) : na

//OUT
HULL = Mode(modeSwitch, close, int(length * 1))
MHULL = HULL[0]
SHULL = HULL[2]

//COLOR
hullColor = HULL > HULL[2] ? #683ab7b0 : #f23645b0

//PLOT
///< Frame
Fi1 = plot(MHULL, title='Customize Uptrend Wave', color=#ffffff00, editable=false)
Fi2 = plot(visualSwitch ? SHULL : na, title='Customize Downtrend Wave',
color=#ffffff00, editable=false)
alertcondition([Link](MHULL, SHULL), title='UPS Uptrend Wave',
message='Upcoming Uptrend')
alertcondition([Link](SHULL, MHULL), title='UPS Downtrend Wave',
message='Upcoming Downtrend')
///< Ending Filler
fill(Fi1, Fi2, title='UPS Wave Color', color=hullColor, editable=false)

//-----------------------------------------------------------------------------}
// <---MARKET STRUCTURE--->
//-----------------------------------------------------------------------------}

// Constants
color CLEAR = [Link](0,0,0,100)

// Inputs
swingSize = [Link](20, 'Swing Length', group = "⚙️ MARKET STRUCTURE
SETTINGS", tooltip='The number of left and right bars checked when searching for a
swing point.' )
bosConfType = [Link]('Candle Close', 'Structure Placement', ['Candle Close',
'Wicks'], group = "⚙️ MARKET STRUCTURE SETTINGS", tooltip='Choose whether
candle close/wick above previous swing point counts as a BOS.')

mrColor = [Link](#818181, 'Highs and Lows Color', group='⚙️ MARKET


STRUCTURE SETTINGS')
bosColor = [Link](#818181, 'Market Structure Color', group='⚙️ MARKET
STRUCTURE SETTINGS')
bosStyle = [Link]('Dashed', 'Line Style', ['Solid', 'Dashed', 'Dotted'],
group='⚙️ MARKET STRUCTURE SETTINGS')
bosWidth = [Link](1, 'Line Width', minval=1, group='⚙️ MARKET STRUCTURE
SETTINGS')

// Functions
lineStyle(x) =>
switch x
'Solid' => line.style_solid
'Dashed' => line.style_dashed
'Dotted' => line.style_dotted
// Calculations

//Finding high and low pivots


pivHi = [Link](high, swingSize, swingSize)
pivLo = [Link](low, swingSize, swingSize)

//Tracking the previous swing levels to determine hh lh hl ll


var float prevHigh = na
var float prevLow = na
var int prevHighIndex = na
var int prevLowIndex = na

//Tracking whether previous levels have been breached


var bool highActive = false
var bool lowActive = false

bool hh = false
bool lh = false
bool hl = false
bool ll = false

//Variable to track the previous swing type, used later on to draw 0.5 Retracement
Levels (HH = 2, LH = 1, HL = -1, LL = -2)
var int prevSwing = 0

if not na(pivHi)
if pivHi >= prevHigh
hh := true
prevSwing := 2
else
lh := true
prevSwing := 1
prevHigh := pivHi
highActive := true
prevHighIndex := bar_index - swingSize

if not na(pivLo)
if pivLo >= prevLow
hl := true
prevSwing := -1
else
ll := true
prevSwing := -2
prevLow := pivLo
lowActive := true
prevLowIndex := bar_index - swingSize

//Generating the breakout signals


bool highBroken = false
bool lowBroken = false

//Tracking prev breakout


var int prevBreakoutDir = 0

float highSrc = bosConfType == 'Candle Close' ? close : high


float lowSrc = bosConfType == 'Candle Close' ? close : low
if highSrc > prevHigh and highActive
highBroken := true
highActive := false
if lowSrc < prevLow and lowActive
lowBroken := true
lowActive := false

// Visual Output

//Swing level labels


if hh and showSwingmr
[Link](bar_index - swingSize, pivHi, 'HH', color=CLEAR,
style=label.style_label_down, textcolor=mrColor)
if lh and showSwingmr
[Link](bar_index - swingSize, pivHi, 'LH', color=CLEAR,
style=label.style_label_down, textcolor=mrColor)
if hl and showSwingmr
[Link](bar_index - swingSize, pivLo, 'HL', color=CLEAR,
style=label.style_label_up, textcolor=mrColor)
if ll and showSwingmr
[Link](bar_index - swingSize, pivLo, 'LL', color=CLEAR,
style=label.style_label_up, textcolor=mrColor)
//Generating the BOS Lines
if highBroken
if chochmr
[Link](prevHighIndex, prevHigh, bar_index, prevHigh, color=bosColor,
style=lineStyle(bosStyle), width=bosWidth)
[Link]([Link](bar_index - (bar_index - prevHighIndex) / 2),
prevHigh, prevBreakoutDir == -1 ? 'CHoCH' : 'BOS', color=CLEAR, textcolor=bosColor,
size=[Link])
prevBreakoutDir := 1
if lowBroken
if chochmr
[Link](prevLowIndex, prevLow, bar_index, prevLow, color=bosColor,
style=lineStyle(bosStyle), width=bosWidth)
[Link]([Link](bar_index - (bar_index - prevLowIndex) / 2), prevLow,
prevBreakoutDir == 1 ? 'CHoCH' : 'BOS', color=CLEAR, textcolor=bosColor,
style=label.style_label_up, size=[Link])
prevBreakoutDir := -1

//-----------------------------------------------------------------------------}
//<---Breakout Finder--->
//-----------------------------------------------------------------------------}

// Breakout Settings
indicator_switch = [Link](defval=false, title="Breakout Levels", group="⚙️
ENABLE INDICATORS", tooltip = "Enable Auto Breakout levels Detector with Support
and Resistance Levels")
prd = [Link](defval=5, title='Breakout Period', minval=2, group='⚙️ BREAKOUT
SETTINGS', tooltip = "Decrease period to get Extra Levels of Breakout/Breakdown" )
bo_len = [Link](defval=200, title='Max Breakout Length', minval=30, maxval=300,
group='⚙️ BREAKOUT SETTINGS')
cwidthu = [Link](defval=3., title='Levels Threshold', minval=1., maxval=10) /
100, group='⚙️ BREAKOUT SETTINGS'
mintest = [Link](defval=2, title='Minimum Number of Tests', minval=1,
group='⚙️ BREAKOUT SETTINGS')
bocolorup = [Link](defval=[Link](8, 153, 129, 20), title='Breakout Colors',
inline='bocol', group='⚙️ BREAKOUT SETTINGS')
bocolordown = [Link](defval=[Link](242, 54, 70, 20), title='',
inline='bocol', group='⚙️ BREAKOUT SETTINGS')
lstyle = [Link](defval=line.style_solid, title='Line Style',
options=[line.style_solid, line.style_dashed, line.style_dotted], group='⚙️
BREAKOUT SETTINGS')

//width
lll = [Link]([Link](bar_index, 300), 1)
float h_ = [Link](lll)
float l_ = [Link](lll)
float chwidth = (h_ - l_) * cwidthu

// check if PH/PL
ph = [Link](prd, prd)
pl = [Link](prd, prd)

//keep Pivot Points and their locations in the arrays


var phval = array.new_float(0)
var phloc = array.new_int(0)
var plval = array.new_float(0)
var plloc = array.new_int(0)

// keep PH/PL levels and locations


if ph
[Link](phval, ph)
[Link](phloc, bar_index - prd)
if [Link](phval) > 1 // cleanup old ones
for x = [Link](phloc) - 1 to 1 by 1
if bar_index - [Link](phloc, x) > bo_len
[Link](phloc)
[Link](phval)

if pl
[Link](plval, pl)
[Link](plloc, bar_index - prd)
if [Link](plval) > 1 // cleanup old ones
for x = [Link](plloc) - 1 to 1 by 1
if bar_index - [Link](plloc, x) > bo_len
[Link](plloc)
[Link](plval)

// check bullish cup


float bomax = na
int bostart = bar_index
num = 0
hgst = [Link](prd)[1]
if [Link](phval) >= mintest and close > open and close > hgst
bomax := [Link](phval, 0)
xx = 0
for x = 0 to [Link](phval) - 1 by 1
if [Link](phval, x) >= close
break
xx := x
bomax := [Link](bomax, [Link](phval, x))
bomax
if xx >= mintest and open <= bomax
for x = 0 to xx by 1
if [Link](phval, x) <= bomax and [Link](phval, x) >= bomax -
chwidth
num += 1
bostart := [Link](phloc, x)
bostart
if num < mintest or hgst >= bomax
bomax := na
bomax

if not na(bomax) and num >= mintest and indicator_switch


[Link](x1=bar_index, y1=bomax, x2=bostart, y2=bomax, color=bocolorup,
style=lstyle)
[Link](x1=bar_index, y1=bomax - chwidth, x2=bostart, y2=bomax - chwidth,
color=bocolorup, style=lstyle)
[Link](x1=bostart, y1=bomax - chwidth, x2=bostart, y2=bomax, color=bocolorup,
style=lstyle)
[Link](x1=bar_index, y1=bomax - chwidth, x2=bar_index, y2=bomax,
color=bocolorup, style=lstyle)

plotshape(not na(bomax) and num >= mintest and indicator_switch, editable = false,
location=[Link], text='Breakout', textcolor=#ffffff,
style=[Link], color=bocolorup, size=[Link])

// check bearish cup


float bomin = na
bostart := bar_index
num1 = 0
lwst = [Link](prd)[1]
if [Link](plval) >= mintest and close < open and close < lwst
bomin := [Link](plval, 0)
xx = 0
for x = 0 to [Link](plval) - 1 by 1
if [Link](plval, x) <= close
break
xx := x
bomin := [Link](bomin, [Link](plval, x))
bomin
if xx >= mintest and open >= bomin
for x = 0 to xx by 1
if [Link](plval, x) >= bomin and [Link](plval, x) <= bomin +
chwidth
num1 += 1
bostart := [Link](plloc, x)
bostart
if num1 < mintest or lwst <= bomin
bomin := na
bomin

if not na(bomin) and num1 >= mintest and indicator_switch


[Link](x1=bar_index, y1=bomin, x2=bostart, y2=bomin, color=bocolordown,
style=lstyle)
[Link](x1=bar_index, y1=bomin + chwidth, x2=bostart, y2=bomin + chwidth,
color=bocolordown, style=lstyle)
[Link](x1=bostart, y1=bomin + chwidth, x2=bostart, y2=bomin,
color=bocolordown, style=lstyle)
[Link](x1=bar_index, y1=bomin + chwidth, x2=bar_index, y2=bomin,
color=bocolordown, style=lstyle)
plotshape(not na(bomin) and num1 >= mintest and indicator_switch,
location=[Link], editable =false, style=[Link],
textcolor=#ffffff, text='Breakdown', color=bocolordown, size=[Link])

//-----------------------------------------------------------------------------}
// <---MARKET CONDITION TABLE--->
//-----------------------------------------------------------------------------}

// Table On/Off
infoDataTableOn = [Link](false, title="Trend Strength Screener", group="⚙️
ENABLE INDICATORS", tooltip = "Enable Multi Trend Analyzer")

//Table Positions
bright = position.bottom_right
bleft = position.bottom_left
bcenter = position.bottom_center
tright = position.top_right
tleft = position.top_left
tcenter = position.top_center
mright = position.middle_right
mleft = position.middle_left
mcenter = position.middle_center
itablePosition = [Link](tright, title="Screener Position", options=[bright,
bleft, bcenter, tright, tleft, tcenter, mright, mleft, mcenter], group="⚙️
TREND STRENGTH SCREENER SETTINGS")

//Lengths
macdOn = [Link](true, title="MACD", group="⚙️ ENABLE SCREENER COMPONENTS")

stochasticOn = [Link](true, title="STOCHSTIC RSI", group="⚙️ ENABLE


SCREENER COMPONENTS")

vortexOn = [Link](true, title="VORTEX", group="⚙️ ENABLE SCREENER


COMPONENTS")

momOn = [Link](true, title="MOMENTUM", group="⚙️ ENABLE SCREENER


COMPONENTS")

rsiOn = [Link](true, title="RSI", group="⚙️ ENABLE SCREENER COMPONENTS")

psarOn = [Link](true, title="PSAR", group="⚙️ ENABLE SCREENER COMPONENTS")

dmiOn = [Link](true, title="DMI", group="⚙️ ENABLE SCREENER COMPONENTS")

mfiOn = [Link](true, title="MONEY FLOW INDEX", group="⚙️ ENABLE SCREENER


COMPONENTS")

fisherOn = [Link](true, title="FISHER", group="⚙️ ENABLE SCREENER


COMPONENTS")

//Fisher Transform
high_ = [Link](hl2, 14)
low_ = [Link](hl2, 14)
round_(val) => val > .99 ? .999 : val < -.99 ? -.999 : val
value = 0.0
value := round_(.66 * ((hl2 - low_) / (high_ - low_) - .5) + .67 * nz(value[1]))
fish1 = 0.0
fish1 := .5 * [Link]((1 + value) / (1 - value)) + .5 * nz(fish1[1])
fish2 = fish1[1]

//Stochastic RSI
rsi1 = [Link](close, 14)
k = [Link]([Link](rsi1, rsi1, rsi1, 14), 3)
dsc = [Link](k, 3)

//Vortex
VMP = [Link]( [Link]( high - low[1]), 14)
VMM = [Link]( [Link]( low - high[1]), 14)
STR = [Link]( [Link](1), 14)
VIP = VMP / STR
VIM = VMM / STR

//DMI
[diplus, diminus, adx] = [Link](14, 14)

//PSAR
psar = [Link](.02, .02, .02)

//Momentum
mom = [Link](close, 14)

//Money Flow Index


mfi = [Link](close, 14)

//RSI
rsi = [Link](close, 14)

//MACD
[macdLine, signalLine, histLine] = [Link](close, 12, 26, 9)

//Create MACD indicator label table data


macdIndicatorLabel = 'MACD Neutral'
macdLabel = [Link]
if macdLine > signalLine
macdLabel := #089981
macdIndicatorLabel := "MACD Bullish"
else if macdLine < signalLine
macdLabel := #e91e63
macdIndicatorLabel := "MACD Bearish"

//Create Stochastic RSI indicator label table data


stochIndicatorLabel = 'Stochastic Neutral'
stochLabel = [Link]
if k > dsc
stochLabel := #089981
stochIndicatorLabel := "Stochastic Bullish"
else if k < dsc
stochLabel := #e91e63
stochIndicatorLabel := "Stochastic Bearish"

//Create Vortex indicator label table data


vortexIndicatorLabel = 'Vortex Neutral'
vortexLabel = [Link]
if VIP > VIM
vortexLabel := #089981
vortexIndicatorLabel := "Vortex Bullish"
else if VIP < VIM
vortexLabel := #e91e63
vortexIndicatorLabel := "Vortex Bearish"

//Create MFI indicator label table data


mfiIndicatorLabel = 'MFI Neutral'
mfiLabel = [Link]
if mfi > mfi[1]
mfiLabel := #089981
mfiIndicatorLabel := "MFI Bullish"
else if mfi < mfi[1]
mfiLabel := #e91e63
mfiIndicatorLabel := "MFI Bearish"

//Create Fisher indicator label table data


fisherIndicatorLabel = 'Fisher Neutral'
fisherLabel = [Link]
if fish1 > fish2
fisherLabel := #089981
fisherIndicatorLabel := "Fisher Bullish"
else if fish1 < fish2
fisherLabel := #e91e63
fisherIndicatorLabel := "Fisher Bearish"

//Create DMI indicator label table data


dmiIndicatorLabel = 'DMI Neutral'
dmiLabel = [Link]
if diplus > diminus
dmiLabel := #089981
dmiIndicatorLabel := "DMI Bullish"
else if diplus < diminus
dmiLabel := #e91e63
dmiIndicatorLabel := "DMI Bearish"

//Create Momentum indicator label table data


momIndicatorLabel = 'Momentum Neutral'
momLabel = [Link]
if mom > mom[1]
momLabel := #089981
momIndicatorLabel := "Momentum Bullish"
else if mom < mom[1]
momLabel := #e91e63
momIndicatorLabel := "Momentum Bearish"

//Create PSAR indicator label table data


psarIndicatorLabel = 'PSAR Neutral'
psarLabel = [Link]
if close > psar
psarLabel := #089981
psarIndicatorLabel := "PSAR Bullish"
else if close < psar
psarLabel := #e91e63
psarIndicatorLabel := "PSAR Bearish"

//Create RSI indicator label table data


rsiIndicatorLabel = 'RSI Neutral'
rsiLabel = [Link]
if rsi > rsi[1]
rsiLabel := #089981
rsiIndicatorLabel := "RSI Bullish"
else if rsi < rsi[1]
rsiLabel := #e91e63
rsiIndicatorLabel := "RSI Bearish"

//Plot Price Difference Table


infoDataTable = [Link](itablePosition, columns=1, rows=10)
if infoDataTableOn and [Link]
[Link](table_id=infoDataTable, column=0, row=8, text=mfiOn ?
mfiIndicatorLabel : na, height=0, text_color=[Link],
text_halign=text.align_left, text_valign=text.align_top, bgcolor=mfiLabel)
[Link](table_id=infoDataTable, column=0, row=9, text=fisherOn ?
fisherIndicatorLabel : na, height=0, text_color=[Link],
text_halign=text.align_left, text_valign=text.align_top, bgcolor=fisherLabel)
[Link](table_id=infoDataTable, column=0, row=7, text=dmiOn ?
dmiIndicatorLabel : na, height=0, text_color=[Link],
text_halign=text.align_left, text_valign=text.align_top, bgcolor=dmiLabel)
[Link](table_id=infoDataTable, column=0, row=4, text=momOn ?
momIndicatorLabel : na, height=0, text_color=[Link],
text_halign=text.align_left, text_valign=text.align_top, bgcolor=momLabel)
[Link](table_id=infoDataTable, column=0, row=6, text=psarOn ?
psarIndicatorLabel : na, height=0, text_color=[Link],
text_halign=text.align_left, text_valign=text.align_top, bgcolor=psarLabel)
[Link](table_id=infoDataTable, column=0, row=5, text=rsiOn ?
rsiIndicatorLabel : na, height=0, text_color=[Link],
text_halign=text.align_left, text_valign=text.align_top, bgcolor=rsiLabel)
[Link](table_id=infoDataTable, column=0, row=1, text=macdOn ?
macdIndicatorLabel : na, height=0, text_color=[Link],
text_halign=text.align_left, text_valign=text.align_top, bgcolor=macdLabel)
[Link](table_id=infoDataTable, column=0, row=2, text=stochasticOn ?
stochIndicatorLabel : na, height=0, text_color=[Link],
text_halign=text.align_left, text_valign=text.align_top, bgcolor=stochLabel)
[Link](table_id=infoDataTable, column=0, row=3, text=vortexOn ?
vortexIndicatorLabel : na, height=0, text_color=[Link],
text_halign=text.align_left, text_valign=text.align_top, bgcolor=vortexLabel)
[Link](table_id=infoDataTable, column=0, row=0, text="TREND STRENGTH
SCREENER", height=0, text_color=[Link], text_halign=text.align_left,
text_valign=text.align_top, bgcolor=#673AB7)

//Alerts
alertcondition(rsiLabel == #e91e63 and mfiLabel == #e91e63 and fisherLabel ==
#e91e63 and dmiLabel == #e91e63 and momLabel == #e91e63 and psarLabel == #e91e63
and
macdLabel == #e91e63 and stochLabel == #e91e63 and vortexLabel == #e91e63, "All
Factors Bearish Alert", "All Bearish Indicators {{ticker}} {{interval}}")

alertcondition(rsiLabel == #089981 and mfiLabel == #089981 and fisherLabel ==


#089981 and dmiLabel == #089981 and momLabel == #089981 and psarLabel == #089981
and
macdLabel == #089981 and stochLabel == #089981 and vortexLabel == #089981, "All
Factors Bullish Alert", "All Bullish Indicators {{ticker}} {{interval}}")

You might also like