Screeners

Screener
Os presento 2 screeners tendenciales. El primero para incorporarnos a la tendencia en un pequeño retroceso. En este caso las medias no llegan a cruzarse a la baja y el precio llega hasta la zona de control entre las 2 medias y produciéndose una sobreventa como nos indica el indicador RSI(3).
En el segundo screener buscamos valores para incorporarnos a la tendencia después de una corrección más profunda, después de que las medias se hallan cortado a la baja. En este caso esperamos a que la media rápida se gire al alza. La confirmación nos la da el cruce de ambas al alza.

En ambos casos adapten la capitalización a cada mercado y a su gusto. Que lo disfruten.
______________________________________________________________________________
Screener Medias 13/39 Zona Control
REM SCREENER MEDIAS 13/39 ZONA CONTROL
REM CREADO POR TXEMA MEDINA EN JULIO 2013
REM BUSCAMOS ACCIONES EN TENDENCIA PARA INCORPORARNOS EN UN RETROCESO CUANDO EL PRECIO SE SITUA ENTRE LAS 2 MEDIAS ALCISTAS = ZONA VERDE
REM CONDICIONES:
REM MEDIAS EM13 Y EM39 ALCISTAS
REM CAPITALIZACION MAYOR DE 40000000
REM RSI(3) EN ZONA DE SOBREVENTA
REM PRECIO SITUADO ENTRE LAS 2 MEDIAS EM13/39

myRSI = RSI[3](close)
c1 = (myRSI < 30.0)
mm13 = ExponentialAverage[13](close)
mm39 = ExponentialAverage[39](close)
c2 = (close < mm13)
c3 = (close > mm39)
c4 = mm13 > mm13[1] and mm39 > mm39[1]
cap = close * volume
c4 = cap > 40000000
SCREENER[c1 and c2 and c3 and c4] ((close/DClose(1)-1)*100 AS "% Var ayer")
_____________________________________________________________________________
Screener Medias 13/39 Cruces Carcanos
SCREENER MEDIAS 13/39 CRUCES CERCANOS
REM CREADO POR TXEMA MEDINA EN JULIO 2013
REM BUSCAMOS ACCIONES EN TENDENCIA PARA INCORPORARNOS EN UN RETROCESO CUANDO LA MEDIA RAPIDA EM13 COMIENZA A SUBIR Y CERCA DE CRUZAR AL ALZA A LA MEDIA LENTA EM39
REM CONDICIONES:
REM MEDIA EM13 MENOR QUE EM39 Y EM13 SE GIRA AL ALZA
REM CAPITALIZACION MAYOR DE 40000000

mm13 = ExponentialAverage[13](close)
mm39 = ExponentialAverage[39](close)
c1 = (mm13 < mm39)
c2 = (mm13 > mm13[1])
cap = close * volume
c3 = cap > 40000000
SCREENER[c1 and c2 and c3] ((close/DClose(1)-1)*100 AS "% Var ayer")

Screener Gatillo 7.0 Largos
Os presento el Screener Gatillo 7.0 Largos, basado en el Indicador Gatillo 7.0 de Miguel Larrañaga. Este indicador os lo podeis descargar desde la pagina de Xavier García o bien desde el foro privado de markettiming.info
____________________________________________________________________________
CONDICIONES DEL SCREENER GATILLO 7.0 LARGOS
Screener válido para pasar en DIARIO y en SEMANAL
1.- Gatillo fuera de la zona ROJA o lo que es lo mismo, Vigia por encima de Gatillo.
2.- MM30 ponderada semanal alcista.
3.- Riesgo Stop semanal o Distancia a la WMM30 menor del 9%.
4.- Fuerza Mansfield por encima de cero.
5.- Valores ordenados por Riesgo Stop.
6.- Modificar el número de ceros en capitalización para adaptarlo a diario y semanal, y también para adaptarlo a cada mercado, EUR o USA.
____________________________________________________________________________
INTERPRETACION DEL INDICADOR GATILLO 7.0
VIGIA: INDICADOR QUE SIGUE AL PRECIO
PICO: INDICA LA POTENCIA DEL MOVIMIENTO
FASE AZUL: MARCA LA FASE ALCISTA
FASE ROJA: MARCA RETROCESOS CON VIGIA NEGATIVO
FASE BLANCA: MARCA ARRANQUES ALCISTAS CON MUCHA FUERZA
DIVERGENCIAS: SE SUELEN PRODUCIR AL FINAL DE CADA CORRECCION
GATILLO + E-RSI: SE SINCRONIZAN PARA EL CONTEO DE ONDAS. SI NO HAY ROJO PUEDE HABER RETROCESO PERO NO CORRECCION FUERTE.

GATILLO < 0: INDICA NO ABRIR LARGOS
GATILLO > 0: INDICA NO ABRIR CORTOS

CONDICIONES PARA ABRIR LARGOS:
* GATILLO SALE DE LA ZONA ROJA Y QUEDA AL AIRE
* VIGIA AVANZA HACIA ZONA POSITIVA O MAYOR QUE CERO

CONDICIONES PARA ABRIR CORTOS:
* GATILLO ENTRA EN ZONA ROJA
* VIGIA CAE POR DEBAJO DE CERO
_____________________________________________________________________________
REM SCREENER GATILLO 7.0 LARGOS
REM CREADO POR TXEMA MEDINA EN DIC. 2012

REM VIGIA MAYOR QUE GATILLO
ignored, ignored, ignored, ignored, ignored, vigia, gatillo, pico = CALL "Gatillo 7.0"
c1 = (vigia > gatillo)

REM PICO CRUZA A LA BAJA A GATILLO = GATILLO SALE DE LA ZONA ROJA Y QUEDA AL AIRE
c2 = (pico CROSSES UNDER gatillo)

REM TENDENCIA ALCISTA SEMANAL
REM Este código se relaciona con la siguiente unidad de tiempo:weekly
TIMEFRAME(weekly)
mm30 = WeightedAverage[30](close)
c3 = (mm30 > mm30[1])

REM RIESGO STOP POR DEBAJO DEL 9% EN SEMANAL
REM Este código se relaciona con la siguiente unidad de tiempo:weekly
TIMEFRAME(weekly)
criteria, ignored = CALL "Distancia MM30"
c4 = (criteria < 9.0)

REM Este código se relaciona con la siguiente unidad de tiempo:weekly
TIMEFRAME(weekly)
ignored, myFR = CALL RSCMansfield2
c5 = myFR > 0.0

REM CAPITALIZACION: QUE NO SEAN CHICHARROS
cap = close*volume
c6 = cap > 2000000

SCREENER[(c1 OR c2) AND c3 AND c4 AND c5 AND c6] (criteria AS "R.Stop")
Screener SuperTendencia Alcista:

REM SCREENER SUPERTENDENCIA ALCISTA PARA ABRIR LARGOS EN SEMANAL
REM CREADO POR TXEMA MEDINA EN NOVIEMBRE DE 2012
REM BUSCA VALORES CON TENDENCIA QUE PASAN DE SUPERTENDENCIA NEGATIVA A POSITIVA POR CRUCE DEL PRECIO POR ENCIMA DE LA SUPERTENDENCIA NEGATIVA
REM PROPORCIONA VALORES QUE INICIAN UN NUEVO IMPULSO ALCISTA POR SUPERACION DE MAXIMOS O ROTURA DE RESISTENCIAS
REM LOS VALORES SE ORDENANA POR RIESGO STOP O DISTANCIA DEL PRECIO A LA MM30 PONDERADA
REM PUEDE SER MAS SELECTIVO AÑADIENDO CAPITALIZACION Y ENTRADA DE MANO FUERTE

