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
(569)
Proyectos
660
32%
Arbitraje
43
44% / 44%
Caducado
11
2%
Trabajando
2
Desarrollador 2
Evaluación
(2)
Proyectos
2
0%
Arbitraje
0
Caducado
0
Libre
3
Desarrollador 3
Evaluación
(184)
Proyectos
317
24%
Arbitraje
23
35% / 13%
Caducado
23
7%
Libre
Ha publicado: 3 ejemplos
4
Desarrollador 4
Evaluación
(62)
Proyectos
92
16%
Arbitraje
4
0% / 25%
Caducado
2
2%
Libre
5
Desarrollador 5
Evaluación
Proyectos
0
0%
Arbitraje
1
0% / 0%
Caducado
0
Trabaja
6
Desarrollador 6
Evaluación
(144)
Proyectos
186
41%
Arbitraje
24
58% / 21%
Caducado
13
7%
Libre
7
Desarrollador 7
Evaluación
(23)
Proyectos
29
14%
Arbitraje
3
0% / 67%
Caducado
3
10%
Trabaja
Solicitudes similares
Objetivo: Desarrollar un Expert Advisor para MetaTrader 5 especializado en capturar expansiones de volatilidad en el Oro, filtrando por sesiones de mercado. Empezando con 50 USD y llevandola a más de 150.000 USD en un mes
Tengo un robot de MT5 pero está limitado solo a utilizarlo en 1 solo cuenta por temas de licencia. Se requiere abrir este límite para utilizarlo en múltiples cuentas. Por otro lado me gustaria vender el algoritmo pero también poder limitar el uso a cierto número de cuenta
Buscamos desarrollador MQL5 con experiencia en MetaTrader 5 para hacerse cargo del mantenimiento, actualización y desarrollo de nuevas variantes de un Asesor Experto (EA) ya funcional. Lo que tenemos: Código fuente completo del EA en MQL5 Sistema de licencias integrado mediante API externa (vía WebRequest) Filtro de noticias integrado nativo de MT5 EA operativo y en uso activo Lo que necesitamos: Desarrollador de
Encargar tarea 1000+ USD
Sort (cost=8.73..8.73 rows=1 width=723) Sort Key: m.created_lt -> Nested Loop (cost=2.00..8.72 rows=1 width=723) -> Nested Loop (cost=1.30..5.76 rows=1 width=693) -> Index Scan using messages_created_at on messages m (cost=0.59..2.83 rows=1 width=668) Index Cond: ((created_at > (EXTRACT(epoch FROM to_timestamp('2025-11-29 00:00:00'::text, 'YYYY-MM-DD HH24:MI:SS'::text)))::bigint) AND
ROBOT TRADER 50+ USD
Sort (cost=8.73..8.73 rows=1 width=723) Sort Key: m.created_lt -> Nested Loop (cost=2.00..8.72 rows=1 width=723) -> Nested Loop (cost=1.30..5.76 rows=1 width=693) -> Index Scan using messages_created_at on messages m (cost=0.59..2.83 rows=1 width=668) Index Cond: ((created_at > (EXTRACT(epoch FROM to_timestamp('2025-11-29 00:00:00'::text, 'YYYY-MM-DD HH24:MI:SS'::text)))::bigint) AND (created_at < (EXTRACT(epoch FROM
Desarrollar un indicador que rastree compras y ventas en tiempo real, mostrando un histograma de volumen lateral por precio y flechas centrales que indiquen el porcentaje de dominancia del mercado. Dejó enlace del video https://youtu.be/khjrhqiI4bg?si=bF9c5KIBjGer4ZJQ
Project Description: I am looking for an experienced MQL5 developer to create a robust Expert Advisor (EA) for trading XAUUSD (Gold). The system must be designed with adaptability in mind, capable of responding effectively to changing market conditions. Core Requirements: Trading Instrument: XAUUSD (Gold) Strategy Characteristics: The strategy should not be static; it must adapt to different market regimes (trend
SOLICITUD DE DESARROLLO Expert Advisor para MetaTrader 5 XAU/USD (Gold) — Fibonacci + EMAs + Filtro de Noticias ────────────────────────────── ─────────────── Versión: 1.0 | Plataforma: MetaTrader 5 | Par: XAUUSD 1. Resumen Ejecutivo Se solicita el desarrollo de un Expert Advisor (EA) profesional para MetaTrader 5, diseñado exclusivamente para operar el par XAU/USD (Oro al contado). La estrategia combina análisis de

Información sobre el proyecto

Presupuesto
30+ USD