Buenos días, deseo obtener el ProScreener del indicador Elliott Wave publicado recientemente por Iván, en concreto deseo que me avise cuando llega a la línea azul o de entrada, gracias de antemano.
//-------------------------------------------
// Screener: Elliott Wave - Impulse v2 (Optimizado)
// 26.02.2026
// Iván González @ www.prorealcode.com
//-------------------------------------------
// --- Inputs ---
zigzagLength = 10
errorPercent = 5
entryPercent = 30
// --- Constants ---
errMin = (100 - errorPercent) / 100
errMax = (100 + errorPercent) / 100
entryRatio = entryPercent / 100
// ==============================================
// DETECCION DE PIVOTS (HighestBars/LowestBars)
// ==============================================
IF barindex >= zigzagLength THEN
hb = highestbars[zigzagLength](high)
lb = lowestbars[zigzagLength](low)
IF hb = 0 AND lb <> 0 THEN
phigh = high
plow = 0
dir = 1
ELSIF lb = 0 AND hb <> 0 THEN
phigh = 0
plow = low
dir = -1
ELSIF hb = 0 AND lb = 0 THEN
phigh = high
plow = low
dir = prevDir
ELSE
phigh = 0
plow = 0
dir = prevDir
ENDIF
hasPivot = 0
IF phigh <> 0 OR plow <> 0 THEN
hasPivot = 1
ENDIF
IF hasPivot THEN
IF dir = 1 THEN
newVal = high
ELSE
newVal = low
ENDIF
newPDir = dir
dirChanged = 0
IF dir <> prevDir AND prevDir <> 0 THEN
dirChanged = 1
ENDIF
// --- MISMA DIRECCION ---
IF dirChanged = 0 AND pCount >= 1 THEN
IF dir = 1 THEN
IF newVal < pvt0 THEN
newVal = pvt0
ENDIF
ELSE
IF newVal > pvt0 THEN
newVal = pvt0
ENDIF
ENDIF
IF pCount >= 3 THEN
IF dir = 1 AND newVal > pvt2 THEN
newPDir = 2
ELSIF dir = -1 AND newVal < pvt2 THEN
newPDir = -2
ENDIF
ENDIF
pvt0 = newVal
pd0 = newPDir
ELSE
// --- CAMBIO DE DIRECCION: shift FIFO e insertar ---
IF pCount >= 2 THEN
IF dir = 1 AND newVal > pvt1 THEN
newPDir = 2
ELSIF dir = -1 AND newVal < pvt1 THEN
newPDir = -2
ENDIF
ENDIF
pvt3 = pvt2
pvt2 = pvt1
pd2 = pd1
pvt1 = pvt0
pd1 = pd0
pvt0 = newVal
pd0 = newPDir
IF pCount < 6 THEN
pCount = pCount + 1
ENDIF
ENDIF
prevDir = dir
ENDIF
// ==============================================
// DETECCION DE ONDA IMPULSO
// ==============================================
IF pCount >= 4 THEN
p2 = pvt1
p2dir = pd1
p1 = pvt2
p1dir = pd2
p0 = pvt3
w1Len = abs(p1 - p0)
w2Len = abs(p2 - p1)
IF w1Len > 0 THEN
ir2 = w2Len / w1Len
ELSE
ir2 = 0
ENDIF
ignore = 0
IF oldP0 = p0 AND oldP1 = p1 AND oldP2 = p2 THEN
ignore = 1
ENDIF
patternMatched = 0
IF ir2 > 0.50 * errMin AND ir2 < 0.50 * errMax THEN
patternMatched = 1
ENDIF
IF ir2 > 0.618 * errMin AND ir2 < 0.618 * errMax THEN
patternMatched = 1
ENDIF
IF ir2 > 0.764 * errMin AND ir2 < 0.764 * errMax THEN
patternMatched = 1
ENDIF
IF ir2 > 0.854 * errMin AND ir2 < 0.854 * errMax THEN
patternMatched = 1
ENDIF
dirMatched = 0
IF (p1dir = 2 AND p2dir = -1) OR (p1dir = -2 AND p2dir = 1) THEN
dirMatched = 1
ENDIF
IF ignore = 0 AND patternMatched = 1 AND dirMatched = 1 THEN
IF p0 > p1 THEN
wDirection = -1
ELSE
wDirection = 1
ENDIF
wEntry = p2 + wDirection * entryRatio * w2Len
oldP0 = p0
oldP1 = p1
oldP2 = p2
waveEver = 1
ENDIF
ENDIF
ENDIF
// ==============================================
// CONDICION DE ALERTA (CRUCE CON LINEA DE ENTRADA)
// ==============================================
condBull = 0
condBear = 0
IF waveEver = 1 THEN
IF wDirection = 1 AND close CROSSES OVER wEntry THEN
condBull = 1
ELSIF wDirection = -1 AND close CROSSES UNDER wEntry THEN
condBear = 1
ENDIF
ENDIF
SCREENER[condBull OR condBear] (wDirection AS "1=Alcista, -1=Bajista")
Buenos días, muchas gracias por el ProScreener Iván, pero hay algo que no me gusta, y es que me avisa una y otra vez cuando el precio cruza la línea azul, aunque ya este invalidado el tema del impulso de la onda, ya que esta línea está dibujada y no se borra hasta que aparezca otro nuevo impulso, por ello te pido algo para que solo avise cuando cruce una primera vez o en su caso para que avise solo cuando se forme las dos primeras ondas, ya que es el primer paso antes de cruzar la línea, gracias y un saludo.
Hola, escribo de nuevo en el foro la misma consulta y no es mi intención hacer duplicados (perdón por ello) pero desde que hicieron la web distinta no me aclaro con donde se pone según sea la consulta pido disculpas de nuevo por mi ignorancia, a lo que voy mi consulta es por el indicador que puso Iván el viernes pasado impulse Elliot Wave, pedí un Screener pero no me ayuda debido a que el precio puede cruzar una y otra vez la línea azul y avisarme, pero a mí solo me vale la primera vez que lo cruza, por eso pido que en vez de avisarme en el cruce, lo haga cuando aparecen las dos ondas de impulso, que es justo antes de que se haga el cruce, así ya no me tiene que salir una y otra vez el cruce de línea azul, gracias.
En cuanto a lo de duplicado de mensajes, es que no lo entiendo, lo acabo de escribir abajo, donde pone foro de ProScreener, y cuando me salgo veo que el mensaje está aquí arriba, en otro lugar al de donde lo escribí, por eso el lio que tengo con lo de donde escribir, lo siento…
Para preguntas sobre SCREENERS, debe seleccionar el foro de soporte de PROSCREENER en su idioma preferido.
Ninguno de los dos temas estaba en el foro correcto.
Los trasladé a ProScreener (buscadores) y los fusioné para tener un solo lugar común.
ya, por eso lo del lío que tengo, escribí aquí y aparece en otro lugar, saludos.