Posicionar un texto en el borde derecho de la pantalla

Trabajo finalizado

Plazo de ejecución 6 minutos
Comentario del Cliente
El desarrollador tiene amplios conocimientos del lenguaje mq5 y trabaja con bastante eficiencia y calidad. Lo recomiendo al 100%
Comentario del Ejecutor
¡Un verdadero profesional y una buena persona! ¡Fue un placer trabajar! ¡Gracias por tu pedido!

Tarea técnica

Logré crear un indicador que muestra una línea en los niveles comerciales High y Low del día anterior y en la apertura del día actual, intenté añadirle un texto que defina la línea pero por mas que lo intento no logro posicionar el texto en el lugar deseado (el borde derecho de la ventana) (ver imagen adjunta). El texto sí se dibuja pero se posiciona en el tiempo actual del eje X. 

// Añadir texto para el high del día anterior
      if (ObjectFind(0, highTextName) == -1)
      {
         if (!ObjectCreate(0, highTextName, OBJ_TEXT, 0, TimeCurrent(), previous_high))
         {
            Print("Error al crear el texto del máximo del día anterior");
         }
         else
         {
            ObjectSetString(0, highTextName, OBJPROP_TEXT, "HD");
            ObjectSetInteger(0, highTextName, OBJPROP_COLOR, clrTeal);
            ObjectSetInteger(0, highTextName, OBJPROP_FONTSIZE, 8);
         }

// Añadir texto para el low del día anterior
      if (ObjectFind(0, lowTextName) == -1)
      {
         if (!ObjectCreate(0, lowTextName, OBJ_TEXT, 0, TimeCurrent(), previous_low))
         {
            Print("Error al crear el texto del mínimo del día anterior");
         }
         else
         {
            ObjectSetString(0, lowTextName, OBJPROP_TEXT, "LD");
            ObjectSetInteger(0, lowTextName, OBJPROP_COLOR, clrTeal);
            ObjectSetInteger(0, lowTextName, OBJPROP_FONTSIZE, 8);
         }

// Añadir texto para la apertura del día actual
      if (ObjectFind(0, openTextName) == -1)
      {
         if (!ObjectCreate(0, openTextName, OBJ_TEXT, 0, TimeCurrent(), current_open))
         {
            Print("Error al crear el texto de la apertura del día actual");
         }
         else
         {
            ObjectSetString(0, openTextName, OBJPROP_TEXT, "OD");
            ObjectSetInteger(0, openTextName, OBJPROP_COLOR, clrYellow);
            ObjectSetInteger(0, openTextName, OBJPROP_FONTSIZE, 8);
         }

   // Obtener el ancho del gráfico en píxeles
   long chartWidth = ChartGetInteger(0, CHART_WIDTH_IN_PIXELS);

   // Coordenadas de la línea del High
   int high_x = 0, high_y = 0;
   if (ChartTimePriceToXY(0, 0, TimeCurrent(), HighLineBuffer[0], high_x, high_y))
   {
      high_x = MathMin((int)chartWidth - 10, high_x); // Ajustar posición X
      ObjectSetInteger(0, highTextName, OBJPROP_XDISTANCE, (int)chartWidth - high_x - 10); // Ajustar posición X
      ObjectSetInteger(0, highTextName, OBJPROP_YDISTANCE, high_y);
   }

   // Coordenadas de la línea del Low
   int low_x = 0, low_y = 0;
   if (ChartTimePriceToXY(0, 0, TimeCurrent(), LowLineBuffer[0], low_x, low_y))
   {
      low_x = MathMin((int)chartWidth - 10, low_x); // Ajustar posición X
      ObjectSetInteger(0, lowTextName, OBJPROP_XDISTANCE, (int)chartWidth - low_x - 10); // Ajustar posición X
      ObjectSetInteger(0, lowTextName, OBJPROP_YDISTANCE, low_y);
   }

   // Coordenadas de la línea de Apertura
   int open_x = 0, open_y = 0;
   if (ChartTimePriceToXY(0, 0, TimeCurrent(), OpenLineBuffer[0], open_x, open_y))
   {
      open_x = MathMin((int)chartWidth - 10, open_x); // Ajustar posición X
      ObjectSetInteger(0, openTextName, OBJPROP_XDISTANCE, (int)chartWidth - open_x - 10); // Ajustar posición X
      ObjectSetInteger(0, openTextName, OBJPROP_YDISTANCE, open_y);
   }

   return rates_total;
}



¿Alguien tiene alguna idea de como podría mejorar esto?



Archivos adjuntos:

Han respondido

1
Desarrollador 1
Evaluación
(535)
Proyectos
613
34%
Arbitraje
34
38% / 47%
Caducado
9
1%
Ocupado
2
Desarrollador 2
Evaluación
(1)
Proyectos
1
0%
Arbitraje
0
Caducado
0
Libre
3
Desarrollador 3
Evaluación
(180)
Proyectos
307
24%
Arbitraje
20
35% / 5%
Caducado
23
7%
Trabaja
Ha publicado: 3 ejemplos
4
Desarrollador 4
Evaluación
(61)
Proyectos
90
17%
Arbitraje
3
0% / 0%
Caducado
2
2%
Libre
5
Desarrollador 5
Evaluación
Proyectos
0
0%
Arbitraje
1
0% / 0%
Caducado
0
Trabaja
6
Desarrollador 6
Evaluación
(140)
Proyectos
182
42%
Arbitraje
23
61% / 17%
Caducado
12
7%
Trabaja
7
Desarrollador 7
Evaluación
(23)
Proyectos
29
14%
Arbitraje
3
0% / 67%
Caducado
3
10%
Trabaja
Solicitudes similares
Hola, necesito la ayuda con la creación de una estrategia que involucre indicadores que me ayuden a comprar o vender en mejor punto para maximizar mis ganancias.Solo necesito que sea capaz de confirmar las tendencias del día alcista o bajista
Necesito un indicador para MetaTrader 5 que dibuje automáticamente líneas horizontales en base a mi método de análisis, con las siguientes condiciones: Se debe identificar máximos y mínimos recientes en el historial de velas. Máximos: solo se marcarán si corresponden a velas alcistas (cierre mayor que apertura). Mínimos: solo se marcarán si corresponden a velas bajistas (cierre menor que apertura). Las líneas deben

Información sobre el proyecto

Presupuesto
30+ USD
Para el ejecutor
27 USD