//@version=4
study("TrotskyBOT", overlay = true, format=[Link], precision=2,
resolution="")
Periods = input(title="ATR Period", type=[Link], defval=10)
src = input(hl2, title="Source")
Multiplier = input(title="ATR Multiplier", type=[Link], step=0.1, defval=3.0)
changeATR= input(title="Change ATR Calculation Method ?", type=[Link],
defval=true)
showsignals = input(title="¿Mostrar señales Compra/Venta?", type=[Link],
defval=true)
highlighting = input(title="Highlighter On/Off ?", type=[Link], defval=true)
atr2 = sma(tr, Periods)
atr= changeATR ? atr(Periods) : atr2
up=src-(Multiplier*atr)
up1 = nz(up[1],up)
up := close[1] > up1 ? max(up,up1) : up
dn=src+(Multiplier*atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
upPlot = plot(trend == 1 ? up : na, title="Tendencia Alcista",
style=plot.style_linebr, linewidth=2, color=[Link])
buySignal = trend == 1 and trend[1] == -1
plotshape(buySignal ? up : na, title="Se acerca tendencia alcista",
location=[Link], style=[Link], size=[Link], color=[Link],
transp=0)
plotshape(buySignal and showsignals ? up : na, title="Comprar", text="Comprar",
location=[Link], style=[Link], size=[Link], color=[Link],
textcolor=[Link], transp=0)
dnPlot = plot(trend == 1 ? na : dn, title="Tendencia Bajista",
style=plot.style_linebr, linewidth=2, color=[Link])
sellSignal = trend == -1 and trend[1] == 1
plotshape(sellSignal ? dn : na, title="Se acerca tendencia bajista",
location=[Link], style=[Link], size=[Link], color=[Link],
transp=0)
plotshape(sellSignal and showsignals ? dn : na, title="Vender", text="Vender",
location=[Link], style=[Link], size=[Link], color=[Link],
textcolor=[Link], transp=0)
mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)
longFillColor = highlighting ? (trend == 1 ? [Link] : [Link]) :
[Link]
shortFillColor = highlighting ? (trend == -1 ? [Link] : [Link]) :
[Link]
fill(mPlot, upPlot, title="UpTrend Highligter", color=longFillColor)
fill(mPlot, dnPlot, title="DownTrend Highligter", color=shortFillColor)
alertcondition(buySignal, title="¡Compra!", message="¡Compra!")
alertcondition(sellSignal, title="¡Vende!", message="¡Vende!")
changeCond = trend != trend[1]
alertcondition(changeCond, title="Cambio de direccion", message="Cambio de
direccion")