Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1795

 
Nerd Trader #:

¿Por qué? ¿Por qué no ocurre esto para la línea verde? Las condiciones son idénticas, sólo la inversa (precio > Ask) para la línea amarilla y (precio < Bid) para la línea verde.

Pero las líneas verdes y rojas, por alguna razón, se crean sólo en una instancia y no parpadean cuando el cursor se mueve.

¿desde cero y por encima?

Interesante punto...

Se buscan dos líneas

        if(ObjectFind("Buy Stop") == window || ObjectFind("not allowed") == window){

y se elimina uno.

          ObjectDelete(line_name);

La pregunta es ¿cuál? ¿Cuál es el apellido de "nombre_de_línea"?

 
Mihail Matkovskij #:

Completado el mensaje. Pruebe su función y la mía con un ID de gráfico incorrecto y cuando el objeto se crea subventana. Y ver lo que devuelve tu función y lo que crea la mía.

Sólo estás fuera de onda)


 
MakarFX #:
Y si

¿entonces qué?

Error. ¡Y tú, verdad, por alguna razón!

 
Mihail Matkovskij #:

Error. ¡Y tú, verdad, por alguna razón!

"-1" significa que no hay objeto. Dado que no hay ningún objeto, verdadero
 
MakarFX #:

Simplemente estás fuera de onda).


Te he dado cómo debería ser la comprobación de la existencia del objeto. ¿Y que mi función no funcione? Por el contrario, es más versátil. Si necesita trabajar con una subventana, no notará mucha diferencia.

 
Mihail Matkovskij #:

Te he dado cómo debería ser la comprobación de la existencia del objeto. ¿Y que mi función no funcione? Por el contrario, es más versátil. Si necesitas trabajar con una subventana, no habrá mucha diferencia.

Permítame repetir la pregunta

¿Y si
ObjectFind(chart, name)=-1

¿Y entonces qué?

 
MakarFX #:
"-1" - no hay objeto. Dado que no hay ningún objeto - verdadero

Su función devolverá true y cuando se produzca un error:

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Cualquier pregunta de los novatos sobre MQL4 y MQL5, consejos y discusión sobre algoritmos y códigos

Mihail Matkovskij, 2021.12.06 12:38

Enriquecer su mensaje. Debería probar su función y la mía con un ID de gráfico incorrecto y cuando el objeto se crea en la subventana. Y mira lo que tu función devolverá y lo que la mía devolverá. Y lee la documentación con atención. Todos los enlaces y la cita se dan arriba.


 
  string name = "name";

  ObjectCreate(1, name, OBJ_HLINE, 1,0,0);

  Print(FindObject("name"));

  if (objectExist(0, "name")) Print("objectExist Find");
  else Print("objectExist Object not found.");

...

bool objectExist(const long _chartID, const string _name) { return(ObjectFind(_chartID, _name) >= 0); }

bool FindObject(string name)
  {
   if(ObjectFind(0,name)) return(false);
   return(true);
  }
Creo que no en la ventana principal, sigue siendo cierto (pero Makar escribió para mi situación sólo para la ventana principal). Para objectExist está claro, hay >= 0.


Si se busca otro objeto que no sea "nombre", la variante de Makar devolverá false.
 
Mihail Matkovskij #:

Completado el mensaje. Pruebe su función y la mía con un ID de gráfico incorrecto y cuando el objeto se crea en la subventana . Y mira lo que tu función devolverá y lo que la mía devolverá. Y lee la documentación con atención. Todos los enlaces y la cita se dan arriba.

Mihail Matkovskij #:

Te he dado cómo debería ser la comprobación de la existencia del objeto. ¿Y mi función no funciona? Por el contrario , es más universal. Si necesitas trabajar con una subventana, no habrá mucha diferencia.


En cuanto a la universalidad de la función, bueno...

bool FindObject(string name,int win)
  {
   if(ObjectFind(0,name)!=win) return(false);
   return(true);
  }
 
MakarFX #:

Un punto interesante...

Buscas dos líneas

y se quita uno.

La pregunta es ¿cuál? ¿Cuál es el apellido de "nombre_de_línea"?

La que, por convención, es verdadera