instrument {overlay = true,
name = 'SuperTrend @EfraimTraders',
overlay= true }
input_group {
"Periodo Max/Min",
doch_time = input {default = "30", type = input.string}
}
input_group {
"Periodo da Micro Tendencia",
emaa_per = input {default = "21", type = input.string}
}
input_group {
"Periodo da Macro Tendencia",
emab_per = input {default = "200", type = input.string}
}
input_group {
"Media Rapida",
emac_per = input {default = "7", type = input.string}
}
input_group {
"Media Lenta",
emad_per = input {default = "17", type = input.string}
}
input_group {
"Candles",
positivo = input { default = "#1aed02",type = input.color },
neutro = input { default = "white", type = input.color },
negativo = input { default = "#fa0b02", type = input.color },
}
--PARAMETROS
EMAA = ema(close,emaa_per)
EMAB = ema(close,emab_per)
EMAC = ema(hlc3,emac_per)
EMAD = ema(hlc3,emad_per)
upper = highest (high, doch_time)
lower = lowest (low, doch_time)
--CALCULOS
TA = ((close > close[1]) and (close > EMAA) and (EMAA > EMAA[1]))
TB = ((close < close[1]) and (close < EMAA) and (EMAA < EMAA[1]))
ENC = ((EMAC[1] < EMAD[1]) and (EMAC > EMAD))
ENV = ((EMAC[1] > EMAD[1]) and (EMAC < EMAD))
sec = security (current_ticker_id, "1m")
if sec then
local bar_color
if (TA == true) then
bar_color = positivo
elseif (TB == true) then
bar_color = negativo
else
bar_color = neutro
end
plot_candle (open, high, low, close, "ES", bar_color)
plot (upper, "Resistencia", upline_color)
plot (lower, "Suporte",lowline_color)
end
instrument {
name = 'SuperTrend @EfraimTraders',
short_name = 'SuperTrend @EfraimTraders',
icon = 'indicators:ADX',
overlay = true
}
MaFast_period = input(20,"Ma Fast period",input.integer,1,1000,1)
MaFast_average = input(2,"Ma Fast average", input.string_selection,averages.titles)
MaFast_title = input(1,"Ma Fast title", input.string_selection,inputs.titles)
MaSlow_period = input(8,"Ma Slow period",input.integer,1,1000,1)
MaSlow_average = input(2,"Ma Slow average", input.string_selection,averages.titles)
MaSlow_title = input(1,"Ma Slow title", input.string_selection,inputs.titles)
Signal_period = input(6,"Signal period",input.integer,1,1000,1)
MaTrend_period = input(200,"Ma Trend period",input.integer,1,1000,5)
MaTrend_average = input(2,"Ma Trend average",
input.string_selection,averages.titles)
MaTrend_title = input(1,"Ma Trend title", input.string_selection,inputs.titles)
input_group {
"Area Up and Down",
colorAreaUp = input { default = "rgba(220, 20, 60, 0.3)", type = input.color },
colorAreaDown = input { default = "rgba(34, 139, 34, 0.3)", type =
input.color },
visibleArea = input { default = true, type = input.plot_visibility }
}
input_group {
"Ma Fast Line",
colorFast = input { default = "#00fcdf", type = input.color },
widthFast = input { default = 1, type = input.line_width},
visibleFast = input { default = true, type = input.plot_visibility }
}
input_group {
"Ma Slow Line",
colorSlow = input { default = "#00fcdf", type = input.color },
widthSlow = input { default = 2, type = input.line_width},
visibleSlow = input { default = false, type = input.plot_visibility }
}
input_group {
"Buy Klen",
backgroundcolorbuy = input { default = "lime", type = input.color },
visibleBuy2 = input { default = true, type = input.plot_visibility }
}
input_group {
"Sell Klen",
backgroundcolorsell = input { default = "red", type = input.color },
visibleSell2 = input { default = true, type = input.plot_visibility }
}
local avgFast = averages[MaFast_average]
local titleFast = inputs[MaFast_title]
local avgSlow = averages[MaSlow_average]
local titleSlow = inputs[MaSlow_title]
local avgSignal = averages[Signal_period]
local avgTrend = averages[MaTrend_average]
local titleTrend = inputs[MaTrend_title]
if visibleFast == true then
plot(avgFast(titleFast,MaFast_period),"Ma Fast",colorFast,widthFast)
end
if visibleSlow == true then
plot(avgSlow(titleSlow,MaSlow_period),"Ma Slow",colorSlow,widthSlow)
end
if visibleTrend == true then
plot(avgTrend(titleTrend,MaTrend_period),"Ma Trend",colorTrend,widthTrend)
end
candle_time = {"1s", "5s", "10s", "15s", "30s", "1m", "2m", "5m", "10m", "15m",
"30m", "1H", "2H", "4H", "8H", "12H", "1D", "1W", "1M", "1Y"}
candle_time_res = input(6,"Candle check
resolution",input.string_selection,candle_time)
sec = security (current_ticker_id, candle_time[candle_time_res])
filter_source = {"1s", "5s", "10s", "15s", "30s", "1m", "2m", "5m", "10m", "15m",
"30m", "1H", "2H", "4H", "8H", "12H", "1D", "1W", "1M", "1Y"}
filter_pa_index = input(8,"Candle check
resolution",input.string_selection,filter_source)
filter_pa = security (current_ticker_id, filter_source[filter_pa_index])
--print(filter_source[filter_pa_index])
emaFast = avgFast(titleFast,MaFast_period)
emaSlow = avgSlow(titleSlow,MaSlow_period)
macd = emaFast - emaSlow
signal = avgSignal(macd,Signal_period)
--plot(macd,"macd", "Blue", 1)
--plot(signal,"signal", "Orange", 1)
histo = macd - signal
--rect {
--first = 0,
--second = histo,
--color = histo >= histo[1] and "LimeGreen" or "Orange",
--width = 0.5
--}
--hline(0,"Zero Macd", "rgba(255, 20, 147, 0.4)",1)
if (sec ~= nil) then
MaFast0 = avgFast(titleFast,MaFast_period) --Ma Fast bar 0
MaFast1 = MaFast0[1] --Ma Fast bar 1
MaSlow0 = avgSlow(titleSlow,MaSlow_period) --Ma Slow bar 0
MaSlow1 = MaSlow0[1]
MaTrend0 = avgTrend(titleTrend,MaTrend_period)
MaTrend1 = MaTrend0[1]
if(visibleBuy2 == true) then
--if(filter_pa.close[1] > filter_pa.open[1] and filter_pa.close[2] <
filter_pa.open[2] and filter_pa.close[1] > filter_pa.open[2] and filter_pa.open[1]
<= filter_pa.close[2] and abs(filter_pa.close[1]-filter_pa.open[1]) >
abs(filter_pa.close[2]-filter_pa.open[2]) ) then
plot_shape((open[3] < close[3] and open[2] < close[2] and open[1] >
close[1] and close[1] > open[2] and open[1] > open[2] and open < close),
"ACIMA",
shape_style.square,
shape_size.block,
backgroundcolorbuy,
shape_location.belowbar,
0,
"Compra Agora",
"#e9e9e7"
)
--end
end
if (visibleSell2 == true) then
--if(filter_pa.close[1] < filter_pa.open[1] and filter_pa.close[2] >
filter_pa.open[2] and filter_pa.close[1] < filter_pa.open[2] and filter_pa.open[1]
>= filter_pa.close[2] and abs(filter_pa.close[1]-filter_pa.open[1]) >
abs(filter_pa.close[2]-filter_pa.open[2]) ) then
plot_shape((open[3] > close[3] and open[2] > close[2] and open[1] <
close[1] and close[1] < open[2] and open[1] < open[2] and open > close),
"ABAIXO",
shape_style.square,
shape_size.block,
backgroundcolorsell,
shape_location.abovebar,
0,
"Venda Agora",
"#e9e9e7"
)
--end
end
if (visibleArea == true) then
fill(MaFast0,MaSlow0,"Area", MaFast0 > MaSlow0 and colorAreaUp or MaFast0 <
MaSlow0 and colorAreaDown )
end
end