Buenas tardes,
Podéis decirme donde está el error para que no me dibuje una linea del el objetivo 2??
// Configuración inicial
AnnualOpen = 5884.11 // Guardar el precio de apertura anual
TargetPercentage1 = 1.25 // Porcentaje objetivo 1
TargetPercentage2 = (AnnualOpen/1.025) // Porcentaje objetivo 2
// Detectar el inicio de un nuevo año en un gráfico diario
if year > year[1] then
AnnualIdx = barindex // Guardar el índice de la barra de apertura
// Calcular niveles objetivo
TargetLevel1 = AnnualOpen + (AnnualOpen * TargetPercentage1 / 100)
TargetLevel2 = AnnualOpen + (AnnualOpen * TargetPercentage2 / 100)
endif
// Dibujar líneas del precio de apertura y niveles objetivo
if AnnualOpen = 5884.11 then
// Línea del precio de apertura anual
DRAWSEGMENT(AnnualIdx, AnnualOpen, barindex + 260, AnnualOpen) COLOURED(127, 255, 0) style(line)
// Línea del nivel
DRAWSEGMENT(AnnualIdx, TargetLevel1, barindex + 260, TargetLevel1) COLOURED(255, 165, 0) style(line)
DRAWSEGMENT(AnnualIdx, TargetLevel2, barindex + 260, TargetLevel2) COLOURED(255, 165, 0) style(line)
endif
return// Variables de configuración
Gracias
Hola,
¿ Valor de TargetPercentage2 es demasiado grande? Por lo tanto, TargetLevel2 también y el segmento es demasiado alto en el gráfico fuera de pantalla.
Gracias por tu respuesta.
No entiendo lo que quieres decir. No creo que sea demasiado grande.
Saludos
JSParticipant
Senior
Pruebe estos…
TargetPercentage1 = 1.025 // Target percentage 1
TargetPercentage2 = 0.975 // Target percentage 2
If OpenYear=2025 and OpenYear[1]=2024 then
AnnualIdx = barindex // Save the index of the opening bar
AnnualOpen=Open
TargetLevel1 = AnnualOpen + (AnnualOpen * TargetPercentage1/100)
TargetLevel2 = AnnualOpen - (AnnualOpen * TargetPercentage2/100)
EndIf
DRAWSEGMENT(AnnualIdx, AnnualOpen, barindex, AnnualOpen) COLOURED("Purple") Style(Line,2)
DRAWSEGMENT(AnnualIdx, TargetLevel1, barindex, TargetLevel1) COLOURED("Brown") Style(Line,2)
DRAWSEGMENT(AnnualIdx, TargetLevel2, barindex, TargetLevel2) COLOURED("Green") Style(Line,2)
Return
Muchas gracias. Me sirve.
Solo un tema. si en lugar del precio de apertura del año quiero poner de ese dia una hora concreta, puede hacerse??
JSParticipant
Senior
Hola,
Con “DrawText” puedes mostrar los diferentes valores en el gráfico…
DefParam DrawOnLastBarOnly=True
TargetPercentage1 = 1.025 // Target percentage 1
TargetPercentage2 = 0.975 // Target percentage 2
If OpenYear=2025 and OpenYear[1]=2024 then
AnnualIdx = barindex // Save the index of the opening bar
AnnualOpen=Open
TargetLevel1 = Round(AnnualOpen + (AnnualOpen * TargetPercentage1/100),2)
TargetLevel2 = Round(AnnualOpen - (AnnualOpen * TargetPercentage2/100),2)
EndIf
DrawSegment(AnnualIdx, AnnualOpen, barindex, AnnualOpen) COLOURED("Purple") Style(Line,2)
DrawText("AnnualOpen=#AnnualOpen#",BarIndex+12,AnnualOpen,SansSerif,Bold,14)
DrawSegment(AnnualIdx, TargetLevel1, barindex, TargetLevel1) COLOURED("Brown") Style(Line,2)
DrawText("TLevel1=#TargetLevel1#",BarIndex+12,TargetLevel1,SansSerif,Bold,14)
DrawSegment(AnnualIdx, TargetLevel2, barindex, TargetLevel2) COLOURED("Green") Style(Line,2)
DrawText("TLevel2=#TargetLevel2#",BarIndex+12,TargetLevel2,SansSerif,Bold,14)
Return
Gracias por tu rápida respuesta y solución.
Ne es exactamente lo que quiero.
me gustaria que saliera en el lado derecho, como sale el precio y las medias móviles que he puesto de ejemplo. No texto escrito.
JSParticipant
Senior
Hola,
Aquí está el código donde aparecen los valores en la escala vertical…
DefParam DrawOnLastBarOnly=True
TargetPercentage1 = 1.025 // Target percentage 1
TargetPercentage2 = 0.975 // Target percentage 2
If OpenYear=2025 and OpenYear[1]=2024 then
AnnualIdx = barindex // Save the index of the opening bar
AnnualOpen=Open
TargetLevel1 = Round(AnnualOpen + (AnnualOpen * TargetPercentage1/100),2)
TargetLevel2 = Round(AnnualOpen - (AnnualOpen * TargetPercentage2/100),2)
EndIf
Return TargetLevel1 as "TLevel1" Coloured("Brown")Style(Line,2), TargetLevel2 as "TLevel2" Coloured("Green")Style(Line,2),AnnualOpen as "AnnualOpen"Coloured("Purple")Style(Line,2)
Muchísimas gracias.
Has sido rápido y eficaz.
Hola,
Dándole una vuelta al tema, he estado pensando en hacer una posible modificación.
TargetPercentage1 = 1.025 // Target percentage 1
TargetPercentage2 = 0.975 // Target percentage 2
Si quiero modificar estos valores a por ejemplo:
TargetPercentage1 = 1.050 // Target percentage 1
TargetPercentage2 = 0.925 // Target percentage 2
o
TargetPercentage1 = 1.075// Target percentage 1
TargetPercentage2 = 0.900 // Target percentage 2
Pero no quiero tenerlo que hacer manualmente cada vez, puedo poner algún selector para hacerlo de forma mas rápida??
Digo aquí, mirar la imagen por favor
JSParticipant
Senior
He añadido dos parámetros…
Para ello tienes que descargar el “archivo itf”…
No es lo que buscaba, pero no quiero marearte mas. Ya has hecho mucho. Aprovecharé todo lo que me has dado.
Repito, muchas gracias
JSParticipant
Senior
Hola,
¿Has intentado hacer clic en el indicador (en el gráfico) y luego ir a “configuración”?
Aquí puedes ajustar los parámetros (ver captura de pantalla)…