Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1285

 
Vitaly Muzichenko:

Lo hice:

La diferencia es insignificante y también aceptable. Pero si el usuario decide cambiar el grosor o el color, deben establecerse en los parámetros de entrada ya que tienen variables, su código no los cambiará sin eliminar la tendencia.

En general, no es necesario discutir sobre los gustos de los marcadores.

 
Alexey Viktorov:

Una decisión completamente equivocada. La supresión de un objeto gráfico y la actualización de un gráfico no se sustituyen entre sí.

En mi ejemplo, primero comprobamos si hay un objeto, en concreto una tendencia con el nombre tfyu, que es el nombre en la disposición del teclado ruso)). Entonces, si no existe, se dibuja la tendencia. Si el intento de dibujo no tiene éxito, se muestra el mensaje y se sale de la función con el retorno false.

Todo lo que viene después, independientemente de si la tendencia ya está presente o acaba de ser dibujada, se le asignan los parámetros especificados, los precios en tiempo y coordenadas, el tipo, el grosor y cualquier otra cosa que se pueda añadir. Después, el gráfico se actualiza y la función devuelve true.

Por la velocidad de ejecución, será menos costoso comprobar la presencia de la tendencia que borrarla y dibujar una nueva.

Pero... la decisión final es tuya y si te gusta rascarte la oreja izquierda con el dedito derecho, no tengo derecho a impedírtelo.

Muchas gracias. Seguiré tu consejo y reharé el código.

 
Vitaly Muzichenko:

Lo soy:

Muchas gracias. Voy a rehacer el código. Ya lo he rehecho, está todo bien.

 
string obj_symbol=ObjectGetString(ChartID(),obj_name,OBJPROP_SYMBOL);

¿No funciona en absoluto? ¿Devuelve un carácter de objeto para alguien? Siempre obtengo una cadena vacía.

¿O tiene que establecer esta propiedad primero?

 
leonerd:

¿No funciona en absoluto? ¿Devuelve un carácter de objeto para alguien? Siempre obtengo una cadena vacía.

¿O es necesario establecer primero esta propiedad?

Es una propiedad específica - para un objeto "Chart" devuelve un símbolo. ¿Y para qué tipo de objeto está tratando de obtener un símbolo?

 
Vladimir Karputov:

Esta es una propiedad específica - para un objeto "Chart" devuelve un símbolo. ¿Y para qué tipo de objeto está tratando de obtener un símbolo?

Para un triángulo. ¿Cómo sabes que es un "símbolo"?

 
leonerd:

para un triángulo. ¿Cómo sabes que es un "símbolo"?

¿Qué quieres decir? ¿Cuál es el símbolo del objeto triangular?

 
Vladimir Karputov:

¿Qué quieres decir? ¿Cuál es el símbolo del objeto Triángulo?

¿Cómo se sabe en qué gráfico de símbolos se creó el objeto Triángulo?

Por ejemplo, en OnChartEvent(). O en la lista de objetos, cuando se recorre la lista, ¿cómo se sabe en qué gráfico de símbolos está dibujado el objeto?

 
leonerd:

¿Cómo puedo saber en qué gráfico de símbolos se creó el objeto Triángulo?

Por ejemplo, en OnChartEvent(). O en la lista de objetos, cuando se recorre la lista, cómo averiguar en qué carta de símbolos está dibujado el objeto.

OnChartEvent se dispara sólo para el símbolo actual - en este caso no tiene sentido reconocer el símbolo: siempre está posicionado.

La segunda forma es saltarse la lista de todos los gráficos - ObjectFind.

 
Vladimir Karputov:

De todos modos, OnChartEvent sólo se activa para el símbolo actual - en este caso no tiene sentido reconocer el símbolo: siempre está colocado.

La segunda forma es saltarse la lista de todos los gráficos - ObjectFind.

OK, gracias

Razón de la queja: