Errores, fallos, preguntas - página 929

 
La función devuelve el número de ventana. No está comprobando el resultado correctamente.
 
Konstantin83:
¿Cómo funciona la función ObjectFind? ¿Dónde está el error en el código para encontrar un objeto por su nombre? Las propiedades del objeto cambian, pero no puedo encontrar el objeto en sí.

void OnStart()
  {
//---

   if(ObjectCreate(0,"test",OBJ_LABEL,0,0,0))
     {
      ObjectSetString(0,"test",OBJPROP_TEXT,"Init");
      if(ObjectFind(0,"test")<0)
        {
         ObjectSetString(0,"test",OBJPROP_TEXT,"Нашел объект с помощью функции ObjectFind");
        }
      else
        {
         ObjectSetString(0,"test",OBJPROP_TEXT,"Не нашел объект с помощью функции ObjectFind");
        }
     }
  }

Deberíamos cambiar la condición:

if(ObjectFind(0,"test")>=0)
 
Contender:

Deberíamos cambiar la condición:

Gracias :)

Tengo un poco de miedo.

 
Konstantin83:

Gracias :)

Algo me tiene trastornado.

Suele ocurrir :)
 

Colegas, por favor, aconsejen sobre la alineación del texto en un gráfico.

El gráfico necesita mostrar alguna información de texto. Por ejemplo, así:

Ejemplo de salida

Como puede ver en el ejemplo, el texto tiene el siguiente formato:

1. El nombre del parámetro se alinea de izquierda a derecha, comenzando el mismo desde el borde izquierdo.

2. Los valores de los parámetros están alineados de derecha a izquierda, con el mismo comienzo en el borde derecho.

El ejemplo que he dado anteriormente utiliza la función Comment(). Para visualizar el ejemplo, he utilizado texto ajustado al espacio.

En realidad, mi pregunta es. ¿Cuál es la mejor manera (qué funciones) de implementar este mecanismo de alineación automática con una mínima pérdida de rendimiento?

Agradecería tanto una respuesta general como algún código.

 

Tal vez a alguien le interese. En general, el problema se resuelve parcialmente utilizando el objeto gráficoOBJ_LABEL y empleando una fuente monoespaciada.

Creo objetos en OnInit() y los borro en OnDeinit() e intento establecer la propiedad OBJPROP_TEXT. Si hay un error, sólo hay que informar en forma de registro. Comprobar en cada tic/temporizador si un usuario/otro EA ha borrado la etiqueta consume demasiados recursos.

Lo que no ha conseguido resolver es obtener la anchura de la marca establecida. Para, a grandes rasgos, en función del valor_, alejar su esquina superior derecha, para que no se superponga con el nombre del valor_. Basta con encontrar una distancia cómoda para que quepa un valor de siete dígitos. Los ocho dígitos se solaparán. No es agradable ni práctico. :)

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов - Документация по MQL5
 
voix_kas:

Tal vez a alguien le interese. En general, el problema se resuelve en parte utilizando el objeto gráficoOBJ_LABEL y empleando una fuente monoespaciada.

Utiliza OBJ_EDIT ("Campo de entrada") sin posibilidad de edición, se puede cambiar el tamaño, el color, la fuente y la alineación del texto conOBJPROP_ALIGN.

Uno para el nombre conALIGN_LEFT y otro para el valor conALIGN_RIGHT.

Para evitar que otro programa borre tus objetos dales nombres únicos.

Los objetos creados desde el programa no pueden ser seleccionados y borrados por el usuario inicialmente, pero si lo hacen, es fácil rastrear este hecho y recrear el objeto.

 

Hay fallos en las señales:
Depósitos: 1.68 USD############ Broker: Alpari-Demo
¿Quién ha depositado? ¿Quién está jugando?

 
¿Es posible hacer que durante la optimización todos los cálculos vayan sólo a la nube? Me gustaría descargar todos los núcleos del procesador de mi ordenador, ya que un agente no se apaga.
 
paladin800:
¿Es posible hacer que durante la optimización todos los cálculos vayan sólo a la nube? Me gustaría desconectar todos los núcleos de la CPU de mi ordenador de la carga, de lo contrario un agente no se desconecta.
Haga clic con el botón derecho del ratón en la sección Agentes y desactive la opción Agentes locales en el menú contextual.