Acceder

Codigos Proscreener (Prorealtime)

46 respuestas
Codigos Proscreener (Prorealtime)
7 suscriptores
Codigos Proscreener (Prorealtime)
Página
1 / 4
#1

Codigos Proscreener (Prorealtime)

Hola, He creado unos códigos muy básicos con Proscreener para identificar posibles valores para posiciones Largas y Cortas y ahorrar tiempo a la hora de buscar estrategias.

Me gustaría compartirlos con vosotros y abro este hilo con tres intenciones:

  1. Para compartir códigos que puedan servir a otros y dar ideas.
  2. Para que los que sean novatos (como yo) podamos seguir aprendiendo.
  3. Que los más expertos valoren y completen los codigos que se postean.
Los códigos que he creado son estos:

Para cortos con las siguientes condiciones : MM10050, Precio>Bollinger superior.

Mi valoración es que con estas condiciones, hay una tendencia a la Baja pero el valor está en sobre compra y puede haber bajadas. Respetamos la regla de ir con la tendencia (si nos equivocamos la bofetada será más suave).

 

indicator1 = Average[100](close)
indicator2 = Average[100](close)
c1 = (indicator1 < indicator2[1])

indicator3 = RSI[14](close)
c2 = (indicator3 > 50)

indicator4 = BollingerUp[20](close)
indicator5 = close
c3 = (indicator4 < indicator5)

criteria = Volume

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

 

Para Largos con las siguientes condiciones: Macd > Macd periodo anterior, Macd < Señal, RSI < 50

Para identificaar valores al alza, que la Macd aun no haya cortado la señal y aun esten en sobreventa.

indicator1 = MACDline[12,26,9](close)
indicator2 = MACDline[12,26,9](close)
c1 = (indicator1 > indicator2[1])

indicator3 = MACDline[12,26,9](close)
indicator4 = ExponentialAverage[9](MACDline[12,26,9](close))
c2 = (indicator3 < indicator4)

indicator5 = RSI[14](close)
c3 = (indicator5 < 50)

criteria = Volume

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

 

Los mismos codigos con las condiciones opuestas valdrán tambien para identificar la estrategia contraria.

Evidentemente habrá que ver además otros parametros claro, como Soportes/resistencias, bollinger,...

Saludos y buenas operaciones a todos.

#2

Re: Codigos Proscreener (Prorealtime)

Buenas tardes Onpots!

Muchas gracias por compartir con nosotros los códigos. Sin duda creo que es información importante para compartir, y que además es muy útil para todo aquel que le apasione este mundo. Por lo que repito, gracias por tu aportación!

Un saludo!

#3

Re: Codigos Proscreener (Prorealtime)

Muchas gracias por compartirlos. yo también soy usuario de PRT

Saludos. 

#4

Re: Codigos Proscreener (Prorealtime)

Comparto un código algo especulador con un criterio que me ha dado buen resultado de vez en cuando.

Lo he llamado Velas Calvas por que identifica velas sin sombra superior durante el día. Lo utilizo para abrir cortos al cierre esperando una bajada por recogida de beneficios.

Las variaciones normalmente son pequeñas, con lo que teniendo en cuenta los criterios de gestión de capital de cada uno, cuanta mayor inversión mejor (si sale bien). Es para operaciones de una hora, dependiendo de vuestro criterio y como haya sido el día, meteros de 4:30 a 5:15 para de 5:15 a 5:30 salir como sea, perdiendo o ganando. Lo ideal es hacerlo en acciones con tendencia bajista para tener menos riesgo y si la orden de salida no entra por lo que sea salir airosos al día siguiente, pero se dan menos casos.

Funcionará si tenéis activado el tiempo real con datos ChiX. Lo mejor que podéis hacer es poner la orden de compra directamente, no persigáis al precio, sufriréis de corazón y la avaricia os puede jugar una mala pasada. Los viernes suele haber más recogidas. Tendréis que tener la ventana abierta por que las acciones aparecen y desaparecen según se mueve el precio.

