Posicionar un texto en el borde derecho de la pantalla

Job finished

Execution time 6 minutes
Feedback from customer
El desarrollador tiene amplios conocimientos del lenguaje mq5 y trabaja con bastante eficiencia y calidad. Lo recomiendo al 100%
Feedback from employee
¡Un verdadero profesional y una buena persona! ¡Fue un placer trabajar! ¡Gracias por tu pedido!

Specification

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?



Responded

1
Developer 1
Rating
(542)
Projects
624
33%
Arbitration
37
38% / 51%
Overdue
11
2%
Busy
2
Developer 2
Rating
(1)
Projects
1
0%
Arbitration
0
Overdue
0
Free
3
Developer 3
Rating
(184)
Projects
317
24%
Arbitration
23
35% / 13%
Overdue
24
8%
Free
Published: 3 codes
4
Developer 4
Rating
(62)
Projects
91
16%
Arbitration
4
0% / 25%
Overdue
2
2%
Free
5
Developer 5
Rating
Projects
0
0%
Arbitration
1
0% / 0%
Overdue
0
Working
6
Developer 6
Rating
(144)
Projects
186
41%
Arbitration
24
58% / 21%
Overdue
13
7%
Free
7
Developer 7
Rating
(23)
Projects
29
14%
Arbitration
3
0% / 67%
Overdue
3
10%
Working
Similar orders
Buenas tengo un bot de metatrader 4 y me gustaria que me lo transformaran en lenguaje de mql5 para que funcione en la plataforma de Metatrader 5 SIN MODIFIFCAR nada de la estrategia del bot ni nada, es decir, convertir el codigo de mt4 a mt5 y a mayores, quisiera aprovechar para poder crear un menu para configurar los parametros del EA, que sea intuitivo, seperado por modulos con sus titulos y que sea mas atractivo
I am looking for an experienced MQL4 / MQL5 developer to convert my existing Risk–Reward indicator into a fully functional Expert Advisor (EA) . ⚠️ Important: The indicator is my own and I already have the full source code . At the moment, it works exactly like the Risk–Reward tool in TradingView , visually showing entry, stop loss, and take profit. Now, I want to transform it into an EA capable of executing and
1. Que se trace línas diagonales de "SOPORTE" que entre toques por acción del precio de velas de un tiempo, ejemplo: H1, empate con la MA sobre velas de precio, con confirmación de MACD (12.26.3) 2. Que se trace línea diagonal desde 2 toques en la RSI, y que empate en el "3" tercer toque con la MA sobre precio en H1. 3. Arreglar un Bug, donde cuando toque el take profit o stop lost de money management, pare los bots

Project information

Budget
30+ USD