REM TENDENCIA ALCISTA
indicator1 = WeightedAverage[30](close)
indicator2 = WeightedAverage[30](close)
c1 = (indicator1 > indicator2[1])

REM PRECIO CRUZA AL ALZA POR ENCIMA DE LA SUPERTENDENCIA
indicator3 = SuperTrend[3,10]
c2 = (close CROSSES OVER indicator3)

REM RIESGO STOP POR DEBAJO DEL 9%
indicator4, ignored = CALL "Distancia MM30"
c3 = (indicator4 < 9.0)

REM ORDENADOS POR RIESGO STOP
criteria, ignored = CALL "Distancia MM30"

SCREENER[c1 AND c2 AND c3] (criteria AS "distancia")

Screener SuperTendencia Bajista:

REM SCREENER SUPERTENDENCIA PARA ABRIR CORTOS EN SEMANAL
REM CREADO POR TXEMA MEDINA EN NOVIEMBRE DE 2012
REM BUSCA VALORES CON TENDENCIA QUE PASAN DE SUPERTENDENCIA POSITIVA A NEGATIVA POR CRUCE DEL PRECIO POR DEBAJO DE LA SUPERTENDENCIA POSITIVA
REM PROPORCIONA VALORES QUE INICIAN UN NUEVO IMPULSO BAJISTA POR SUPERACION DE MINIMOS O ROTURA DE SOPORTES
REM LOS VALORES SE ORDENANA POR RIESGO STOP O DISTANCIA DEL PRECIO A LA MM30 PONDERADA
REM PUEDE SER MAS SELECTIVO AÑADIENDO CAPITALIZACION Y ENTRADA DE MANO FUERTE

REM TENDENCIA BAJISTA
indicator1 = WeightedAverage[30](close)
indicator2 = WeightedAverage[30](close)
c1 = (indicator1 < indicator2[1])

REM PRECIO CRUZA A LA BAJA POR DEBAJO DE LA SUPERTENDENCIA
indicator3 = SuperTrend[3,10]
c2 = (close CROSSES UNDER indicator3)

REM RIESGO STOP POR DEBAJO DEL 9%
indicator4, ignored = CALL "Distancia MM30"
c3 = (indicator4 < 9.0)

REM ORDENADOS POR RIESGO STOP
criteria, ignored = CALL "Distancia MM30"

SCREENER[c1 AND c2 AND c3] (criteria AS "distancia")

Screener E-RSI 19/39 < 0.7
Creado por Txema Medina en Octubre 2012
Screener para pasar en DIARIO
Este Screener encuentra valores en tendencia alcista con buen CPM-Capital Proporcional Medio, con fuerza ascendente desde -1 respecto al mercado, y a una distancia menor del 9% respecto a la MM30 (riesgo stop). Estos valores en diario tendrán tendrán un Estocástico-RSI (19/39) ascendente entre 0.4 y 0.7, es decir, a punto de romper al alza el nivel medio de 0.5 o ya superado. Esta ruptura del nivel medio coincidirá con un Estocástico (10 1 1) entre los niveles 40 y 70. O sea, obtendremos valores que estén a punto de tomar un impulso o bien aquellos que lleven pocos días subiendo.

EN SEMANAL
* MM30 ponderada alcista.
* CPM mayor de 3.
* Distancia a la MM30 menor de 9.
* RSCMansfield2 mayor de -1.

EN DIARIO
* E-RSI 19/39 entre 0.4 y 0.7.
* Estocastico (10 1 1) entre 40 y 70

Programación del Screener para PRT

REM Screener E-RSI 19/39 < 0.7
REM Creado por Txema Medina en Octubre 2012
REM SEMANAL
REM MM30 ponderada alcista.
REM CPM mayor de 3.
REM Distancia a la MM30 menor de 9.
REM RSCMansfield2 mayor de -1.
REM DIARIO
REM E-RSI 19/39 entre 0.4 y 0.7.
REM Estocastico (10 1 1) entre 40 y 70
REM Screener para pasar en DIARIO

REM Este código se relaciona con la siguiente unidad de tiempo:weekly
TIMEFRAME(weekly)
indicator1 = WeightedAverage[30](close)
indicator2 = WeightedAverage[30](close)
c1 = (indicator1 > indicator2[1])

REM Este código se relaciona con la siguiente unidad de tiempo:weekly
TIMEFRAME(weekly)
indicator3 = CALL "Capital Proporcional Medio"[52]
c2 = (indicator3 > 3.0)

REM Este código se relaciona con la siguiente unidad de tiempo:weekly
TIMEFRAME(weekly)

indicator4, ignored = CALL "Distancia MM30"
c3 = (indicator4 < 9.0)

REM Este código se relaciona con la siguiente unidad de tiempo:weekly
TIMEFRAME(weekly)
ignored, myFR = CALL "RSCMansfield2"
c4 = myFR > -1

REM Este código se relaciona con la siguiente unidad de tiempo:daily
TIMEFRAME(daily)
indicator6, ignored, ignored, ignored, ignored = CALL "E-RSI 19/39"
c5 = (indicator6 < 0.7)

REM Este código se relaciona con la siguiente unidad de tiempo:daily
TIMEFRAME(daily)
indicator7, ignored, ignored, ignored, ignored = CALL "E-RSI 19/39"
c6 = (indicator7 > 0.4)

REM Este código se relaciona con la siguiente unidad de tiempo:daily
TIMEFRAME(daily)
indicator8 = Stochastic[10,1](close)[2]
c7 = (indicator8 < 70.0)

indicator9 = Stochastic[10,1](close)
c8 = (indicator9 < 70.0)

c9 = (indicator8 <= indicator9)

REM Este código se relaciona con la siguiente unidad de tiempo:DEFAULT
TIMEFRAME(DEFAULT)

SCREENER[c1 AND c2 AND c3 AND c4 AND c5 AND c6 AND c7 AND c8 AND c9]  (myFR AS  "Mansfield")

Screener El Abrazo del Oso

Creado por Txema Medina en Octubre de 2012
Pasar en DIARIO.
Características:
* En el Indicador Gatillo se producen valores extremos en Pico y en Vigia por encima de las Bandas Superior e Inferior y a veces apoyándose en la MM30 rebotan al alza con violencia.
* El cierre del día es inferior por lo menos en un 5% al cierre de 2 días anteriores.
* La distancia a la MM30 semanal es menor del 2%.
* El MACD representado por la línea negra se sitúa por debajo de cero.
* La Media Ponderada semanal de 30 sesiones es alcista - WMM30.
* Los activos se ordenan por el valor del Pico del Indicador Gatillo.
Programación para PRT
REM Screener El Abrazo del Oso
REM Creado por Txema Medina en Octubre de 2012
REM Pasar en DIARIO.
REM En el Indicador Gatillo se producen valores extremos en Pico y en Vigia por encima de las Bandas Superior e Inferior y a veces apoyándose en la MM30 rebotan al alza.
REM El cierre del día es inferior en un 5% al cierre de 2 días anteriores.
REM La distancia a la MM30 semanal es menor del 2%.
REM El MACD representado por la línea negra se sitúa por debajo de cero.
REM La Media Ponderada semanal de 30 sesiones es alcista - WMM30.
REM Los activos se ordenan por el valor del Pico de Indicador Gatillo.
REM Este código se relaciona con la siguiente unidad de tiempo:weekly
TIMEFRAME(weekly)
indicator1 = WeightedAverage[30](close)
indicator2 = WeightedAverage[30](close)
c1 = (indicator1 > indicator2[1])
REM Distancia a la MM30 semanal
REM Este código se relaciona con la siguiente unidad de tiempo:weekly
TIMEFRAME(weekly)
distancia=(close-indicator1)/close*100
REM Pico mayor que la Banda Superior
REM Este código se relaciona con la siguiente unidad de tiempo:daily
TIMEFRAME(daily)
ignored, ignored, ignored, ignored, ignored, ignored, ignored, indicator3 = CALL "Gatillo 7.0"
ignored, indicator4, ignored, ignored, ignored, ignored, ignored, ignored = CALL "Gatillo 7.0"
c2 = (indicator3 > indicator4)
REM Vigia menor que la Banda Inferior
REM Este código se relaciona con la siguiente unidad de tiempo:daily
TIMEFRAME(daily)
ignored, ignored, ignored, ignored, ignored, indicator5, ignored, ignored = CALL "Gatillo 7.0"
ignored, ignored, indicator6, ignored, ignored, ignored, ignored, ignored = CALL "Gatillo 7.0"
c3 = (indicator5 < indicator6)
REM La linea negra del MACD menor que cero
REM Este código se relaciona con la siguiente unidad de tiempo:daily
TIMEFRAME(daily)
indicator7 = MACDline[12,26,9](close)
c4 = (indicator7 < 0.0)

