Este script colorea las velas, dibuja flechas de señales y muestra líneas de máximo/mínimo para ayudarte a decidir CALL o PUT.
Estrategia básica para operar (timeframe 1 minuto recomendado):
- Mira las flechas / formas principales:
- Flecha verde abajo o bandera “Bull UP” / “Bull Engulfing” → entra CALL (espera que suba el precio).
- Flecha amarilla/arriba o bandera “Bear DOWN” / “Bear Engulfing” → entra PUT (espera que baje el precio).
- Confirma con el color de la vela actual:
- Vela verde brillante → favorece CALL (tendencia alcista fuerte).
- Vela roja → favorece PUT (tendencia bajista fuerte).
- Vela negra → neutra, mejor esperar otra señal clara.
Opera solo cuando coincidan flecha + color de vela + toque de línea. Usa demo primero y arriesga máximo 1-2% por operación. Ningún indicador gana siempre.
instrument {
name = "Script Bullex Pro",
icon = "jpg",
overlay = true
}
input_group {
"Compra",
comprar_color = input {default = "#b811f0", type = input.color}
}
input_group {
"Contagem de FIBOS",
emaa_per = input {default = "15", type = input.string}
}
input_group {
"Precisao do Time: (1/10)",
doch_time = input {default = "10", type = input.string}
}
input_group {
"Mercado OTC",
time_otc = input {default = "nao", type = input.string}
}
input_group {
"Velas Volatil TimeFrame",
frame_otc = input {default = "m1", type = input.string}
}
input_group {
"Nivel de Precisao",
emab_per = input {default = "100", type = input.string}
}
input_group {
"MR",
emac_per = input {default = "5", type = input.string}
}
input_group {
"ML",
emad_per = input {default = "15", type = input.string}
}
input_group {
"Venda",
vender_color = input {default = "#fcf805", type = input.color}
}
input_group {
"Velas",
positivo = input { default = "#00ff55", type = input.color },
neutro = input { default = "#000000", type = input.color },
negativo = input { default = "#f70202", type = input.color },
}
--PARAMETROS
EMAA = ema(open, emaa_per)
EMAB = ema(open, emab_per)
EMAC = ema(ohlc4, emac_per)
EMAD = ema(ohlc4, emad_per)
timestamp = (sec)
--CALCULOS
TA = ((close > close[1]) and (close > EMAA) and (EMAA > EMAA[1]))
TB = ((close < close[1]) and (close < EMAA) and (EMAA < EMAA[1]))
TI = ((open < close[1]) and (open < EMAA) and (EMAD < 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
elseif (TI == true) then
bar_color = neutro
plot_shape(1,
'X',
shape_style.xcross,
shape_size.huge,
can_color,
shape_location.top,
0,
print ("Resp"),
"A"
)
else
bar_color = neutro
end
plot_candle (open, high, low, close, "ES", bar_color)
end
input_group {
"Compra - Cima",
call_color = input { default="#fcfc03", type = input.color }
}
input_group {
"Cancelado",
can_color = input { default="#f50000", type = input.color }
}
input_group {
"Venda - Baixo",
put_color = input { default="#fcfc03", type = input.color }
}
if ((close[1] < open[1]) and (close > open) and (close > high[1]) and close[2] >= open) then
plot_shape(1,
'Bull_Engulfing',
shape_style.flag,
shape_size.huge,
call_color,
shape_location.belowbar,
0,
"Analise",
print ("Analise"),
"A"
)
else
if ((close[1] > open[1]) and (close < open) and (close < low[1]) and close[2] <= open) then
plot_shape(1,
'Bear_Engulfing',
shape_style.flag,
shape_size.huge,
put_color,
shape_location.abovebar,
0,
"Analise",
print ("Analise"),
"A"
)
end
end
input_group {
"Cima",
call_color = input { default="#fcfc03", type = input.color }
}
input_group {
"Baixo",
put_color = input { default="#fcfc03", type = input.color }
}
if ((close > close[1]) and (close[1] > open[2]) and (close[3] > close[2])) then
plot_shape(1,
'Bull_UP',
shape_style.arrowup,
shape_size.huge,
call_color,
shape_location.belowbar,
0,
"Call - Pro",
"#ffffff"
)
else
if ((close < close[1]) and (close[1] < open[2]) and (close[3] < close[2])) then
plot_shape(1,
'Bear_DOWN',
shape_style.arrowdown,
shape_size.huge,
put_color,
shape_location.abovebar,
0,
"Put - Pro",
"#fcfc03"
)
end
end
input_group {
"Maxima",
level_1_color = input { default = "red", type = input.color },
level_1_width = input { default = 2, type = input.line_width }
}
input_group {
"Minima",
level_2_color = input { default = "green", type = input.color },
level_2_width = input { default = 2, type = input.line_width }
}
method_id = input (2, "Tipo", input.string_selection, { "M5" })
local resolution = "15m"
sec = security (current_ticker_id, resolution)
if sec then
local method = methods [method_id]
method (sec)
plot (c1, "C1", level_1_color, level_1_width, 0, style.levels, na_mode.continue)
plot (c2, "C2", level_2_color, level_2_width, 0, style.levels, na_mode.continue)
end
percentage = input (3, "Porcentagem", input.double, 0.01, 100, 1.0) / 100
period = 2
local reference = make_series ()
reference:set(nz(reference[1], high))
local is_direction_up = make_series ()
is_direction_up:set(nz(is_direction_up[1], true))
local htrack = make_series ()
local ltrack = make_series ()
local pivot = make_series ()
reverse_range = reference * percentage / 100
if get_value (is_direction_up) then
htrack:set (max(high, nz(htrack[1], high)))
if close < htrack[1] - reverse_range then
pivot:set (htrack)
is_direction_up:set (false)
reference:set(htrack)
end
else
ltrack:set (min(low, nz(ltrack[1], low)))
if close > ltrack[1] + reverse_range then
pivot:set (ltrack)
is_direction_up:set(true)
reference:set (ltrack)
end
end
color = is_direction_up() and up_color or down_color
plot(pivot, 'ZZ', color, width, -1, style.solid_line, na_mode.continue)