Hola, buenas tardes-noches. Hoy cuelgo un nuevo vídeo de formación sobre PRT – ProRealTime con el primer vídeo de la segunda serie de screeners.
Como muchos me habéis ido pidiendo sobre cómo empezar de cero y poco a poco en bolsa, el vídeo de hoy se enmarca dentro de la serie que comencé hace un par de meses para configurar la plantilla y hacer búsquedas profesionales de buenos valores.
Gracias por esos «me gusta» que me ayudan a difundir este trabajo:
Todo sobre screeners en PRT – ProRealTime:
¿Qué son?
¿Para qué sirven?
¿Cómo se configuran?
Y otros detalles a tener en cuenta para buscadores. Hoy especialmente giro de mm30 a la baja y al alza.
Más info en mis libros de bolsa, mi blog de accionesdebolsa.com y en mi Twitter.
www.accionesdebolsa.com-libros-y-referen
VÍDEOS SOBRE PRT: LOS 10 CAPÍTULOS DE MI CANAL JALFAYATE
Código Alza MM30:
—————-
rem Valores con cruce alcista de la mm30
rem y por encima de esa media
rem versión YouTube abril 2013
MM30=WeightedAverage[30](close)
rem c1 es igual a 1 cuando hay un cruce de la mm30
rem al alza
c1=0
rem c2 es igual a 1 si cierre esta por encima
rem de la mm30
c2=0
if close>mm30 then
c2=1
endif
if (mm30[2]>mm30[1] and mm30>mm30[1])then
c1=1
endif
SCREENER [c2>0 and c1>0 ] (c1 AS «C1»)
Código Baja MM30:
—————-
rem Valores con cruce bajista de la mm30
rem y por debajo de esa media
rem versión YouTube abril 2013
MM30=WeightedAverage[30](close)
rem c1 es igual a 1 cuando hay un cruce de la mm30
rem a la baja
c1=0
rem c2 es igual a 1 si cierre esta por encima
rem de la mm30
c2=0
if close c2=1
endif
if (mm30[2]<mm30[1] and mm30<mm30[1])then c1=1 endif SCREENER [c2>0 and c1>0 ] (c1 AS «C1»)
SCREENER [c2>0 and c1>0] (c1 AS «C1»)
Magnifico video y lección.
Una pregunta: Un forma de optimizar el código sería meter en segundo if (donde se establece c1) ¿ dentro del primer if ?
Así:
if close>mm30 then
c2=1
if (mm30[2]>mm30[1] and mm30>mm30[1])then
c1=1
endif
endif
Y de camino ya no sería necesaria c2.
¿ que te parece ?
Hola Javier e estatado intentando validar los screener que nos enseñastes en el video de la mm30 al alza y a la baja y solo consigo validar el de al alza el de a la baja me pone error de sintaxis linea 4, columna 8 encountered»»<""<"" at poniendo el codigo que pones en el video muchas gracias
Yo creo que el Cruce Bajista quedaría así:
rem Valores con cruce bajista de la mm30
rem y por debajo de esa media
rem versión YouTube abril 2013
MM30=WeightedAverage[30](close)
rem c1 es igual a 1 cuando hay un cruce de la mm30
rem a la baja
c1=0
rem c2 es igual a 1 si cierre esta por debajo
rem de la mm30
c2=0
if close<mm30 then
c2=1
endif
if (mm30[2]<mm30[1] and mm300 and c1>0] (c1 AS «C1»)
Antes me lo ha pegado mal:
if close<mm30 then
c2=1
endif
if (mm30[2]<mm30[1] and mm300 and c1>0] (c1 AS «C1»)
Me lo ha vuelto a pegar mal, no sé lo que pasa, lo siento no hagais caso a mis mensajes porque lo enredan más.
Pero si lo vais razonando con el esquema que ha puesto Javier de la (V) en el cruce Alcista, en el cruce bajista sería una (V invertida, como una montañita). En fin suerte y perdón si lo he liado más.
Está escrito en el vídeo. Se ve el código bien, si no copia y pega bien, desde el vídeo se puede ir paso por paso. Lo único es que hay que dedicarle algo más de tiempo.
Hola a todos, voy mirandome cosas de este mundillo por internet, por cierto Javier gracias por compartir tus conocimientos, y un dia encontre un screener para el cruce de medias. No sería mas sencillo esta programación?
indicator1 = close (sería el precio)
indicator2 = WeightedAverage[30]close
c1 = (indicator1 CROSSES OVER indicator2) (cruza por encima)
screener[c1]
A lo mejor me dejo algo..
Gracias
Para Darzamat:
No es el cruce de la media mm30 sobre el precio lo que buscamos, sino que su pendiente pase de bajista a alcista o viceversa además de un precio que esté por encima o por debajo según el caso. Por tanto el código que pones ahí no hace lo que se cuenta en el video. Un saludo y gracias por tu aportación.
hola Javier,
Al copiar y pegar el código alza MM30, me da error en la ultima línea,carácter no autorizado línea 23 colunna 34.¿dónde está el error?
Muchas gracias.
Quizás se copió mal un caracter o quizás algún espacio que se ha comido. Verifícalo.
Lo he borrado y lo he vuelto a copiar,lo he verificado y me sale el mismo error.
Problema resuelto,cambiando las últimas comillas lo he solucionado.
Muchas gracias.
Me alegro que te funcione.
Buenas Javier.
Ayer me llego tu libro . Me esta gustando mucho.
por cierto una duda porque no puedo pasar los screeners sobre las futuros ecbot?. cuando pongo las listas predefinidas de los proscreener no me aparece esta lista.
sin embargo en gestion de listas si que esta.
como puedo importarla??
Hola Alfredo:
En gestión de listas están todas las que has hecho. Es posible que al ser una lista predefinida no salgan sus componentes.
La otra duda sobre por qué no te deja pasar screeners, puede que sea porque has puesto componentes de diferentes mercados.
me he explicado mal .
quiero decir que las listas predefenidas en gestion de listas. no son las mismas que al pasar un screener las predefinidas que salen.
algunas coinciden pero otras como la que te digo no.
Efectivamente hay algunas que no salen. Es cosa de PRT.
Desde luego que las personalizadas salen todas.
ok gracias.
Al copiar codigo al alza de MM30 me sale el siguiente fallo:
SCREENER[C2>0 and c1>0](c1 AS ¨C1¨ me comenta que el caracter 43 de esta linea no es correcto y por mucho que lo repaso yo lo veo igual si alguien me puede ayudar gracias soy novato.
Comprueba que estén todos los paréntesis puestos etc… sino, vuelve a copiar la linea
Gracias Javier por tus enseñanzas (Estoy disfrutando a tope del Código de Wall Street y solo me faltaba descubrir tu uactividad en YouTube)
Me pregunto si sería válida la expresión if …. then ….. else que ahorraría líneas de código?
Gracias de nuevo