REM Diferencia en % entre el precio de hoy y de hace 2 días.
variacion = (close [2] - close) / close*100

REM Ordenados por el valor del Pico
REM Este código se relaciona con la siguiente unidad de tiempo:daily
TIMEFRAME(daily)
ignored, ignored, ignored, ignored, ignored, ignored, ignored, criteria = CALL "Gatillo 7.0"

SCREENER[c1 AND c2 AND c3 AND c4 AND variacion > 5 AND distancia < 2] (criteria AS "Pico")

Screener Market Timing: Alcistas en final de la corección
RomeoyJulieta dice: desde markettiming.info
  Estaria bien tener un screener en el Proreal que usamos casi todos que nos sacara los valores como Altria que pueden estar terminando su correccion, son alcistas y fuertes ¿no? Me he entretenido un rato con ello y por si a alguien le interesa pego aqui un screener de valores fuertes que parecen estar terminando la correccion. Pasandolo por el NYSE me salen: MO, CHD, FIS, LCC
RomeoyJulieta dice:
 
Aqui esta el enlace del screener de valores alcistas que pueden estar terminando su correccion segun el StochRSI
Recordad por favor que es necesario tener el RSCMansfield actualizado. Si alguno no tiene este indicador que me lo diga y lo pongo.
https://rapidshare.com/files/4246745197/REM Buscador de valores alcistas que puedan estar terminando su correccion.doc
SCREENER: ALCISTAS EN FINAL DE LA CORRECCION

REM Buscador de valores alcistas que puedan estar terminando su correccion
REM Version 1.0 RRMS
REM Valores que hayan hecho maximos recientemente
REM Que sean fuertes o al menos no peores que el mercado
REM Que sean alcistas segun la WMM30
REM Que la ultima vela semanal sea alcista
REM Que el volumen de la ultima semana
REM Sea mayor que la media de los ultimos 3 meses
REM Que el StochRsi acabe de pasar 25 al alza
REM Que no sean chicharros

TIMEFRAME (WEEKLY)
i=53
maxi=high[i]
while i > 0 do
                           if (high[i] > high [i-1] and high[i] > maxi) then
                                   maxi = high [i]
                           endif
                           i=i-1
wend
c1 = Close < maxi
ignored, myFR = CALL "RSCMansfield"
MM30  = WeightedAverage [30] (close)
MediaVolumen = Average[12](Volume)
c3 = Volume > MediaVolumen
c2= MM30 > MM30[1]
c4= ROC[1](Close)>0
TIMEFRAME(DAILY)
maximo = highest[39](RSI[19](close))
minimo = lowest[39](RSI[19](close))
oscilador = (RSI[19](close) - minimo) / (maximo - minimo)
C5=oscilador[2] < 0.25
C6=oscilador>0.25
C7 = Close > 5
C8= Volume > 400000

c9=myFR > -0.5
SCREENER [ c1 and (maxi[1]=maxi[6]) AND c2 AND C3 AND C4 AND c5 and c6 and c7 and c8 and c9] (myFR AS  "Mansfield")

Screener Market Timing para que la selección de valores

Estas son las condiciones:
1.- Semáforo Alcista = VERDE
2.- Arco Iris 9.999 = AZUL

REM SCREENER MARKET TIMING
indicator1, ignored, ignored, ignored = CALL “Semaforo Alcista”
c1 = (indicator1 = 3.0)
ignored, ignored, indicator2, ignored, ignored, ignored, ignored, ignored = CALL “Paquete Arco Iris 9.999″(close)
c2 = (indicator2 = 2.5)
ignored, criteria, ignored, ignored = CALL “Bull / Bear”
SCREENER[c1 AND c2] (criteria AS “UP”)

Screener Market Timing para que la selección de valores sea más reducida

Estas son las condiciones:
1.- Semáforo Alcista = VERDE
2.- Arco Iris 9.999 = AZUL
3.- Media Ponderada Diaria 150 Alcista, WMM150
4.- Mano Fuerte Dentro.
5.- Capitalización > 1.000.000
6.- Ordenados por Bull / Bear Alcista

REM SCREENER MARKET TIMING SELECTIVO
REM Semáforo en Verde
indicator1, ignored, ignored, ignored = CALL “Semaforo Alcista”
c1 = (indicator1 = 3.0)
REM Arco Iris en Azul
ignored, ignored, indicator2, ignored, ignored, ignored, ignored, ignored = CALL “Paquete Arco Iris 9.999″(close)
c2 = (indicator2 = 2.5)
REM Citerio de ordenación: Bull/ Bear: Fuerza Alcista > 0.5
ignored, criteria, ignored, ignored = CALL “Bull / Bear”
REM WMM150 Alcista
indicator3 = WeightedAverage[150](close)
indicator4 = WeightedAverage[150](close)
c3 = (indicator3 > indicator4[1])
REM Mano Fuerte dentro
ignored, ignored, ignored, ignored, ignored, azul, ignored, ignored = CALL “Blai5 Koncorde v.09″[15]
c4 = (azul > 0)
REM Capitalización
cap = close*volume
c5 = cap > 1000000
SCREENER[c1 AND c2 AND c3 AND c4 AND c5] (criteria AS “UP”)
Las acciones seleccionadas por el buscador Distancia a Máximos (desarrollado en “Aleta de Tiburón: tácticas de un operador en bolsa“ e implementado en “Enséñame la pasta: en busca del Market Timing“) cumplirán las siguientes condiciones y además estarán ordenadas de mayor a menor CPM o capital medio proporcional:
  1. Se trata de un valor que está a un 3% o menos de sus máximos anuales. Puede incluso que estuviera haciendo nuevos máximos, si no es un valor que cumpla esta condición entonces será descartado.
  2. La media de 30 semanas ponderada o MM30 es alcista y además el precio de la acción o del activo cotiza por encima de esta media. Aunque ya se presupone al buscar acciones cerca de sus máximos.
  3. El Riesgo Stop o distancia entre el cierre y la MM30 deberá ser menor al 9%. No vale cualquier acción y menos cualquier riesgo. Lo ideal es que tenga un riesgo entre el 3 y el 9%.
  4. Por último, escogeremos valores no ultra-Small. Este tipo de valores suele ser demasiado volátiles para tener una tendencia clara y fácil de estudiar.
