Buenos días.
Tengo un código que me funciona bien pero quisiera añadirle unas condiciones que después de probar varias veces no consigo editarlo bien.
El código es:
c1 = (close >= DClose(1))
c2 = Variation>=4.5
c3 = Volume>=200000
SCREENER[c1 and c2 and c3] (Variation AS “% Var barra ant”)
Lo tengo aplicado para velas de 30 min y me da las velas de 30 min con variación mayor de 4,5 % y volumen mayor de 200k, pero quiero añadir también que la vela verde, al cierre sea mínimo el 80% del rango máximo y mínimo de la vela. Y también quiero añadir dos condiciones pero estas en diario, y es que el volumen en diario de la acción no supere los 10 millones de volumen, ni supere el 20% de subida en diario. En el código tengo el volumen y la variación de la barra de 30 min pero quiero también las condiciones de variación y volumen en diario. Esto he tratado de hacerlo y no lo consigo. Cualquier ayuda estaría muy agradecido. Un saludo.
JSParticipant
Senior
Prueba estos…
TimeFrame(30 minutes)
Body=abs(Close-Open)
c4=Close>Open and Body>Range*0.8
TimeFrame(Daily)
c1=Volume>9000000 and Volume<10000000
c2=Close>Close[1] and Close < Close[1] * 1.2
La condición del 80% va perfectamente, lo que no funciona bien son las dos condiciones diarias de volumen y variación. He estado probando un buen rato y no encuentro donde está el problema. Te lo agradezco de igual manera. Un saludo.
buenas, yo lo he pasado en EEUU y funciona correctamente.
TimeFrame(30 minutes)
Body=abs(Close-Open)
c4=Close>Open and Body>Range*0.8
TimeFrame(Daily)
c1=Volume>9000000 and Volume<10000000
c2=Close>Close[1] and Close < Close[1] * 1.2
rat=close/close[1]
SCREENER[c1 and c2 and c4] (Volume AS "vol",rat)
Gracias por tu repuesta Iván.
Vamos a ver si soy capaz de explicarme porque yo lo que busco no me está funcionando pero a lo mejor soy yo el que lo está haciendo mal. Lo estoy aplicando al Nasdaq
El código que tengo y que me funciona perfectamente para velas de 30 min que es la temporalidad que quiero aplicar es:
TimeFrame(30 minutes)
c1 = Variation>=4.5
c2 = Volume>=200000
Body=abs(Close-Open)
c3=Close>Open and Body>Range*0.7
SCREENER[c1 and c2 and c3]
Con estas condiciones la única acción que aparece en el scanner es CCHH que funciona perfectamente y es la única acción que cumple esas condiciones para la última vela de 30 min del viernes dia 16. Aprovechando que el mercado americano está cerrado hoy, no va a haber ningún cambio durante el día de hoy.
A esas condiciones que ya digo que me funcionan perfectamente quería añadir dos condiciones con temporalidad diaria, que era fueran acciones que llevasen durante el dia menos de 10 M de volumen diario y que no estuvieran subiendo mas de un 20% en diario tampoco. Al juntar todo esto es un código quedaría:
TimeFrame(30 minutes)
c1 = Variation>=4.5
c2 = Volume>=200000
Body=abs(Close-Open)
c3=Close>Open and Body>Range*0.7
TimeFrame(Daily)
c4=Volume>9000000 and Volume<10000000
c5=Close>Close[1] and Close < Close[1] * 1.2
rat=close/close[1]
SCREENER[c1 and c2 and c3 and c4 and c5] (Volume AS “vol”,rat)
Al meter este código no me aparece ninguna acción y entiendo que tendría que seguir apareciendo la acción CCHH ya que cumple las dos condiciones diarias de no subir un 20% en diario ni tener mas de 10 M de volumen.
No sé si hago algo mal o estoy equivocado en mis razonamiento pero la sensación que tengo es que al meter las condiciones en diario el scanner empieza a fallar.
Un saludo y gracias nuevamente por responder
JSParticipant
Senior
Hola,
Esto probablemente se deba a que tus condiciones diarias no tienen un límite inferior…
Volumen inferior a 10M significa que el volumen puede variar entre 0 y 10M…
Lo mismo ocurre con no más de un 20 % de subida: esto puede implicar que la subida esté comprendida entre 0 % y 20 %…
Por lo tanto, no queda del todo claro si esta es realmente tu intención…
vale, no tengo datos en tiempo real en el Nasdaq, pero prueba a modificar la condicion 4.
c4=Volume<10000000
Antes le decías que fuera superior a 9M e inferior a 10M.
Gracias a los dos por la ayuda.
He detectado donde está el problema. El código está bien, son los datos los que difieren según los que aparecen en la vela diaria del gráfico y los que aparecen en las listas de la acción. Difiere por algunos miles cuando hablamos de millones y esa diferencia es donde está el problema de que la acción aparezca en el escaner o no según los datos introducidos en el código, pero repito que el código esta correcto. Así que en ese aspecto todo perfecto.
En cuanto a lo que decía del 80% de la vela respecto a todo el rango de la vela, me refiero a que el cierre menos el mínimo de la vela sea el 80% de todo el rango de la vela, es decir entre el max y min. Lo que he visto es que en el código aparece Body>Range*0.8 y yo lo que quiero es que (Close -min)>Range*0.8 , pero yo lo pongo esto y me da error en el código. Ójala supiera editar como vosotros que sois unos cracks!!!. Gracias a los dos nuevamente.
JSParticipant
Senior
Cuando lo expresas así, no debería aparecer un mensaje de error:
C3=Close>Open and (Close-Low)>Range*0.8