En el proscreener que he creado, quiero que en el diario, si las ultimas 5 velas son rojas, entonces que no salgan en el proscreener.
En el semanal pensaba que lo tenia hecho y funcionaba, pero tal vez, no este bien, porque si lo copio en la parte del diario, no funciona.
La variable es en semanal: velasRojas5ConsecutivasS
Y en diario: velasRojas5ConsecutivasD
//SEMANAL
TIMEFRAME(weekly)
patronW=0
m1=0
m2=0
posicionMaxRev1=0
//OBTENEMOS LOS MAXIMOS RELEVANTES
for i=3 to barindex
Esmaximorelevante = (high[i]>=high[i-3]) AND (high[i]>=high[i-2]) AND (high[i]>=high[i-1]) AND (high[i]>=high[i+1]) AND (high[i]>=high[i+2]) AND (high[i]>=high[i+3])
if Esmaximorelevante=1 then
if m1=0 then
m1=high[i]
posicionMaxRev1=i
else
m2=high[i]
break
endif
endif
next
//NO QUEREMOS 5 VELAS ROJAS CONSECUTIVAS
velasRojas5ConsecutivasS=0
for a=0 to 4
if close[a] > open[a] then
velasRojas5ConsecutivasS=1
break
endif
next
//MAXIMOS RELEVANTES DESCENDENTES
patronW = (m1<m2 and velasRojas5ConsecutivasS) //tendencia bajista
//MIRO QUE NO HAYA NINGUN CIERRE POR ARRIBA DESDE HOY HASTA EL MAXIMO RELEVANTE
for j=0 to posicionMaxRev1
if close[j] > m1 then
patronW=0
break
endif
next
//DIARIO
TIMEFRAME(daily)
patronD=0
if patronW then
avgv20 = average[20](volume)
avgv50 = average[50](volume)
avgv100 = average[100](volume)
avgv200 = average[200](volume)
minimoVolumen = avgv20>VolumenK*1000 and avgv50>VolumenK*1000 and avgv100>VolumenK*1000 and avgv200>VolumenK*1000
if minimoVolumen=1 then
m1=0
m2=0
posicionMaxRev1D=0
maximosRelevantesSuperiorM20=0
//OBTENEMOS LOS MAXIMOS RELEVANTES Y COMPROBAMOS SI ESTAN POR ENCIMA DE LA M20
for i=3 to barindex
Esmaximorelevante = (high[i]>=high[i-3]) AND (high[i]>=high[i-2]) AND (high[i]>=high[i-1]) AND (high[i]>=high[i+1]) AND (high[i]>=high[i+2]) AND (high[i]>=high[i+3])
if Esmaximorelevante=1 then
if m1=0 then
m1=high[i]
posicionMaxRev1D=i
maximosRelevantesSuperiorM20 = close[i] > average[20][i]
else
m2=high[i]
break
endif
endif
next
//NO QUEREMOS 5 VELAS ROJAS CONSECUTIVAS
velasRojas5ConsecutivasD=0
for a=0 to 4
if close[a] > open[a] then
velasRojas5ConsecutivasD=1
break
endif
next
//QUEREMOS QUE LOS MAXIMOS RELEVANTES SEAN DECRECIENTES ADEMAS DE QUE ESTE POR DEBAJO DE LA M20
patronD = (m1<m2 and maximosRelevantesSuperiorM20=0 and velasRojas5ConsecutivasD)
//SI HAY CIERRE POR DEBAJO DE LOS 2 ANTERIORES MINIMOS RELEVANTES, ENTONCES YA ESTAMOS EN ETAPA 4
min1=0
min2=0
minRelevante=0
posicionMinRelevante1=0
posicionMinRelevante2=0
for i=3 to barindex
Esmimimorelevante = (low[i]<=low[i-3]) AND (low[i]<=low[i-2]) AND (low[i]<=low[i-1]) AND (low[i]<=low[i+1]) AND (low[i]<=low[i+2]) AND (low[i]<=low[i+3])
if Esmimimorelevante=1 then
if min1=0 then
min1=low[i]
minRelevante=min1
posicionMinRelevante1=i
else
min2=low[i]
posicionMinRelevante2=i
break
endif
endif
next
if(min2<min1)then
minRelevante=min2
posicionMinRelevante1=posicionMinRelevante2
endif
for k=0 to posicionMinRelevante1
if close[k] < minRelevante then
patronD=1
break
endif
next
//MIRO QUE NO HAYA NINGUN CIERRE POR ARRIBA DESDE HOY HASTA EL MAXIMO RELEVANTE
for j=0 to posicionMaxRev1D
if close[j] > m1 then
patronD=0
break
endif
next
endif //volumen
if patronD then
TIMEFRAME(1hour)
patron=0
//v1.3 solo comprobamos el patron si cumple el volumen
avgv20 = average[20](volume)
avgv50 = average[50](volume)
avgv100 = average[100](volume)
avgv200 = average[200](volume)
minimoVolumen = avgv20>VolumenK*100 and avgv50>VolumenK*100 and avgv100>VolumenK*100 and avgv200>VolumenK*100
mm20h = average[20](close)
if(mm20h<mm20h[1] and mm20h[1]<mm20h[2] and mm20h[2]<mm20h[3])then
cM20dNegativa=1
else
cM20dNegativa=0
endif
if minimoVolumen=1 and cM20dNegativa=1 then
m1=0
m2=0
for i=3 to barindex
Esmimimorelevante = (low[i]<=low[i-3]) AND (low[i]<=low[i-2]) AND (low[i]<=low[i-1]) AND (low[i]<=low[i+1]) AND (low[i]<=low[i+2]) AND (low[i]<=low[i+3])
if Esmimimorelevante=1 then
if m1=0 then
m1=low[i]
else
m2=low[i]
break
endif
endif
next
patron = (m1<m2) //tendencia bajista
if patron then
//v1.5 modificamos la verificacion de tendencia alcista, comprobamos 2 ultimos maximos crecientes
m1=0
m2=0
for i=3 to barindex
Esmaximorelevante = (high[i]>=high[i-3]) AND (high[i]>=high[i-2]) AND (high[i]>=high[i-1]) AND (high[i]>=high[i+1]) AND (high[i]>=high[i+2]) AND (high[i]>=high[i+3])
if Esmaximorelevante=1 then
if m1=0 then
m1=high[i]
else
m2=high[i]
break
endif
endif
next
patron = ( m1<m2 ) //tendencia bajista
endif
endif
endif
endif
// Este código se relaciona con la siguiente unidad de tiempo:DEFAULT
screener[patron=1 and patronD=1 and patronW=1]
¡Hola!
En diaro, en lugar de lineas 67-73, podemos probar de esta manera?
velasRojas5ConsecutivasD = (summation[5](open>close) < 5)