El buscador Valorador de Compra cumplirán las siguientes condiciones:
  1. Se trata de un valor que está a un 3% o menos de sus máximos anuales. Puede incluso que estuviera haciendo nuevos máximos, en este caso sumaría 5 puntos en vez de 1 punto.
  2. La media de 30 semanas ponderada o MM30 es alcista y además el precio de la acción o del activo cotiza por encima de esta media. Esto es muy importante de cara a la tendencia de medio plazo. Suma 1 punto.
  3. El Riesgo Stop o distancia entre el cierre y la MM30 deberá ser menor al 9%. No vale cualquier acción y menos cualquier riesgo. Lo ideal es que tenga un riesgo entre el 3 y el 9%. Suma 3 puntos.
  4. La mano fuerte sigue entrando en el valor. Lo simulamos a través del incremento de K o Koncorde. En este caso, si es positivo, sumamos 1 punto.
  5. Por último, escogeremos valores no ultra-Small. Este tipo de valores suele ser demasiado volátiles para tener una tendencia clara y fácil de estudiar. Es imprescindible, en caso contrario no sale listado el valor en concreto.
Una Fuga deluxe tiene las siguientes caracterísitas:
  1. Se trata de un valor que está a un 3% o menos de su máximo anual o de 52 semanas.
  2. Es un valor que está haciendo un triángulo alcista típico en los desarrollos alcistas. (por muy difícil que pueda parecer de simular en PRT, lo hemos conseguido con un par de condiciones descubiertas casi por casualidad.. como muchas de las cosas cotidianas).
  3. Consiste además, en buscar en acciones medianas y grandes. Las ultra-pequeñas no nos interesan, aunque pueden dar grandes beneficios, se las dejamos al “viciado” de la bolsa (todos mis respetos a los viciados).
  4. Tomar acciones que tengan un Riesgo Stop bajo (distancia del cierre y de la MM30) o menor del 9%. No recomiendo tomar las acciones con Riesgos Stops menores al 2-3%.
Las acciones seleccionadas por el Incremento de K o de Mano Fuerte son acciones que de repente suscitan el interés del gran inversor. Esto no quiere decir que vayana a subir al instante o que su subida sea permanente. En muchas ocasiones la mano fuerte compra para vender semanas o días después. Este buscador lo suelo combinar con acciones con volúmenes altos o en continuación al alza. Un valor con alto Incremento de K tiene las siguientes características:
  1. Se trata de un valor que suele tener un alto valor de mano fuerte en la semana medido por el Blai5 Koncorde ó…
  2. … consiste en un valor que ha tenido un incremento de mano fuerte muy elevado, es decir, que su valor a pasado de ser negativo a muy alto o de alto a altísimo. Este incremento o momento se calcula sumando el valor actual de mano fuerte y su incremento (diferencia con la semana pasada). Se han tomado los +15 en adelante.
El "Value Investing" o Inversión en Valor consiste en aprovechar las fluctuaciones del mercado para invertir a más largo plazo en empresas con alto crecimeinto y "generación de valor". Los fondos de inversión, que invierten en "valor", comienzan a comprar antes de que finalicen las tendencias bajistas y durante las grandes correcciones.
Si basamos el trading en la condición de "valor" que poseen algunas acciones y tenemos localizados los periodos de tiempo en que más compras se han realizado, nos bastaría con seleccionar los mismos valores que han comprado los fondos de inversión y de entre ellos, comprar los mejores. Willliam J. O´neil buscaba acciones que tuvieran un importante apoyo institucional.

Para realizar la preselección de valores utilizaremos el buscador o screener de www.finviz.com:
1.- Seleccionamos la pestaña "Screener".
2.- Seleccionamos la pestaña "All" para tenet acceso a todas las condiciones.
3.- Seleccionamos en "Market Cap.": +MID (over $2bln) ó +SMALL (over 300 mln) si también queremos las pequeñas o medianas empresas.
4.- En "EPS Growth Past 5 Years" seleccionamos Over 30%
5.- En "EPS Growth qtr over qtr" seleccionamos Over 30%
6.- En "Institutional Ownership" seleccionamos Over 70%

De esta manera estaremos seleccionando empresas de alta o mediana capitalización que en los últimos 5 años han aumentado su beneficio por accción (EPS) en más de un 30% y en las que los fondos de inversión poseen un porcentaje superior al 70%.


Si además de todo esto queremos mostrar resultados ordenados por buenos valores por fundamentales (acciones con crecimiento “incremento de más del +30% anual del EPS durante al menos 5 años”, “incremento Q/Q de más del +30%”, “posicionamiento institucional superior al 70%”) y sobre todo ordenados según su distancia al máximo anual. Perfecto!!! ya sólo nos faltaría el Riesgo Stop y estaría todo.

7.- El siguiente paso consiste en saber lo que queremos mostrar al lado de los valores seleccionados como de “crecimiento”. Elegiremos , “Custom”, “Settings” y seleccionaremos lo mostrado en color crema:
 No., Ticker, Company, Industry, Country, Market Cap, EPS past 5 years, EPS Q/Q, Institutional Ow., 52 week high y Earnings Date.

  De esta forma, ya tendremos las principales variables a estudiar. Si en el listado pinchamos sobre uno de los cuadrados (por ejemplo, 52 week high), listará los valores en función de su distancia con el máximo anual. Esto lo recomiendo encarecidamente ya que de esta manera deshecharemos valores de pobre aspecto técnico (por muy bien que estén fundamentalmente). Recuerda que buscamos acciones de crecimiento, sólidas y con aspecto técnico convincente.

Luego el siguiente paso consiste en ver y analizar las acciones que estén a un 0-10% de sus máximos anuales y escoger aquellos cuyo Riesgo Stop (distancia en % a la WMM30) no supere el 7-9%. Luego el ganar dinero seguramente llegue con el tiempo y la paciencia.. y naturalmente si el mercado global ascendió o no.
8.-  También podemos buscar buenas acciones según parámetros O´neil pero que estén en un momento de sobreventa  (RSI MENOR 50). Recomiendo ver cada uno de los casos. Si éste fuera el inicio de una zona alcista en el SP500, estos son los valores donde podríamos fijarnos.

9.- También podemos usar la opción ROE (Rentabilidad sobre el Patrimonio) que sea MAYOR del 15%.

