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=15
showbull=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]
endif
if os=0 and os[1]<>0 then
mytop=high[length]
else
mytop=0
endif
if 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
endif
if showbull=1 or (showbull=2 and not choch) or (showbull=3 and choch) then
signalLong=1
endif
topcross=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
endif
if showbear=1 or (showbear=2 and not choch) or (showbear=3 and choch) then
signalshort=1
endif
botcross=0
trend=-1
endif
screener[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
endif
endif
//————————————//
screener[dirchanged](type as “Tipo”)