¡Buenos días! Esta mañana mientras desayunaba he escuchado a un analista hablar del tiempo que el S&P 500 lleva cotizando por encima de la media de 200 sesiones, y he tenido la curiosidad de saber cuántas veces el S&P 500 ha estado tantos días consecutivos por encima de esta media. Por este motivo he decidido crear un indicador que os nos ayude en esta tarea, y el resultado es el que podéis ver en la imagen siguiente.
Este es el segundo periodo más largo de la historia de un S&P 500 cotizando por encima de la media de 200 sesiones. El récord histórico lo ostenta el rally vivido entre 1954 y 1956, cuando el S&P 500 permaneció 619 días consecutivos cotizando por encima de su media de 200 sesiones. Para convertirse en el mayor rally por encima de la MM200, el S&P 500 necesitará mantenerse así durante 182 jornadas más (aproximadamente 8 meses de negociación).
Os dejo a continuación el código del indicador para ProRealTime por si queréis curiosear un rato 😉
REM Ricardo González para los lectores de losmercadosfinancieros.es
// Contador días > 200 SMA
media = Average[200](close)
if low crosses over media then
count = 1
endifif low > media then
count = 1
else
count = -1
endifif count = -1 then
result =0
else
result = result[1] + count
endifcero = 0
return result as “Resultado”, cero as “cero”
¡Ya disponible la segunda edición!
“El código de Wall Street”.
El libro de Ricardo González
¡No te quedes sin él, pide tu ejemplar aquí!
Hola Ricardo, el código está dando error en la línea 3.
Cumprs
Buenos días Paulo.
Si lo copias directamente del blog a ProRealTime puede darte errores. Trata de pegar el código antes en el bloc de notas y de ahí ya lo pasas a ProRealTime.
Si no, trata de escribirlo directamente.
Hay veces que el copy/paste da error porque se copian símbolos “raros”.
Un saludo.
Hola Ricardo, el código está dando error en la línea 3 e 5.
Cumprs
He hecho lo que sugeris pero que todavía da error en la línea 3 está en la SMA y en la línea 5 está en el centro.
Trata de escribir a mano lo siguiente:
media = Average[200](close)
if low crosses over media then
count = 1
endif
if low > media then
count = 1
else
count = -1
endif
if count = -1 then
result =0
else
result = result[1] + count
endif
cero = 0
return result as “Resultado”, cero as “cero”
Puedo crear un indicador, pero luego se vuelve azul, pero no hay resultados ProScreener no puedo debido a volver.
Pero no te molesta más, las vacaciones son las vacaciones.
Hola Paulo.
No es un screener, es un indicador. Son cosas distintas. Probablemente por eso no te funcione. Miralo.
Un saludo!
Todo ordenado, gracias por escuchar.