52 comentarios:

  1. hola me podeis pasar el RSCMansfield actualizado? gracias

    ResponderEliminar
  2. Pasa por www.markettiming.info y aquí en el foro privado tienes el indicador y mucho más. Te lo recomiendo. Saludos

    ResponderEliminar
  3. Tienes el código completo en esta dirección:
    http://accionesdebolsa.com/programando-el-indicador-rscmansfield2-para-prt.html

    ResponderEliminar
  4. Hola, tengo el código de mansfield2 pero hay que actualizarlo, sabéis si hay alguna manera de actualizarlo sin necesidad de meter los parámetros a mano?
    Saludos
    Luis

    ResponderEliminar
  5. En el foro markettiming.info hay una tabla excel que te da los valores de forma automática.
    El foro es privado y la tabla no es pública. Tendrás que registrarte en el foro 3 meses gratis creo recordar comprando un libro pdf de bajo coste.

    ResponderEliminar
  6. Hola,
    teneis un screener para minimos historicos o caida libre??

    gracias!

    ResponderEliminar
  7. Te lo miro con tiempo, hay varias posibilidades. Si se me olvida me das un toque. Necesito tu correo personal para ello, puedes hacerlo enviándolo a txemedina@hotmail.com
    Saludos de Txema

    ResponderEliminar
  8. Txema, estuve releyendo el apartado de sistemas y screeners.
    Intento buscar un screener para prorealtime con unas condiciones sencillas en semanal que es que el estocastico de 14 esté por encima de 80 y el de 50 por encima de 70( aunque con el de 14 me vale) y que el Macd esté cruzado al alza y esa semana termine por encima de cero.
    Se puede mejorar con los RSI de 7 y 14 .......pero con las condiciones del Macd y estocastico en semanal me vale.
    Lo intenté hacer en Prt, pero no lo consigo.
    Sabes quién me puede ayudar o si tú tienes algo similar sobre el que pueda trabajar?
    Saludos
    Luis

    ResponderEliminar
  9. Bueno Luis, con un poco de retraso pero ahí va el screener que necesitas.

    REM CREADO POR TXEMA MEDINA PARA LUIS EN OCTUBRE 2016
    REM SE BASA EN EL INDICADOR STOCASTICO Y EN EL MACD
    REM ORDENADOS POR CPM
    REM APLICAR EN DIARIO

    //REM TENDENCIA ALCISTA
    //mm50 = Average[50](close)
    //c1 = (mm50 > mm50[1])
    //c2 = (close > mm50)

    REM STOCASTICO POR ENCIMA DE 80
    TIMEFRAME(weekly)
    mySto = Stochastic[14,3](close)
    c3 = (mySto > 80.0)
    REM MACD ACABA ESTA SEMANA POR ENCIMA DE CERO
    TIMEFRAME(weekly)
    myMacd = MACDline[12,26,9](close)
    Seinal = ExponentialAverage[9](MACDline[12,26,9](close))
    c4 = myMACD > Seinal and myMACD > 0

    REM CPM MAYOR DE 5
    criteria = CALL "Capital Proporcional Medio"[52]
    //c5 = (myCPM > 5.0)

    REM DEVUELVE VALORES EN SOBREVENTA O SOBRECOMPRA
    SCREENER[c3 AND c4] (criteria AS "CPM")

    ResponderEliminar
  10. Txema, muchas gracias!!!!!
    Es una pasada que me ayudaras.
    Ya lo estuve probando.
    Un saludo
    Luis Enrique

    ResponderEliminar
  11. Txema, por cierto, estuve dándole a la creacción programada de prt pero vaya zote!!! no lo consigo. Repito, muy amable por tu parte.
    Ahora, vuelvo a molestarte, si quisiera que el macd, como es semanal, la semana pasada estuviera por debajo de cero y esta semana termine por encima, qué tendría que variar??, así ajusto la arrancada de JL cava.
    Saludos
    Luis Enrique

    ResponderEliminar
  12. Si te das cuenta en la línea c5 = myMACD > Seinal and myMACD < 0
    he cambiado el que me diste de macd por encima de 0 myMACD > 0 por myMACD < 0. lo que intenté conseguir era el macd cortado al alza por debajo de cero.
    Pero pasé screener y no me devolvía valores....
    Saludo
    Luis
    TIMEFRAME(weekly)
    myMacd = MACDline[12,26,9](close)
    Seinal = ExponentialAverage[9](MACDline[12,26,9](close))
    c5 = myMACD > Seinal and myMACD < 0

    ResponderEliminar
  13. Si lo que quieres es un indicador referido a la semana anterior has de poner por ejemplo myMACD[1], para 2 semanas antes myMACD[2].
    Txema

    ResponderEliminar
  14. Txema, disculpa.Te copio la programación del screener queriendo poner que el macd a cierre de la semana pasada era negativo y a cierre de esta semana está por encima de cero. Lo que pasa es que da error en lo que hice. Creo que dice error en la sintaxis de de myMACD[1]
    Disculpa por tanto lío.
    Saludos
    Luis

    REM CREADO POR TXEMA MEDINA PARA LUIS EN OCTUBRE 2016
    REM SE BASA EN EL INDICADOR STOCASTICO Y EN EL MACD
    REM ORDENADOS POR CPM
    REM APLICAR EN DIARIO

    //REM TENDENCIA ALCISTA
    //mm50 = Average[50](close)
    //c1 = (mm50 > mm50[1])
    //c2 = (close > mm50)

    REM STOCASTICO POR ENCIMA DE 80
    TIMEFRAME(weekly)
    mySto = Stochastic[14,3](close)
    c3 = (mySto > 80.0)

    REM MACD ACABA SEMANA PASADA POR DEBAJO DE CERO
    TIMEFRAME(weekly)
    myMacd[1] = MACDline[12,26,9](close)
    Seinal = ExponentialAverage[9](MACDline[12,26,9](close))
    c4 = myMACD > Seinal and myMACD < 0

    REM MACD ACABA ESTA SEMANA POR ENCIMA DE CERO
    TIMEFRAME(weekly)
    myMacd[2] = MACDline[12,26,9](close)
    Seinal = ExponentialAverage[9](MACDline[12,26,9](close))
    c5 = myMACD > Seinal and myMACD > 0


    REM CPM MAYOR DE 5
    criteria = CALL "Capital Proporcional Medio"[52]
    //c5 = (myCPM > 5.0)

    REM DEVUELVE VALORES EN SOBREVENTA O SOBRECOMPRA
    SCREENER[c3 AND c4 AND c5] (criteria AS "CPM")

    ResponderEliminar
  15. Quedaría así:

    REM CREADO POR TXEMA MEDINA EN OCTUBRE 2016
    REM SE BASA EN EL INDICADOR STOCASTICO Y EN EL MACD
    REM ORDENADOS POR CPM
    REM APLICAR EN DIARIO

    //REM TENDENCIA ALCISTA
    //mm50 = Average[50](close)
    //c1 = (mm50 > mm50[1])
    //c2 = (close > mm50)

    REM STOCASTICO POR ENCIMA DE 80
    TIMEFRAME(weekly)
    mySto = Stochastic[14,3](close)
    c3 = (mySto > 80.0)

    REM MACD SEMANA ANTERIOR POR DEBAJO DE CERO Y ACABA ESTA SEMANA POR ENCIMA DE CERO
    TIMEFRAME(weekly)
    myMacd = MACDline[12,26,9](close)
    Seinal = ExponentialAverage[9](MACDline[12,26,9](close))
    c4 = myMACD[1] < 0 and (myMACD > Seinal and myMACD > 0)

    REM CPM MAYOR DE 5
    criteria = CALL "Capital Proporcional Medio"[52]
    //c5 = (myCPM > 5.0)

    REM DEVUELVE VALORES EN SOBRECOMPRA
    SCREENER[c3 AND c4] (criteria AS "CPM")

    ResponderEliminar
  16. Txema, jajaja, es magia. Jolines las vueltas que estaba dando.
    Ya lo he probado y sale bien.
    Te agradezco enormemente el screener.
    Un saludo
    Luis Enrique

    ResponderEliminar
  17. Txema, disculpa pero cuando escribes en el REM aplicar en diario, ha sido una confusión, es aplicar en semanal, que además lo he probado!!!
    Por cierto, si lo quisiera pasar en diario bastaría con cambiar donde pones timeframe de weekly a daily???
    Una última cosa, tú inviertes en real?. eres profesional, privado....nada, me gustaría preguntarte cosas y compartir sistemas.
    Saludos
    Luis Enrique

    ResponderEliminar
  18. En el código aparece TIMEFRAME(WEEKLY) que esa condición se aplica en semanal. Si quieres que se aplique en diario solamente tienes que borrarla y por defecto se aplica en diario. Después puedes elegir entre buscar en DIARIO o SEMANAL antes de dar al botón SCREENER.

    No soy profesional del tema y hago de vez en cuando algunas entradas y salidas en el mercado.
    Txema

    ResponderEliminar
  19. Txema, siguiendo con lo que me has enseñado, he querido modificar el screener para otra cosa. Intento buscar "bonitas". Esto es un concepto usado por Luis Ortiz de Zárate y JL cava y buscan precios alcistas, con su macd por encima de cero y cortado al alza y cuando hace el retroceso, que el estocástico de 14 desde 80 se gire a la baja. El estocástico desciende y cuando se vuelve a cruzar al alza siempre por encima de 20 no más abajo, se produce la señal.
    He modificado el screener y no me da error pero tampoco me saca valores en ningún mercado.
    No sé si me lo puedes revisar. Estoy casi seguro que el asunto está en el estocástico
    Saludos
    Luis
    REM CREADO POR TXEMA MEDINA Y MODIFICADO PARA BONITAS
    REM SE BASA EN EL INDICADOR STOCASTICO Y EN EL MACD
    REM ORDENADOS POR CPM
    REM APLICAR EN DIARIO

    //REM TENDENCIA ALCISTA
    //wmm150 = Average[150](close)
    //c1 = (wmm150 > mm150[1])
    //c2 = (close > wmm150)

    REM STOCASTICO 50 POR ENCIMA DE 50
    TIMEFRAME(daily)
    mySto = Stochastic[50,3](close)
    c3 = (mySto > 50.0)
    REM STOCASTICO 14 CORTADO AL ALZA HOY Y AYER NO Y POR ENCIMA DE 20
    TIMEFRAME (daily)
    indicator2 = Stochastic[14,3](close)
    indicator3 = Average[5](Stochastic[14,3](close))
    c4 = (indicator2 CROSSES OVER indicator3[1])
    c5 = (indicator2 <= 20.0)

    REM MACD ACABA HOY POR ENCIMA DE CERO y cruzado al alza
    TIMEFRAME(daily)
    myMacd = MACDline[12,26,9](close)
    Seinal = ExponentialAverage[9](MACDline[12,26,9](close))
    c6= myMACD > Seinal and myMACD > 0

    REM CPM MAYOR DE 5
    criteria = CALL "Capital Proporcional Medio"[52]
    //c7 = (myCPM > 5.0)

    REM DEVUELVE VALORES macd al alza y estocástico 14 cruzándose al REM alza por encima de 20
    SCREENER[c3 AND c4 AND c5 AND c6 ] (criteria AS "CPM")

    ResponderEliminar
  20. REM STOCASTICO 14 CORTADO AL ALZA HOY Y AYER NO Y POR ENCIMA DE 20
    TIMEFRAME (daily)
    indicator2 = Stochastic[14,3](close)
    indicator3 = Average[5](Stochastic[14,3](close))
    c4 = (indicator2 CROSSES OVER indicator3[1])
    c5 = (indicator2 <= 20.0)

    Yo lo pondría así:
    REM STOCASTICO 14 CORTADO AL ALZA HOY Y AYER NO Y POR ENCIMA DE 20
    TIMEFRAME (daily)
    indicator2 = Stochastic[14,3](close)
    indicator3 = Average[5](Stochastic[14,3](close))
    c4 = (indicator2[1] < indicator3[1] and indicator2 CROSSES OVER indicator3)
    c5 = (indicator2 >= 20.0)

    ResponderEliminar
  21. Jolines, pues sí que funciona como tú lo pones!!!!
    Tengo que intentar averiguar lo que significa cada símbolo y porqué lo pones así.
    Otra vez te tengo que agradecer tu ayuda.
    Seguiré estudiándolo.
    Como idea, si crees que lo puedes hacer que veo que sí, podrías sacar un curso en vídeo de como programar screener e indicadores en PRT y cómo hacer probacktest para que cada uno probara lo suyo!!!!
    Hay mucha demanda!!!!
    Un saludo
    Luis

    ResponderEliminar
    Respuestas
    1. Te recomiendo los videos de Javier Alfayate en Youtube. Tiene indicadores y screeners explicados con claridad. Te vendrán de perlas.
      Saludos y gracias por los halagos.
      Txema

      Eliminar
  22. Txema, vuelvo a tí. Siguiendo con el tema de los screener, intenté crear uno que sea en base semanal alcista por encima de la media semanal de 34, con los RSI semanales de 7 y 14 por encima de 55 y 65 respectivamente, con el estocástico de 14 entrando por primera semana en 80 o sea, la semana anterior no estaba y esta semana sí. Esto es lo básico.
    Ahora bien, para filtrar las acciones, quiero que el RSI de 2 , en base diaria, esté por debajo de 30. (no sé si se pueden mezclar timeframes.
    Lo hice y te lo pego pero me da error de sintaxis en las lineas de las condiciones
    Si puedes echar un vistazo te lo agradezco.
    //TIMEFRAME(weekly)
    emm34 = Average[34](close)
    c1 = (emm34 > mm34[1])
    c2 = (close > emm34)

    REM EN SEMANAL RSI7>65 Y RSI14>55

    //TIMEFRAME(weekly)
    MiRSI= RSI[7](close)
    c3= (MiRSI>65)(close)

    //TIMEFRAME(weekly)
    MiRSI= RSI[14](close)
    c4= (MiRSI>55)

    REM STOCÁSTICO 14 SEMANAS POR ENCIMA DE 80 ESTA SEMANA PERO LA ANTERIOR NO
    //TIMEFRAME(weekly)
    mySto=Stocastic[14.3](close)
    c5=mySto[1]<80 and (mySto>80)

    REM RSI 2 EN DIARIO
    //TIMEFRAME(daily)
    MiRSI= RSI[2](close)
    c6=(MiRSI[2]<30

    SCREENER[c3 AND c4 AND c5 AND c6]

    ResponderEliminar
    Respuestas
    1. Te paso el screener que mencionas con los cambios:

      REM SE BASA EN EL INDICADOR STOCASTICO Y EN EL RSI
      REM ORDENADOS POR CPM
      REM APLICAR EN DIARIO

      TIMEFRAME(weekly)
      mm34 = Average[34](close)
      c1 = (mm34 > mm34[1])
      c2 = (close > mm34)

      REM EN SEMANAL RSI7>65 Y RSI14>55
      TIMEFRAME(weekly)
      MiRSI7 = RSI[7](close)
      c3 = MiRSI7 > 65
      TIMEFRAME(weekly)
      MiRSI14 = RSI[14](close)
      c4 = MiRSI14 > 55

      REM STOCÁSTICO 14 SEMANAS POR ENCIMA DE 80 ESTA SEMANA PERO LA ANTERIOR NO
      TIMEFRAME(weekly)
      mySto = Stochastic[14,3](close)
      c5 = mySto[1]<80 and mySto>80

      REM RSI 2 EN DIARIO
      TIMEFRAME(daily)
      MiRSI2 = RSI[2](close)
      c6 = MiRSI2[2]<30

      REM ORDENADOS POR CPM
      criteria = CALL "Capital Proporcional Medio"[52]
      //c5 = (myCPM > 5.0)

      REM DEVUELVE VALORES EN SOBRECOMPRA
      REM SELECCIONAR PERIODO: DIARIO
      SCREENER[c1 AND c2 AND c3 AND c4 AND c5 AND c6](criteria AS "CPM")

      Eliminar
  23. Txema, gracias por corregirme los errores. Le estaba dando vueltas y no sabía qué era. Sabes lo que pasa, que en semanal me busca bien las condiciones pero no hace caso a la última condición del diario de rsi 2 por debajo de 30. Igual es que no se pueden mezclar los timeframe??
    Gracias por tu tiempo.
    Saludos
    Luis Enrique

    ResponderEliminar
  24. Buenas noches Txema

    Estoy intentado programar para PRT un sistema de cruce de medias parecido al tuyo de medias 19-39 pero con alguna variante y no soy capaz de hacerlo del todo.
    Una de las variantes que no sé programar es que el valor a precio de cierre (diario) esté entre el 1% por encima o 1% por debajo de la mm8 que es la mm que emplearé.

    He puesto lo siguiente pero desconozco si es correcto:
    distancia=(mm8-close)/close*100
    distancia=0

    if (((close-mm8)/close)<0.01 and ((close-mm8)/close)>-0.01) then
    distancia = 1
    endif
    SCREENER [distancia>0 and c1 and c2 and c3 and c4 and c5] (DISTANCIA AS "condicion OK")

    donde c1, c2, c3,c4 y c5 son otras condiciones que metido (volumen, stop, etc)

    y la otra condición que no sé programar ni si es posible hacerlo es que el último cruce de las medias se haya producido como máximo hace un número determinado de velas (días) por ejemplo 10 aunque este número exacto aún no lo tengo decidido. Con esto intento evitar que me aparezcan los gráficos donde la media rápida sigue por encima de la lenta pero has pasado muchos días desde el corte al alza y está próxima a cortarse de nuevo a la baja, y también los gráficos en los el precio no termina de acercarse a la mm8 y cuando lo hace esta mm es totalmente plana.

    Gracias y perdona por el rollo que te he soltado

    ResponderEliminar
    Respuestas
    1. Hola Zaco:
      Para este apartado faltaba definir la media y cambiar un AND por un OR ya que las 2 condiciones no se pueden dar a la vez:
      mm8 = Average[8](close)
      distancia=(mm8-close)/close*100
      distancia=0

      if (((close-mm8)/close)<0.01 OR ((close-mm8)/close)>-0.01) then
      distancia = 1
      endif
      SCREENER [distancia > 0] (DISTANCIA AS "condicion OK")

      Eliminar
    2. Para el cruce de medias funciona indicando entre corchetes cuántas velas hacia atrás, en este caso 10.
      REM Que el cruce de medias se haya producido 10 velas antes:
      mm19 = Average[19](close)
      mm39 = Average[39](close)
      cruce10 = mm19[10] CROSSES OVER mm39[10]
      cruce = 0
      if cruce10 then
      cruce = 1
      endif

      SCREENER [cruce>0](CRUCE AS "condicion OK")

      Eliminar
  25. Buenas noches Txema

    Estoy intentando programar un screener para un sistema de cruce de medias diarias parecido al tuyo de mm19-39 pero hay un par de condiciones que no consigo programar, a ver si tú o algún otro lector podéis echarme una mano.

    La primera condición que se me resiste es que el precio de cierre esté comprendido entre un 1% por encima o por debajo de la mm8 que es la mm rápida que utilizo. He puesto lo siguiente:

    distancia=(mm8-close)/close*100
    distancia=0

    if (((close-mm8)/close)<0.01 and ((close-mm8)/close)>-0.01) then
    distancia = 1
    endif
    SCREENER [distancia>0 and c1 and c2 and c3 and c4 and c5] (DISTANCIA AS "condicion OK")
    donde c1, c2, c3, c4 y c5 son otras condiciones que he creado (volumen, rsi, medias, etc)

    La otra condición que no tengo ni ida de como se programa ni si es posible hacerlo es que el último cruce al alza de la mm8 se haya producido hace como máximo un número determinado de sesiones, por ejemplo 10. Con esto intento evitar que me aparezcan valores donde el cruce de mm se produjo hace mucho tiempo y las medias están casi solapadas o donde la mm8 apenas tiene pendiente.

    Muchas gracias y perdona por el rollo que te soltado.

    ResponderEliminar
  26. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  27. Hola Txema, vuelvo a pedirte ayuda

    He terminado el Screener y me queda así:

    REM Cálculo de la media móvil a 8 días
    Mm8 = AVERAGE[8]

    REM Cálculo de la media móvil a 21 días
    Mm21 = AVERAGE[21]
    REM Cálculo de la media móvil a 40 días la de 8 en semanal
    Mm40 = AVERAGE[40]
    REM Cálculo de la media móvil a 105 días la de 21 en semanal
    Mm105 = AVERAGE[105]

    c1=mm8>mm21
    distancia=(mm8-close)/close*100
    distancia=0
    c2=mm40>mm105


    REM Capitalización
    cap = close*volume
    c3 = cap > 1000000

    myRSI = RSI[2](close)
    c4 = (myRSI < 40)

    REM Que el cruce de medias se haya producido 15 velas antes:
    mm8 = Average[8](close)
    mm21 = Average[21](close)
    cruce10 = mm8[15] CROSSES OVER mm21[15]
    cruce = 0
    if cruce15 then
    cruce = 1

    if (((close-mm8)/close)<0.01 OR ((close-mm8)/close)>-0.01) then
    distancia = 1
    endif
    SCREENER [distancia>0 and c1 and c2 and c3] (DISTANCIA AS "condicion OK") [cruce>0](CRUCE AS "condicion OK")

    Al ejecutarlo da error de sintaxis en la última línea, imagino que debido a que la condición final del cruce no se puede escribir así porque ya tengo escrita del mismo modo la de la distancia.
    ¿Cómo debería de escribirlo?

    Un saludo

    ResponderEliminar
    Respuestas
    1. Buenos días Zaco:
      Te falta añadir la condición c4 que has definido para el RSI. Si no la utilizas en el screener pon sus líneas con dos barra por delante // o REM.

      Al definir la búsqueda del screener en la última línea la parte final entre paréntesis PRT la usa solamente para ordenar los resultados, por lo que no hace falte añadirle más que una condición, que puede ser por mayor volumen o por mmayor subida porcentual, etc. pero con una sola condición. Prueba con estos cambios:

      SCREENER [distancia>0 and c1 and c2 and c3 and c4] (DISTANCIA AS "condicion OK")

      Eliminar
    2. Hola de nuevo
      Antes de nada darte las gracias por tu ayuda y paciencia.

      El resultado final con los cambios comentados es este:
      REM Cálculo de la media móvil a 8 días
      Mm8 = AVERAGE[8]
      REM Cálculo de la media móvil a 21 días
      Mm21 = AVERAGE[21]
      REM Cálculo de la media móvil a 40 días la de 8 en semanal
      Mm40 = AVERAGE[40]
      REM Cálculo de la media móvil a 105 días la de 21 en semanal
      Mm105 = AVERAGE[105]
      c1=mm8>mm21
      distancia=(mm8-close)/close*100
      distancia=0
      c2=mm40>mm105
      REM Capitalización (para USA sería 40000000)
      cap = close*volume
      c3 = cap > 1000000
      myRSI = RSI[2](close)
      c4 = (myRSI < 35)
      REM Que el cruce de medias se haya producido 15 velas antes:
      mm8 = Average[8](close)
      mm21 = Average[21](close)
      cruce15 = mm8[15] CROSSES OVER mm21[15]
      cruce = 0
      if cruce15 then
      cruce = 1
      if (((close-mm8)/close)<0.01 OR ((close-mm8)/close)>-0.01) then
      distancia = 1
      endif
      SCREENER [distancia>0 and c1 and c2 and c3 and c4] (DISTANCIA AS "condicion OK")
      Sin embargo al ejecutarlo sigue dando el mensaje: "error de sintaxis: línea 34, carácter 81. Complete la sintaxis de esta línea"
      No entiendo que es lo que falla :(

      Eliminar
  28. Hola Zaco:
    Siempre que definas una condición, ésta debe aparecer en la línea final de SCREENER. Te faltaba añadir cruce>0. Así me ha quedado:

    //El resultado final con los cambios comentados es este:
    REM Cálculo de la media móvil a 8 días
    Mm8 = AVERAGE[8]
    REM Cálculo de la media móvil a 21 días
    Mm21 = AVERAGE[21]
    REM Cálculo de la media móvil a 40 días la de 8 en semanal
    Mm40 = AVERAGE[40]
    REM Cálculo de la media móvil a 105 días la de 21 en semanal
    Mm105 = AVERAGE[105]

    c1=mm8>mm21
    distancia=(mm8-close)/close*100
    c2=mm40>mm105

    REM Capitalización (para USA sería 40000000)
    cap = close*volume
    c3 = cap > 1000000

    myRSI = RSI[2](close)
    c4 = (myRSI < 35)

    REM Que el cruce de medias se haya producido 15 velas antes:
    mm8 = Average[8](close)
    mm21 = Average[21](close)
    cruce15 = mm8[15] CROSSES OVER mm21[15]

    cruce = 0
    distancia = 0
    if cruce15 then
    cruce = 1
    if (((close-mm8)/close)<0.01 OR ((close-mm8)/close)>-0.01) then
    distancia = 1
    endif
    endif

    SCREENER [cruce>0 and distancia>0 and c1 and c2 and c3 and c4](DISTANCIA AS "condicion OK")

    ResponderEliminar
  29. Ahora sí que funciona bien!

    Muchas gracias Txema y enhorabuena por el gran trabajo que realizas y que nos sirve de ayuda a todos los que cada día seguimos aprendiendo nuevas cosas de este apasionante mundo de la inversión.

    ResponderEliminar
  30. Txema, buenas.
    Le estoy dando vueltas a un indicador para luego hacer un screener.
    Quiero hacer indicador que diga el rango de variación diaria de cada valor. Imagino que serà desde el minimos a màximo sesión.
    Luego, un screener que me busque los valores con mayor variación y cumpla alguna condición de volumen.
    Puedes orientarme como empezar?
    Saludos
    Luis

    ResponderEliminar
  31. Lo lógico es que ese rango de variación se exprese en porcentaje. Convierte la diferencia entre max-min en porcentaje. Es sencillo, inténtalo.
    Txema

    ResponderEliminar
  32. Txema, el indicador de variación media de un valor , lo estoy intentando hacer. Cuando termine lo muestro.
    Por otro lado, se me ocurrió, a imagen de el TibusUP de blai, pues hacer uno de Velocidad de subida del Mansfield para saber cual sube con más fuerza rápidamente. Claro, le meto el indicador creado RSC Mansfield 2 , pero no saca valores aunque no me da error.
    Tú que piensas, esto es posible?
    // PROSCREENER Mansfield UP


    ignored, ignored, blau, ignored, ignored = CALL " RSC MANSFIELD 2"

    c1 = (momentum[1](blau)) > 0

    mvol = ExponentialAverage[20](volume)

    c2 = mvol > 10000

    SCREENER[c1 AND c2] ((momentum[1](blau)) AS "Veloc")

    ResponderEliminar
  33. Creo que PRT no permite hacer uso del RSC Mansfield2 de la forma que utilizas en la primera línea, pero no estoy seguro. Puedes consultarlo con Javier Alfayate en su web accionesdebolsa.com. Seguro que te podrá orientar mucho mejor. Saludos

    ResponderEliminar
  34. Inceibles y valiosisimos vuestros comentarios. Soy un iniciado y estoy intentando hacerme con una explicacion del lenguaje de programacion. Alguna sugerencia Txema?

    ResponderEliminar
  35. Puedes utilizar los videos en youtube de Javier Alfayate. Encontrarás diferentes indicadores que podrás añadir a tus estrategias de trading.
    Txema

    ResponderEliminar
  36. hola Txema me gustaria tener un screener ue tenga estocastico en sobreventa macd cruzado al alza y media movil ponderada de 30 semanas cruzando justo el ultimo precio, no se si se podra hacer asi, muchas gracias y buen trabajo. mi nonmbre es Jose Manuel

    ResponderEliminar
  37. hola Txema, a ver si me puedes ayudar, quisiera un screener con estocastico de 14 en sobreventa macd cortandose al alza y media moviil de 30 justo cortando el precio y si tienes que quitar algo creo que el macd podria ser, pero bueno a ver que tal va, muchas gracias, buen trabajo y un saludo

    ResponderEliminar
  38. hola me podeis echar una mano con un screener para detectar velas martillos y liberulas cerca de la mm200 ponderada tanto para alcistas como para bajistas ...tipicas trampas de mercado ...yo tengo esto ahora mismo , pero no se como poner que detecte cerca de la mm200 a falta de 1% o rota la mm200 1%

    // SCREENER VELAS MARTILLO (PINBAR) Y MEDIA
    hammer=close>open and low=open and (high-close)>=3*(close-open)
    invertedhammer=close>open and high=close and (open-low)>=3*(close-open)
    mm200=weightedaverage[200]
    cerca =1-abs(close/mm200)<=0.01
    test=(hammer or invertedhammer)
    screener[test]

    ResponderEliminar
  39. buenas me podeis ayudar con este screener para pro real , es para detectar las velas martillo y libelula cerca de la ponderada de 200 por ejemplo qque falte 1% O PERforada 1% tanto valores alcista como bajista o , mejor si se hacen 2 screener uno para cada mercado alcista o bajista ...yo voy a si y estoy limitadisimo gracias

    // SCREENER VELAS MARTILLO (PINBAR) Y MEDIA
    hammer=close>open and low=open and (high-close)>=3*(close-open)
    invertedhammer=close>open and high=close and (open-low)>=3*(close-open)
    mm200=weightedaverage[200]
    cerca =1-abs(close/mm200)<=0.01
    test=(hammer or invertedhammer)
    screener[test]

    ResponderEliminar
    Respuestas
    1. Al final del screener tienes que añadir todas las condiciones que quieres que se cumplan, aquellas que con anterioridad ya has definido. Ejemplo:
      SCREENER [test and cerca]
      Saludos, Txema

      Eliminar
  40. hola Txema aunque igual ya no estas por aqui, si me podrias poner un screener de macd cortado al alza en semanal

    y otro macd cortado al alza por encima de cero en semanal. muchisismas gracias

    ResponderEliminar
  41. Hola, ¿Teneis el código del indicador y el screener de Inercia Alcista para acciones en semanal para Prorealtime? Gracias! Un saludo!

    ResponderEliminar
  42. Habla con Javier Alfayate de acciones de bolsa...
    Su web privada es Aguila Roja.
    Saludos

    ResponderEliminar
  43. Hola buenos dias, estoy intentando programar el screener weinstein alfayate y no consigo lograrlo, alguien me puede ayudar

    ResponderEliminar
  44. Estas son las características del SISTEMA WEINSTEIN ALFAYATE:
    SISTEMA DE MEDIO PLAZO MUY IMPORTANTE SE MIRA CON GRAFICO S E M A N A L !!!
    Punto 1 - La accion tiene que estar cerca de sus maximos anuales, a un 2% o menos.
    Punto 2 - El CPM (Capital Proporcional Medio) sea suficiente es decir que su media movil simple de 5 semanas sea mayor a cero.
    Punto 3 - Con fuerza sectorial y de valor suficiente (RSC Mansfield mayor de +0,10 en ambos casos)
    Punto 4 - Que tengan oportunidad o no se hayan escapado (Riesgo Stop o distancia del cierre con respecto a la media de 30 semanas: mm30 menor al 9%).

    ResponderEliminar
    Respuestas
    1. por ahora tengo este programado, pero no se si cumple con las condiciones que me comentas, la media en el cpm no se programarla
      mi screener es el siguiente.

      Timeframe(Weekly)
      CPM = CALL "CPM52"[52]

      c1 = close < (highest[52](high) * 0.97)
      MA = weightedaverage[30](close)
      c2 = (close >= (MA * 1.03)) AND (close <= (MA * 1.09))
      c3 = volume > 1000000

      Cond = c1 AND c2 AND c3 AND cpm>30
      SCREENER[Cond](cpm as "cpm")

      Mi correo es el siguiente por si puedes mandarme algo:
      jorgeribaforada82@hotmail.com

      Eliminar

Muchas gracias por tu comentario. En cuanto me sea posible te daré mi opinión.