Hola a todos,
os agradecería mucho me ayudaran con un código para cribador que detecte la proximidad del precio a la banda inferior de un canal alcista. Gracias de antemano!
Un saludo,
Héctor
Hola
Se puede programar por ejemplo un canal de negociación de N peridos y una media movil de M periodos.
Si la media móvil está subiendo consideramos al precio alcista.
Por otro lado definiendo un porcentaje podemos pedir al proscreener que esté X% cerca de la banda inferior del canal de negociación.
//Canal de negociacion
n=20
src=close
bandainf = lowest[n](src)
x = 0.01 //precision a la banda inferior
limiteup = (1+x)*bandainf
limitedw = (1-x)*bandainf
//Precio alcista
m=50
ma = average[m](close)
//Condiciones
c1 = roc[3](ma)>0
c2 = src > limitedw and src < limiteup
screener[c1 and c2]
Puedes cambiar los periodos, el precio de referencia y la precisión.
Buenas tardes Nicolas,
Le estoy muy agradecido por su ágil respuesta! Procedo a implementarlo y probarlo.
Un saludo,
Héctor
Hola a todos,
solo quiero agradecer cordialmente a Iván por facilitarme el código que buscaba. Era la primera vez que utilizaba el foro, reaccioné precipitadamente a la respuesta y me no percaté de que el código provenía de Iván.
Gracias Iván! Un saludo,
Héctor
Buenas tardes Iván,
preguntarte si también sería posible crear un código que tome como base una línea de soporte/resistencia oblicua, y no un canal de negociación propiamente dicho??? Gracias de antemano!
Un saludo,
Héctor
Buenas
Aquí tendrías un ejemplo:
Dada una línea de tendencia formada por el mínimo de los últimos 10 periodos y el mínimo de los últimos 50 periodos, podemos localizar valores que hayan cerrado por encima de la línea habiendo estado el mínimo de la barra por debajo de ésta.
canalinf1 = lowest[50](low)
canalinf2 = lowest[10](low)
/////////////////////////////
if low = canalinf1 then
$yinf1[lastset($yinf1)+1]=low
$xinf1[lastset($xinf1)+1]=barindex
xinf1 = xinf1+1
endif
if low = canalinf2 then
$yinf2[lastset($yinf2)+1]=low
$xinf2[lastset($xinf2)+1]=barindex
xinf2 = xinf2+1
endif
//(x-x1)/(x2-x1) = (y-y1)/(y2-y1)
y1 = $yinf1[max(xinf1-1,1)]
x1 = $xinf1[max(xinf1-1,1)]
y2 = $yinf2[max(xinf2-1,1)]
x2 = $xinf2[max(xinf2-1,1)]
x = barindex
y = y1+(x-x1)*(y2-y1)/(x2-x1)
screener[low < y and close > y]
Perfecto Iván, muchas gracias!!!
Un saludo,
Héctor