ProScreener de dos indicadores
Forums › ProRealTime foro Español › Soporte ProScreener › ProScreener de dos indicadores
- This topic has 4 replies, 2 voices, and was last updated 2 days ago by
NicoGB67.
-
-
11/26/2025 at 8:53 PM #254001
Buenas, no sé si se podrá hacer el ProScreener que me gustaría tener, para mí sería lo que ando buscando desde hace tiempo y es obtener información valiosa de dos de mis indicadores favoritos en tiempo real, se trata del Smart Money Concepts y del ZigZag SR, ambos subidos por Iván; tengo el ProScrrener de ambos que generosamente Iván me hizo, pero lo que busco es algo conjunto de ambos y no sé como hacerlo; se trata de que me avise cuando tras un CHoCH o un BOS alcista se crea una onda impulsiva (LH), y que cuando el CHoCH o BOS sea bajista la onda sea correctiva (HL) ;no sé si me explico bien, quiero que cuando se dé en tiempo real un LH antes se haya producido un CHoCH o BOS alcista y al contrario con del bajista, los ProScreener que Iván hizo lo dejo abajo:
//——————————————————————————–//
//Screener_Smart Money Concepts
//version = 1
//29.07.2024
//Iván González @ http://www.prorealcode.com
//Sharing ProRealTime knowledge
//——————————————————————————–//
//—–Inputs———————————————————————//
length=15showbull=3//1=all 2=bos 3=CHoCH
showbear=3//1=all 2=bos 3=CHoCH//——————————————————————————–//
//—–Swings———————————————————————//
//—Swing length
os=0
upper=highest[length](high)
lower=lowest[length](low)if high[length]>upper then
os=0
elsif low[length]<lower then
os=1
else
os=os[1]
endifif os=0 and os[1]<>0 then
mytop=high[length]
else
mytop=0
endifif os=1 and os[1]<>1 then
mybot=low[length]
else
mybot=0
endif
//——————————————————————————–//
//—–Pivot High—————————————————————–//
if mytop then
topcross=1
topy=mytop
endif
//——————————————————————————–//
//—–Pivot Low——————————————————————//
if mybot then
botcross=1
boty=mybot
endif
//Detect bullish Structure
signalLong=0
if close crosses over topy and topcross then
choch=undefined
if trend<0 then
choch=1
endifif showbull=1 or (showbull=2 and not choch) or (showbull=3 and choch) then
signalLong=1
endiftopcross=0
trend=1
endif//Detect Bullish Strcuture
signalshort=0
if close crosses under boty and botcross then
choch=undefined
if trend>0 then
choch=1
endifif showbear=1 or (showbear=2 and not choch) or (showbear=3 and choch) then
signalshort=1
endifbotcross=0
trend=-1
endifscreener[signalLong or signalShort](signalLong as “long”,signalShort as “short”)
//————————————//
// Inputs
//————————————//
prd=15
//atr=averagetruerange[14](close)
//————————————//
// Calculate Pivot High and Low
//————————————//
ph = high=highest[prd](high)
pl = low=lowest[prd](low)
//————————————//
// Calculate Direction
//————————————//
if ph and pl=0 then
dir=1
elsif pl and ph=0 then
dir=-1
else
dir=dir
endif
dirchanged=dir<>dir[1]
//————————————//
// Calculate ZizZag levels and x
//————————————//
if ph or pl then
if dirchanged then
if dir=1 then
$zigzag[t+1]=highest[prd](high)
$zigzagidx[t+1]=barindex
$dir[t+1]=1
t=t+1
elsif dir=-1 then
$zigzag[t+1]=lowest[prd](low)
$zigzagidx[t+1]=barindex
$dir[t+1]=-1
t=t+1
endif
else
if dir=1 and highest[prd](high)> $zigzag[t] then
$zigzag[t]=highest[prd](high)
$zigzagidx[t]=barindex
elsif dir=-1 and lowest[prd](low)< $zigzag[t] then
$zigzag[t]=lowest[prd](low)
$zigzagidx[t]=barindex
endif
endif
endif
//————————————//
// Draw ZigZag and Levels
//————————————//if islastbarupdate then
if $dir[t]=1 then
if $zigzag[t]<$zigzag[t-2] then
type=12 //IMPULSIVA
else
type=11 //ALTO
endif
elsif $dir[t]=-1 then
if $zigzag[t]<$zigzag[t-2] then
type=22 //BAJO
else
type=21 // CORRECTIVA
endif
endifendif
//————————————//
screener[dirchanged](type as “Tipo”)11/27/2025 at 9:36 AM #254003Aquí tienes.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147// -------------------------------------------------------------------------// ProScreener: SMC + ZigZag Combinado// Propósito: Detectar LH en estructura Alcista y HL en estructura Bajista// -------------------------------------------------------------------------// CONFIGURACIÓNprd = 10 // Periodo común para ambos indicadores// -------------------------------------------------------------------------// LÓGICA 1: SMART MONEY CONCEPTS (DETERMINACIÓN DE TENDENCIA)// -------------------------------------------------------------------------// Variables de estado para SMCONCE os = 0ONCE mytop = 0ONCE mybot = 0ONCE topcross = 0ONCE botcross = 0ONCE smcTrend = 0 // 1 = Alcista, -1 = Bajista// Cálculo de Swingsupper = highest[prd](high)lower = lowest[prd](low)IF high[prd] > upper THENos = 0ELSIF low[prd] < lower THENos = 1ELSEos = os[1]ENDIFIF os = 0 AND os[1] <> 0 THENmytop = high[prd]ENDIFIF os = 1 AND os[1] <> 1 THENmybot = low[prd]ENDIF// Gestión de Pivotes SMCIF mytop > 0 THENtopcross = 1topy = mytopENDIFIF mybot > 0 THENbotcross = 1boty = mybotENDIF// Determinación de Estructura (BOS/CHoCH)// Actualizamos la variable 'smcTrend' que usaremos como filtroIF close CROSSES OVER topy AND topcross = 1 THENsmcTrend = 1topcross = 0ENDIFIF close CROSSES UNDER boty AND botcross = 1 THENsmcTrend = -1botcross = 0ENDIF// -------------------------------------------------------------------------// LÓGICA 2: ZIGZAG SR (DETECCIÓN DE ONDAS)// -------------------------------------------------------------------------// Cálculo de Pivotes ZigZagph = 0pl = 0IF high = highest[prd](high) THENph = 1ENDIFIF low = lowest[prd](low) THENpl = 1ENDIF// Cálculo de DirecciónONCE dir = 0IF ph = 1 AND pl = 0 THENdir = 1ELSIF pl = 1 AND ph = 0 THENdir = -1ELSEdir = dir // Mantiene dirección previaENDIFdirchanged = (dir <> dir[1])// Lógica de Arrays y Detección de Patronessenal = 0IF ph = 1 OR pl = 1 THENIF dirchanged THEN// Se ha confirmado un nuevo tramoIF dir = 1 THEN// Nuevo Pico Detectadopivothigh3=pivothigh2pivothigh2=pivothigh1pivothigh1 = highest[prd](high)// CONDICIÓN DE COMPRA: Estructura Alcista (SMC) + Onda LH (ZigZag)// LH (Lower High) = Pico actual menor que el pico anterior (t-2)IF smcTrend = 1 AND pivothigh1 < pivothigh3 THENsenal = 1 // Señal AlcistaENDIFELSIF dir = -1 THEN// Nuevo Valle Detectadopivotlow3=pivotlow2pivotlow2=pivotlow1pivotlow1 = lowest[prd](low)// CONDICIÓN DE VENTA: Estructura Bajista (SMC) + Onda HL (Higher Low)// HL (Higher Low) = Valle actual mayor que el valle anterior (t-2)IF smcTrend = -1 AND pivotlow1 > pivotlow3 THENsenal = 2 // Señal BajistaENDIFENDIFELSE// Actualización del tramo actual (si el precio sigue extendiendo el movimiento)IF dir = 1 AND highest[prd](high) > pivothigh1 THENpivothigh1 = highest[prd](high)ELSIF dir = -1 AND lowest[prd](low) < pivotlow1 THENpivotlow1 = lowest[prd](low)ENDIFENDIFENDIF// ----------------------------------------------// SCREENER// ----------------------------------------------SCREENER[senal > 0](senal AS "Senal")11/27/2025 at 9:39 AM #254004Buenos días, quería hacer un inciso sobre mi petición; me he dado cuenta mirando en tiempo real el gráfico que cuando se está formando una línea zig zag por ejemplo LH a la que yo renombro “Onda Impulsiva”, esta no se queda con el LH fijado hasta que no comienza otro cambio de línea zig zag contraria y es etiquetada con un HL, porque mientras no se dé dicho HL, el zig zag podría seguir bajando y pasar de LH (onda Impulsiva) a LL (Bajo o suelo); (no sé si me explico bien), por lo que mi petición sería que se diera un LH (Onda Impulsiva) una vez fijado tras una cambio de zig zag con el HL, ya que mientras no salga dicho HL se puede dar la vuelta y no llegar a ser LH fijo.
pd.- no veas el rollo que he escrito, me temo no me entiendan.
11/27/2025 at 12:35 PM #254005Hola Iván, muchas gracias por tu trabajo y responder con tanta rapidez, pero creo que algo no va bien, al menos he puesto en mi gráfico el ProScreener que me has puesto y no me sale ningún aviso, en cambio busco algunos valores y si que se está produciendo lo que yo pedía, no sé si puedo enviar un archivo con el gráfico para que puedas ver lo que digo; ahora mismo tengo por ejemplo la empresa ELECNOR dónde el 7 de Octubre se creo un BOS, el pasado 21 de Noviembre se ha creado un LH ya que hoy mismo el zig zag que sube, ha pintado un HL confirmando dicho HL. No sé si el ProScreener que has hecho es de alguna manera diferente y crea una alerta que puede que sea incluso mejor, no lo sé porque aún no me llego la posibilidad de comprobarlo hasta que veo algún aviso, saludos.
11/27/2025 at 5:09 PM #254009Hola de nuevo Iván, pues he estado casi toda la mañana comprobando como evolucionaba el ProScreener en 1 min. EUR/USD (lo puse en esa temporalidad para tener más señales) y falla, no me avisa cuando espero que me avise, y cuando alguna vez avisa lo hace en algo que no le pido como al darse un HH, además cuando sale el mensaje, este dura segundos, por lo cual si voy al aseo por ejemplo, al llegar no me entero de si pasó algo, te agradezco todo tu esfuerzo pero puede que mi solicitud entiendo sea complicado de llevar a buen puerto.
-
AuthorPosts
Find exclusive trading pro-tools on 