Dibujar linea de apertura y dlinea a un porcentaje objetivo
Forums › ProRealTime foro Español › Soporte ProOrder › Dibujar linea de apertura y dlinea a un porcentaje objetivo
- This topic has 11 replies, 3 voices, and was last updated 5 days ago by Amanav.
-
-
12/18/2024 at 5:13 PM #241572
Hola,
Llevo dias intentando programar algo que me parece simple pero no soy capaz.
Quiero dibujar una linea de precio de apertura de la semana a una hora en concreto a las 01:00 en grafico de 5 minutos y una linea en la que yo pueda poner a que porcentaje objetivo quiero que se dibuje. Por ejemplo al 5% y que si quiero que en otro momento sea al 3% pueda cambiarlo.
Podéis ayudarme??
Gracias
12/19/2024 at 10:21 AM #241585Buenos días
Aquí lo tienes:
1234567891011121314151617181920212223242526// Variables de configuraciónOpeningHour = 130000 // Hora de aperturaTargetPercentage = 5 // Porcentaje objetivo (puedes cambiar este valor)// Obtener el precio de apertura semanalIF openDayOfWeek = 1 AND opentime >= OpeningHour and opentime[1]<OpeningHour THENLastWeeklyOpen=WeeklyOpenLastWeeklyIdx=WeeklyIdxLastTargetLevel=TargetLevelWeeklyOpen = Open // Guardar el precio de apertura semanalWeeklyIdx = barindexTargetLevel = WeeklyOpen + (WeeklyOpen * TargetPercentage / 100)// Calcular el nivel del porcentaje objetivoENDIF// Dibujar la línea del precio de apertura semanalDRAWSEGMENT(LastWeeklyIdx, LastWeeklyOpen, WeeklyIdx, LastWeeklyOpen) COLOURED(0, 0, 255) style(dottedline)// Dibujar la línea del nivel de porcentaje objetivoDRAWSEGMENT(LastWeeklyIdx, LastTargetLevel, WeeklyIdx, LastTargetLevel) COLOURED(255, 0, 0) style(dottedline)// Línea roja para el porcentajeif islastbarupdate then// Dibujar la línea del precio de apertura semanalDRAWSEGMENT(WeeklyIdx, WeeklyOpen, barindex+10, WeeklyOpen) COLOURED(0, 0, 255) style(line)// Dibujar la línea del nivel de porcentaje objetivoDRAWSEGMENT(WeeklyIdx, TargetLevel, barindex+10, TargetLevel) COLOURED(255, 0, 0) style(line)// Línea roja para el porcentajeendifreturn1 user thanked author for this post.
12/22/2024 at 9:22 AM #24167512/22/2024 at 9:39 AM #241676Disculpa Iván,
Si que dibuja la linea de apertura, pero no a las 01:00 sino a las 13:00.
Lo he intentado cambiar yo y no se porque a las 01:00 no las dibuja y a otras horas si.
Por otro lado, la linea de objetivo variable, que en este caso dijimos al 5 %, como puedo hacer para que tambien la dibuje al -5%?
Saludos
12/22/2024 at 11:42 AM #241683Aquí está el código ajustado de Ivan…
Si deseas usar diferentes horarios o porcentajes, puedes ajustarlos en las primeras líneas del código (OpeningHour, TargetPercentage1, TargetPercentage2)…
Open line and Target lines12345678910111213141516171819202122232425262728293031// Variables de configuraciónOpeningHour = 010000 // Hora de aperturaTargetPercentage1 = 5 // Porcentaje objetivo (puedes cambiar este valor)TargetPercentage2 = -5// Obtener el precio de apertura semanalIF openDayOfWeek = 1 AND opentime >= OpeningHour and opentime[1]<OpeningHour THENLastWeeklyOpen=WeeklyOpenLastWeeklyIdx=WeeklyIdxLastTargetLevel1=TargetLevel1LastTargetLevel2=TargetLevel2WeeklyOpen = Open // Guardar el precio de apertura semanalWeeklyIdx = barindexTargetLevel1 = WeeklyOpen + (WeeklyOpen * TargetPercentage1 / 100)// Calcular el nivel del porcentaje objetivoTargetLevel2 = WeeklyOpen + (WeeklyOpen * TargetPercentage2 / 100)ENDIF// Dibujar la línea del precio de apertura semanalDRAWSEGMENT(LastWeeklyIdx, LastWeeklyOpen, WeeklyIdx, LastWeeklyOpen) COLOURED(0, 0, 255) style(dottedline)// Dibujar la línea del nivel de porcentaje objetivoDRAWSEGMENT(LastWeeklyIdx, LastTargetLevel1, WeeklyIdx, LastTargetLevel1) COLOURED(255, 0, 0) style(dottedline)// Línea roja para el porcentajeDRAWSEGMENT(LastWeeklyIdx, LastTargetLevel2, WeeklyIdx, LastTargetLevel2) COLOURED(255, 0, 0) style(dottedline)if islastbarupdate then// Dibujar la línea del precio de apertura semanalDRAWSEGMENT(WeeklyIdx, WeeklyOpen, barindex+10, WeeklyOpen) COLOURED(0, 0, 255) style(line)// Dibujar la línea del nivel de porcentaje objetivoDRAWSEGMENT(WeeklyIdx, TargetLevel1, barindex+10, TargetLevel1) COLOURED(255, 0, 0) style(line)// Línea roja para el porcentajeDRAWSEGMENT(WeeklyIdx, TargetLevel2, barindex+10, TargetLevel2) COLOURED(255, 0, 0) style(line)endifreturn3 users thanked author for this post.
12/22/2024 at 12:09 PM #241685Muchas gracias por responder,
Pensaba que hoy no respondería nadie al ser domingo y he puesto una nueva pregunta sin ver tu anterior respuesta. MUCHAS, muchas Gracias.
Como tengo el dia tranquilo estoy haciendo cosas y resuelvo unas y se me dificultan otras.
SOLUCIONADO lo de añadir una linea en el -5%. Aunque para no tocar el código cada vez, me gustaría poder añadir un parámetro que me permitiera poder multiplicar ese porcentaje.
Me explico, imaginemos que lo pongo en 1,5% dentro del código. Pues quiero añadir un parámetro que cambiándolo me permita ponerlo multiplicándolo x 2, x 4, x 8 o x 16. O sea, que si tengo 1,5% y cambio el parámetro a 2, lo múltiple por dos y entonces dibuje la lineal al 3%, que si cambio el parámetro a 4 pues lo multiplique por 4 i dibuje la linea al 6% y así con 4 niveles de parámetros.
SIGO sin entender porque puedo configurar cualquier hora menos las 01:00 h. A esa hora las líneas no se dibujan.
SI pongo hora 010000 seria lo correcto y no lo hace lo mínimo que me deja es 010001
Otra tontería mas, como darle mayor grosor a las líneas?
Muchas gracias y felices fiestas
12/22/2024 at 12:37 PM #241686Lo que quizás funcione mejor es hacer que la entrada sea variable para que puedas establecer tus propios porcentajes.
Cuando haces clic en la etiqueta del indicador en el gráfico, puedes configurar el indicador de la manera que prefieras.
En cuanto a los horarios diferentes, probablemente tenga que ver con la zona horaria; creo que tal vez deberías usar ‘000000’ en lugar de ‘010000’.
¡Felices fiestas para ti también!”1 user thanked author for this post.
12/22/2024 at 12:41 PM #24168912/22/2024 at 1:01 PM #24169112/22/2024 at 1:38 PM #24169312/24/2024 at 8:57 AM #241741Buenos días,
He estado trabajando en el código y tengo algún tema a mejorar.
Pongo este código Mensual en grafico de 15 minutos y necesito resolver dos cosas:
1-no consigo que me coja como inicio horario las 01:00 EN CAMBIO SI LO HAGO EN EL GRAFIGO DE 5 MINUTOS SI ME LO COGE
2- como saco la variable de volatilidad = 4 fuera del código como un parámetro que pueda modificar??
// Variables de configuración
OpeningHour = 010010 // Hora de apertura SI AQUI PONGO 010000 SE VA AL MES DE OCTUBRE EN LUGAR DE DICIEMBRE
volatilidad = 4
startDayOfMonth = 2 // Día del mes para empezar a dibujar la línea de apertura, ESTO LOTENGO ASÍ POR SI EL MES INICIA EN DIA FESTIVO
openDayOfMonth = 2 // Día del mes para dibujar la línea de aperturaTargetPercentage1 = 0.50 // Porcentaje objetivo 1
TargetPercentage2 = -0.50 // Porcentaje objetivo 2
TargetPercentage3 = 1 // Porcentaje objetivo 3
TargetPercentage4 = -1 // Porcentaje objetivo 4AdjustedTargetPercentage1 = TargetPercentage1 * volatilidad
AdjustedTargetPercentage2 = TargetPercentage2 * volatilidad
AdjustedTargetPercentage3 = TargetPercentage3 * volatilidad
AdjustedTargetPercentage4 = TargetPercentage4 * volatilidad// Variables internas
// Definir dayofmonth correctamente para obtener el día del mes
dayofmonth = day
isFirstTradingDay = 0// Verificar el primer día hábil del mes a partir del día especificado
IF dayofmonth = openDayOfMonth AND opentime >= OpeningHour AND opentime[1] < OpeningHour THEN
LastMonthlyOpen = MonthlyOpen
LastMonthlyIdx = MonthlyIdx
LastTargetLevel1 = TargetLevel1
LastTargetLevel2 = TargetLevel2
LastTargetLevel3 = TargetLevel3
LastTargetLevel4 = TargetLevel4MonthlyOpen = Open // Guardar el precio de apertura semanal
MonthlyIdx = barindex
TargetLevel1 = MonthlyOpen + (MonthlyOpen * AdjustedTargetPercentage1 / 100) // Calcular el nivel objetivo 1
TargetLevel2 = MonthlyOpen + (MonthlyOpen * AdjustedTargetPercentage2 / 100) // Calcular el nivel objetivo 2
TargetLevel3 = MonthlyOpen + (MonthlyOpen * AdjustedTargetPercentage3 / 100) // Calcular el nivel objetivo 3
TargetLevel4 = MonthlyOpen + (MonthlyOpen * AdjustedTargetPercentage4 / 100) // Calcular el nivel objetivo 4ENDIF
// Dibujar la línea del precio de apertura semanal en color naranja
DRAWSEGMENT(LastMonthlyIdx, LastMonthlyOpen, MonthlyIdx, LastMonthlyOpen) COLOURED(127, 255, 0) style(dottedline)// Dibujar las líneas de los niveles objetivos
DRAWSEGMENT(LastMonthlyIdx, LastTargetLevel1, MonthlyIdx, LastTargetLevel1) COLOURED(255, 165, 0) style(dottedline)
DRAWSEGMENT(LastMonthlyIdx, LastTargetLevel2, MonthlyIdx, LastTargetLevel2) COLOURED(255, 165, 0) style(dottedline)
DRAWSEGMENT(LastMonthlyIdx, LastTargetLevel3, MonthlyIdx, LastTargetLevel3) COLOURED(255, 165, 0) style(dottedline)
DRAWSEGMENT(LastMonthlyIdx, LastTargetLevel4, MonthlyIdx, LastTargetLevel4) COLOURED(255, 165, 0) style(dottedline)IF islastbarupdate THEN
// Dibujar la línea del precio de apertura semanal extendida en color naranja
DRAWSEGMENT(MonthlyIdx, MonthlyOpen, barindex + 10, MonthlyOpen) COLOURED(127, 255, 0) style(line)// Dibujar las líneas de los niveles objetivos extendidas
DRAWSEGMENT(MonthlyIdx, TargetLevel1, barindex + 10, TargetLevel1) COLOURED(255, 165, 0) style(line)
DRAWSEGMENT(MonthlyIdx, TargetLevel2, barindex + 10, TargetLevel2) COLOURED(255, 165, 0) style(line)
DRAWSEGMENT(MonthlyIdx, TargetLevel3, barindex + 10, TargetLevel3) COLOURED(255, 165, 0) style(line)
DRAWSEGMENT(MonthlyIdx, TargetLevel4, barindex + 10, TargetLevel4) COLOURED(255, 165, 0) style(line)ENDIF
RETURN
Muchas Gracias y Felices fiestas
01/02/2025 at 11:59 AM #242063 -
AuthorPosts
Find exclusive trading pro-tools on