Los criterios son:

- Precio actual sea igual al máximo del día

- Variación con respecto al día anterior sea superior al +1,5% (para incrementar las posibilidades de que haya inversores que recojan al final del día, en teoría cuanta más subida más se dará este caso)

- Volumen superior a 65000: Para trabajar con acciones con suficiente volumen y volatilidad.

indicator1 = close
c1 = (DHigh(0) = indicator1)

indicator2 = close
c2 = (((indicator2)*0.985) > DClose(1))

indicator2 = Volume

c3 = Volume > 65000

criteria = Volume

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

Suerte

#5

Re: Codigos Proscreener (Prorealtime)

Muchas gracias por los códigos compartidos. Yo llevo un tiempo dándole vueltas a si sería posible un screener que detectara mínimos o puntos de inflexión de un indicador y no he sido capaz de conseguir más que indicadores crecientes, que no es lo que busco. También es verdad que la programación no es lo mío. Slds.

#6

Re: Codigos Proscreener (Prorealtime)

De nada! yo tampoco tengo mucha idea de programar, aunque he hecho algo de HTML y "R" la única vez que he programado a pelo fue visual basic en una optativa de la carrera.

Con proscreener puedes crear los codigos sin escribirlos, al menos la base y después lo refinas a mano. Evidentemente no nos podremos complicar mucho la vida, pero muchas veces creo que tampoco merece la pena.

Si concretas lo que buscas (que indicador, variables, condiciones,...) lo intentamos hacer y aprendemos de paso.

#7

Re: Codigos Proscreener (Prorealtime)

Lo mío es muy poco ambicioso. Sólo quería que el screener me detectara valores en que el histograma del MACD (también me valdría que fuese el propio MACD, o la media móvil exponencial de 16...) hiciera un mínimo y luego comenzara a subir.

Pero me da la impresión que lo del mínimo no se puede programar, porque para eso harían falta al menos 3 velas (dos descendentes y la final ascendente). Y parece que el proscreener sólo te deja trabajar con una vela y la anterior (o sea dos) y con dos evidentemente no se puede detectar un punto de inflexión. Ante el fracaso intenté programar cuando el MACD-h se pusiera horizontal y luego meterle otra condición alcista (para que me detectara mínimos y no máximos)pero al final sólo me detectó empresas muertas y con cotización suspendida.

Gracias de todos modos

#8

Re: Codigos Proscreener (Prorealtime)

No sé si es esto lo que quieres (Con MACD):

Es la primera vez que lo hago pero si no me equivoco para coger valores de días más atrás solo hay que poner un número mayor entre corchetes.

