Script BO Indicator


Este script genera señales claras con triángulos grandes: verde para compra y rojo para venta, combinando Bollinger Bands, RSI y CCI para filtrar entradas fuertes.

Estrategia básica para operar (timeframe 1 minuto recomendado):

  1. Espera las señales principales:
    • Triángulo verde grande abajo (“BUY” o “long”) → entra CALL (espera que suba el precio).
    • Triángulo rojo grande arriba (“SELL” o “short”) → entra PUT (espera que baje el precio).
  2. Confirma la condición del mercado:
    • Para CALL: la señal verde aparece cuando el precio está sobrevendido (RSI bajo, CCI bajo, Bollinger bajo) y hay cruce alcista en EMAs.
    • Para PUT: la señal roja aparece cuando el precio está sobrecomprado (RSI alto, CCI alto, Bollinger alto) y hay cruce bajista en EMAs.
  3. Filtra con las bandas y niveles:
    • CALL: precio cerca o tocando la banda inferior de Bollinger + señal verde.
    • PUT: precio cerca o tocando la banda superior de Bollinger + señal roja.
    • Evita señales si el mercado está plano (sin volatilidad).

Solo opera cuando la señal coincida con toque de banda y niveles extremos de RSI/CCI. Prueba primero en demo y usa máximo 1-2% de riesgo por operación. Ningún indicador gana siempre.

instrument { 
    name = "BO indicator", 
    overlay = true, 
    icon = "indicators:BB" 
}

period = input (20, "front.period", input.integer, 1)
devs   = input (1, "front.newind.stddev", input.integer, 1)

overbought = input (1, "front.overbought", input.double, -2, 2, 0.1, false)
oversold   = input (0, "front.oversold", input.double, -2, 2, 0.1, false)

source = input (1, "front.ind.source", input.string_selection, inputs.titles)
fn     = input (1, "front.newind.average", input.string_selection, averages.titles)

input_group {
    "RSI",
    period1 = input (7, "front.period", input.integer, 1),
    source1 = input (1, "front.ind.source", input.string_selection, inputs.titles),
    fn1     = input (averages.ssma, "front.newind.average", input.string_selection, averages.titles),
    
    color   = input { default = "#B42EFF", type = input.color },
    width   = input { default = 1, type = input.line_width }
}

-- CONFIGURACIÓN DE FUNCIONES Y SERIES
local sourceSeries    = inputs [source]
local averageFunction = averages [fn]
local sourceSeries1   = inputs [source1]
local averageFunction1 = averages [fn1]

-- NIVELES
CCIupLevel = 100
CCIdnLevel = -100

BBupLevel = 1
BBdnLevel = 0

RSIupLevel = 70
RSIdnLevel = 30

-- CÁLCULOS BOLLINGER
middle     = averageFunction (sourceSeries, period)
scaled_dev = devs * stdev (sourceSeries, period)

top    = middle + scaled_dev
bottom = middle - scaled_dev

bbr = (sourceSeries - bottom) / (top - bottom)

-- CÁLCULOS RSI 1
delta = sourceSeries1 - sourceSeries1 [1]

up1   = averageFunction (max (delta, 0), period)
down1 = averageFunction (max (-delta, 0), period)

rs  = up1 / down1
rsi = 100 - 100 / (1 + rs)

-- CÁLCULOS RSI 2 (Calculado con RMA)
src = close
len = 7
RSIupLevel = 70
RSIdnLevel = 30
up   = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)

rsi1 = iff(down == 0, 100, iff(up == 0, 0, 100 - (100 / (1 + up / down))))

-- MEDIAS MÓVILES
MAfast = 9
MAslow = 21
short  = ema(close, MAfast)
long   = ema(close, MAslow)

-- CÁLCULOS CCI
period_cci = 20
nom   = hlc3 - sma (hlc3, period_cci)
denom = mad (hlc3, period_cci) * 0.015

cci = nom / denom

-- CONDICIONES DE ENTRADA
pu = (cci > CCIupLevel) and (rsi > RSIupLevel) and (bbr > BBupLevel) and (open[1] > short[1] and close[1] > short[1])
pd = (cci < CCIdnLevel) and (rsi < RSIdnLevel) and (bbr < BBdnLevel) and (open[1] < short[1] and close[1] < short[1]) 

-- PLOTEO DE SEÑALES
plot_shape(pd, "short", shape_style.triangledown, shape_size.large, 'red',   shape_location.abovebar, 0, 'SELL', 'red')
plot_shape(pu, "long",  shape_style.triangleup,   shape_size.large, 'green', shape_location.belowbar, 0, 'BUY',  'green')

print(pu)

Software Bypass
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognizing you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

You can adjust all of your cookie settings by navigating the tabs on the left hand side.

Share to...