Este Script originalmente fue elaborado por /@LuxAlgo al cual le he modificado y agregado algunos indicadores de mi preferencia
Este indicador contiene un generador de ORDER BLOCK tanto en short como en long, muestra el rango alto/bajo para cada OB, utiliza 5 períodos relevantes para identificar OB.
Tambien un Indicador de ayuda para la identificación de OB institucionales. A menudo, estos bloques señalan el comienzo de un movimiento fuerte, pero existe una alta probabilidad de que estos precios vuelvan en un momento posterior, y por lo tanto, son niveles interesantes para colocar órdenes limit. El OB alcista es la última vela descendente antes de una secuencia de velas ascendentes. El OB bajista es la última vela ascendente antes de una secuencia de velas descendentes. En la configuración se puede ajustar el número de velas secuenciales requeridas. Además, se puede ingresar un % de umbral que debe alcanzar el movimiento secuencial para validar un bloque de pedido relevante. Los canales para el último bloque alcista/bajista se pueden mostrar/ocultar.
Ademas se Presentan varias EMA, entre ellas la de 10, 21, 55, y 200 Periodos Tambien se encuentra el indicador Kaufman's Adaptive Moving Average, Las Bandas de BOLLINGER, señales de compra y venta de acuerdo a la estrategia de KONCORDE y de TRAIDINGLATINO, detector de Ballenas, Grafica de Divergencias, dos Perfiles de Volumen, El indicador TREND, VWAP, PARABOLIC SAR, ATR, MOD'S, POC, CRUCE EMA
no he podido publicar el scrip porque no tengo suscripsion de pago, voy a dejarles en los comentarios el codigo
evgghghhh
⋅
no me deja añadirlo
labrador1287
⋅
upcandles := upcandles + (close > open? 1 : 0) // Determinar el color de las velas posteriores (todas deben ser verdes para identificar un OB bajista válido)
OB_bull = bullishOB and (upcandles == (periods)) and relmove // Lógica de identificación (vela OB roja y velas verdes posteriores) OB_bull_high = OB_bull? usewicks? high[ob_period] : open[ob_period] : na // Determine el límite superior de OB (Abierto o Alto dependiendo de la entrada) OB_bull_low = OB_bull? low[ob_period] : na // Determinar el límite inferior de OB (bajo) OB_bull_avg = (OB_bull_high + OB_bull_low)/2 // Determinar la línea media OB
// Identificación de bloque de orden bajista
bearishOB = close[ob_period] > open[ob_period] // Determinar la vela OB bajista potencial (vela verde) int downcandles = 0 for i = 1 to periods downcandles := downcandles + (close < open? 1 : 0) // Determinar el color de las velas posteriores (todas deben ser rojas para identificar un OB bajista válido)
OB_bear = bearishOB and (downcandles == (periods)) and relmove // Lógica de identificación (vela OB verde y velas verdes posteriores)
OB_bear_high = OB_bear? high[ob_period] : na // Determinar el límite superior de OB (alto) OB_bear_low = OB_bear? usewicks? low[ob_period] : open[ob_period] : na // Determinar el límite inferior de OB (Abierto o Bajo dependiendo de la entrada) OB_bear_avg = (OB_bear_low + OB_bear_high)/2 // Determinar la línea media de OB
// Plotting // Indicador OB alcista plotshape(OB_bull, title="OB alcista", style = shape.triangleup, color = bullcolor, textcolor = bullcolor, size = size.tiny, location = location.belowbar, offset = -ob_period, text = "OB alcista") bull1 = plot(OB_bull_high, title="OB alcista alto", style = plot.style_linebr, color = bullcolor, offset = -ob_period, linewidth = 1) // Límite superior de OB alcista bull2 = plot(OB_bull_low, title="OB alcista bajo", style = plot.style_linebr, color = bullcolor, offset = -ob_period, linewidth = 1) // Límite inferior de OB alcista fill(bull1, bull2, color=bullcolor, transp = 0, title = "Relleno OB alcista") // Relleno OB alcista plotshape(OB_bull_avg, title="Promedio OB alcista", style = shape.cross, color = bullcolor, size = size.normal, location = location.absolute, offset = -ob_period) // Promedio OB alcista
showbull = (false) showbear = (false) // Mostrar rango alto/bajo para cada OB en lugar de abierto/bajo para alcista / abierto/alto para bajista usewicks = input(false, "Usar Todo el Rango [High/Low] para Marcar los OB?", group="----------------------------------ORDER BLOCK FIND--------------------------") colors = input(title = "Esquema de Color", defval="DARK", options=["DARK", "BRIGHT"], group="----------------------------------ORDER BLOCK FIND--------------------------") // Número requerido de velas subsiguientes en la misma dirección para identificar Order Block periods = input(5, "Períodos relevantes para identificar OB", group="----------------------------------ORDER BLOCK FIND--------------------------") // % de movimiento mínimo requerido (desde el cierre de OB potencial hasta la última vela subsiguiente para identificar el bloque de órdenes) threshold = input(0.0, "Min. % de movimiento para identificar OB", group="----------------------------------ORDER BLOCK FIND--------------------------", step = 0.1) ob_period = periods + 1 // Identifique la ubicación de la vela del bloque de pedido relevante absmove = ((abs(close[ob_period] - close[1]))/close[ob_period]) * 100 // Calcule el movimiento porcentual absoluto desde el OB potencial hasta la última vela de las velas posteriores relmove = absmove >= threshold // Identifique el 'movimiento relevante' comparando el movimiento absoluto con el umbral
// Esquema de Color bullcolor = colors == "DARK"? color.white : color.green bearcolor = colors == "DARK"? color.blue : color.red // Identificación de bloque de orden alcista
bullishOB = close[ob_period] < open[ob_period] // Determinar la vela OB alcista potencial (vela roja) int upcandles = 0 for i = 1 to periods