(Ejemplo: indicator2[1] sería ayer; indicator2[2] (antes de ayer)

He usado datos de la jornada en curso y de los 5 días anteriores (para tener en cuenta algo más de histórico que las tres velas que comentabas) pero con quitar parte del código basta.

No sé si me plantearía que la condición fuera que al menos haya subido dos días consecutivos, para tener un poco más de garantía de que puede haber un cambio de tendencia.

Las condiciones son: Valor de hoy > ayer < día anterior < día anterior < día anterior < día anterior

indicator1 = MACDline[12,26,9](close)
indicator2 = MACDline[12,26,9](close)
c1 = (indicator1 > indicator2[1])

indicator3 = MACDline[12,26,9](close)
indicator4 = MACDline[12,26,9](close)
c2 = (indicator3 [1] < indicator4[2])

indicator5 = MACDline[12,26,9](close)
indicator6 = MACDline[12,26,9](close)
c3 = (indicator5 [2] < indicator6[3])

indicator7 = MACDline[12,26,9](close)
indicator8 = MACDline[12,26,9](close)
c4 = (indicator7 [3] < indicator8[4])

indicator7 = MACDline[12,26,9](close)
indicator8 = MACDline[12,26,9](close)
c5 = (indicator7 [4] < indicator8[5])

indicator7 = MACDline[12,26,9](close)
indicator8 = MACDline[12,26,9](close)
c6 = (indicator7 [5] < indicator8[6])

criteria = Volume

SCREENER[c1 AND c2 AND c3 AND c4 AND c5 AND c6] (criteria AS "Volumen")

#9

Re: Codigos Proscreener (Prorealtime)

También se puede hacer uno de cruce de MACD al alza que creo que sería así:

indicator1 = MACDline[12,26,9](close)
indicator2 = ExponentialAverage[9](MACDline[12,26,9](close))

c1 = (indicator1 > indicator2)
c2 = (indicator1[1] < indicator2[1])

criteria = Volume

SCREENER[c1 AND c2] (criteria AS "Volumen")

#10

Re: Codigos Proscreener (Prorealtime)

Gracias! Es exactamente lo que buscaba. Y además es importante porque pudiéndose detectar mínimos me permite usarlo con otros indicadores. Ya me lo he hecho con el histograma MACD y me falta ponerle una condición para que me detecte sólo los mínimos negativos; los mínimos verdes a modo doble techo me interesan menos. La verdad es que en este tema de los proscreeners yo ya estaba en una vía muerta y lo tenía un poco abandonado, pero asimilando tu técnica de mínimos creo que tengo más posibilidades por delante. Tendré que echarle una pensada. Apenas usaba un par de cruces de medias y un detector de espejos de Koncorde que Blai colgó en su web.

Respecto a exigir que el indicador suba al menos dos sesiones, puede venir bien por ejemplo para la ema6 o el MACD (no histograma), pero como a mí me interesa sobre todo el MACD-h en semanal(primera pantalla de Elder)me basta con una vela, es un indicador bastante lento. Pero eso ya es cuestión de gustos.

Bueno, muchas gracias de nuevo por la ayuda y saludos

#11

Re: Codigos Proscreener (Prorealtime)

De nada!

Pega el codigo cuando lo tengas afinado, me interesa mucho tenerlo.

Ayer me salieron Grifols y Melia que hoy se han salido. Evidentemente no siempre va a ser a así, pero tiene buena pinta.

#12

Re: Codigos Proscreener (Prorealtime)

Bueno, pues quedaría así... Está casi igual que lo que tú programaste, simplemente lo he cambiado al histograma y le puesto la condición de que sólo me detecte negativos. No son valores para comprar inmediatamente, muchos así a ojo dan la sensación de quedarles carrera bajista (para entradas de muy corto plazo igual estaba mejor con MACD-h>0), pero sí para ponerlos en seguimiento. También he observado que no funciona perfecto: no sé por qué pero detecta algunos valores en que la última barra MACD-h no es mayor que la anterior, o que en vez de ser sólo una la barra creciente son dos o tres. Pero bueno, la mayoría sí cumplen bien las condiciones. Ahora mismo con la tendencia alcista que traemos en Europa apenas da resultados, pero si rastreas en el Nasdaq por ejemplo dan ganas de comprárselo todo.

Slds. (a ver si el finde que viene pienso un screener para divergencias)

indicator1 = MACD[12,26,9](close)
indicator2 = MACD[12,26,9](close)
c1 = (indicator1 > indicator2[1])

indicator3 = MACD[12,26,9](close)
indicator4 = MACD[12,26,9](close)
c2 = (indicator3 [1] < indicator4[2])

indicator5 = MACD[12,26,9](close)
indicator6 = MACD[12,26,9](close)
c3 = (indicator5 [2] < indicator6[3])

indicator7 = MACD[12,26,9](close)
indicator8 = MACD[12,26,9](close)
c4 = (indicator7 [3] < indicator8[4])

indicator9 = MACD[12,26,9](close)
indicator10 = MACD[12,26,9](close)
c5 = (indicator9 [4] < indicator10[5])

indicator11 = MACD[12,26,9](close)
indicator12 = MACD[12,26,9](close)
c6 = (indicator11 [5] < indicator12[6])

#13

Re: Codigos Proscreener (Prorealtime)

Pues no me deja pegar las últimas líneas. Pego imagen

#14

Re: Codigos Proscreener (Prorealtime)

Muchas gracias por compartir códigos de Prorealtime. Saludos.

#15

Re: Codigos Proscreener (Prorealtime)

Buenas tardes cuelgo un screener que he hecho hoy por si os interesa:
Gaps sin cerrar últimos 5 días:

La condición es que los gaps sean de al menos un 0,3% de diferencia y no estén cerrados.

No salen muchas y depende de sobre que listado de acciones lo apliquéis, España (chiX, España, España 35,...) Salen resultados ligeramente distintos. Ahora os deberían salir MTS y Sabadell. También debería estar Santander pero Santander ChiX la tenéis que añadir de forma manual a algún listado personalizado, no se por que no está en los predefinidos.

El Código:

// Dia 0
c1 = (Dlow(0) > Dhigh(1)*1.003)
c2 = (DHigh(0)*1.003 < DLow(1))

// Dia -1 Alza (Ref:
c10 = (Dlow(1) > Dhigh(2)*1.003)
c11 = (Dlow(0) > Dhigh(2)*1.003)

// Dia -1 Baja
c12 = (DHigh(1)*1.003 < DLow(2))
c13 = (DHigh(0)*1.003 < DLow(2))

// Dia -2 Alza
c20 = (Dlow(2) > Dhigh(3)*1.003)
c21 = (Dlow(1) > Dhigh(3)*1.003)
c22 = (Dlow(0) > Dhigh(3)*1.003)

// Dia -2 Baja
c23 = (DHigh(2)*1.003 < DLow(3))
c24 = (DHigh(1)*1.003 < DLow(3))
c25 = (DHigh(0)*1.003 < DLow(3))

// Dia -3 Alza
c30 = (Dlow(3) > Dhigh(4)*1.003)
c31 = (Dlow(2) > Dhigh(4)*1.003)
c32 = (Dlow(1) > Dhigh(4)*1.003)
c33 = (Dlow(0) > Dhigh(4)*1.003)

// Dia -3 Baja
c34 = (DHigh(3)*1.003 < DLow(4))
c35 = (DHigh(2)*1.003 < DLow(4))
c36 = (DHigh(1)*1.003 < DLow(4))
c37 = (DHigh(0)*1.003 < DLow(4))

// Dia -4 Alza3
c40 = (Dlow(4) > Dhigh(5)*1.003)
c41 = (Dlow(3) > Dhigh(5)*1.003)
c42 = (Dlow(2) > Dhigh(5)*1.003)
c43 = (Dlow(1) > Dhigh(5)*1.003)
c44 = (Dlow(0) > Dhigh(5)*1.003)

// Dia -5 Baja
c45 = (DHigh(4)*1.003 < DLow(5))
c46 = (DHigh(3)*1.003 < DLow(5))
c47 = (DHigh(2)*1.003 < DLow(5))
c48 = (DHigh(1)*1.003 < DLow(5))
c49 = (DHigh(0)*1.003 < DLow(5))

c100 = (ExponentialAverage[15](Volume) >= 60000)
c101 = (DClose(1) > 0.2)

criteria = ExponentialAverage[15](Volume)

SCREENER[(c1 and c100 and c101) or (c2 and c100 and c101) or (c10 and c11 and c100 and c101) or (c12 and c13 and c100 and c101) or (c20 and c21 and c22 and c100 and c101) or (c23 and c24 and c25 and c100 and c101) or (c30 and c31 and c32 and c33 and c100 and c101) or (c34 and c35 and c36 and c37 and c100 and c101) or (c40 and c41 and c42 and c43 and c44 and c100 and c101) or (c45 and c46 and c47 and c48 and c49 and c100 and c101)] (criteria AS "MM")