Hola, he adaptado un SCREENER en el foro que sirve para encontrar Velas “importantes”. La daptación consiste en realizar la búsqueda en valores que cumplen las condiciones del código, pero en las últimas 5 velas, no sólo en la última. EL problema es que SCREENER [ACHAT] (vela as “vela”,UltimosDias as ” periodo”) no me “imprime en la ordenación el campo “vela”, sólo imprime el campo periodo (que es 5 por estar definido enel código), aunque tenga activada la pestaña de “mostrar valores” en el menú. ¿alguna idea?
// Acciones Explosivas V2 (5 Últimos días)
UltimosDias = 5
c1 = volume > 2.5 * average[20](volume) and volume > 10000
c2 = close > open
c3 = close > average[150](close) and average[150](close) > average[150](close[1])
amplitude = close - open
c4 = amplitude > 4 * average[20](amplitude)
c5 = close > bollingerup[20](close)
c6 = average[15](bollingerbandwidth[20](close[1])) < 0.8 * average[50](bollingerbandwidth[20](close[1]))
// Modificación para buscar velas importantes en los últimos 5 días
ImportantCandle = close[1] > open[1] and amplitude[1] > 4 * average[20](amplitude[1])
// Inicializar el vector de verificación
$VerificacionDias[5] = 0
for i = 1 to UltimosDias do
// Verificar si la vela importante se cumple en el día actual (barindex - i)
CumpleCondicion = ImportantCandle[i]
if CumpleCondicion and c1 and c2 and c3 and c4 and c5 and c6 then
$VerificacionDias[i] = 1
endif
next
// Verificar si al menos un día cumple las condiciones
ACHAT = 0
for i = 0 to UltimosDias do
if $VerificacionDias[i] then
ACHAT = 1
vela=i
break // Si un día cumple, salir del bucle
endif
next
SCREENER[ACHAT](vela as "vela",UltimosDias as " periodo")
Este es el pantallazo con el resultado del SCREENER
Hola raro porque a mi me funciona bien
Sí es raro. En otros SCREEN me lo hace perfecto. Voy a rrearrancar, borrar temporales, et.. a ver si se arregla
Buenas tardes
Cuando tengas la ventana abierta con los resultados del screener puedes configurar las columnas que aparecen.
Pinchas en la llave inglesa e introduces la columna que te falta. Adjunto verás una captura de pantalla con lo que quiero decir.
Nada, no he tenido suerte. Sigue igual. ¿Alguna idea?
¡¡Muchas Gracias Iván!!. Era bien sencillo. Solucionado. Por cierto, me encanta tu canalde YOUTUBE .
Bueno, como ya está listo, y creo que funciona bien, adjunto el código SCREENER por si le interesa a alguien.
Al gusto del consumidor se puede “tocar” el número de velas anteriores que se quiera escanear de la lista, así como
el volumen negociado o su coeficiente de incremento, o el coeficiente de incremento de la amplitud.
Adjunto como ejemplo gráfico (de varios ncontrados) de hoy mismo (cierre al 6 febrero 2024) con el resultado del escaneo de una lista de valores USA con una hermosa vela alcista de hace 7 dias.
//SCREENER búsqueda de velas “explosivas” 07/02/2024. Intervalo 10 dias
TIMEFRAME(daily)
// VARIABLES
LastDay = 10
cierre = 0
ACHAT = 0
Candel = -1
// CONDICIONES
//c1: volumen de negociación alto (en empresas de mucha negociación) puede indicar una mayor actividad
//c3: Precio actual por encima de su promedio a largo plazo y que este promedio esté en una tendencia ascendente
//c4: amplitud de la vela actual sea significativamente mayor que su amplitud promedio reciente
//c5: Que cierre supere la banda superior de Bollinger(20)
//c6: se requiere que el precio esté experimentando un período de baja volatilidad
c1 = volume > 3 * average[20](volume) and volume*close > 10000000
c2 = close > open
c3 = close > average[150](close) and average[150](close) > average[150](close[1])
amplitude = close – open
c4 = amplitude > 5 * average[20](amplitude)
c5 = close > bollingerup[20](close)
c6 = average[15](bollingerbandwidth[20](close[1])) < 0.8 * average[50](bollingerbandwidth[20](close[1]))
// BÚSQUEDA DE VELA QUE CUMPLE CON LAS CONDICIONES
if not ACHAT then
for i = 0 to LastDay-1
if c1[i] and c2[i] and c3[i] and c4[i] and c5[i] and c6[i] then
ACHAT = 1
Candel = i
cierre = close[i]
break // Salimos del bucle al encontrar la vela
endif
next
endif
// OUTPUT
screener[ACHAT] (Candel as “vela”, cierre as “cierre”)