[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 1108

 

¡¡¡Buenas noches a todos!!!

Estoy en un estado de pánico, creo 10 objetos de tipo OBJ_TEXT en el gráfico y luego ejecuto un bucle para borrarlos por etiqueta de nombre.

Así que la función

int Obektov = ObjectsTotal(OBJ_TEXT);

muestra que efectivamente hay 10, pero cuando empiezo a analizar sus nombres para borrarlos (por su nombre los 10 deben ser borrados) con este código

int Obektov = ObjectsTotal(OBJ_TEXT);
       Alert(Obektov);
       for(int j = 0; j < Obektov; j++)
         {
          Alert("Анализ ", j, "  ", ObjectName(j));
          ObjectName(j)
          if(StringFind(ObjectName(j), "Skalomer_", 0) == 0)
            {
             Alert("Удяляем ", j, "   ", ObjectName(j));
             ObjectDelete(ObjectName(j));
            }
         }
      }

Veo que

ObjectName(j)

Lee los nombres sólo de una parte de los objetos, y el resto NO LO VE y da el error ERR_OBJECT_DOES_NOT_EXIST 4202 ¡El objeto no existe PERO LO VEO CON MIS OJOS - ESTÁ 8-))!

 

Esto es lo que dibuja la impresión

Si vuelve a ejecutar el ciclo, verá algunos de los objetos restantes y los eliminará también (verá 5 objetos restantes)

Y a la tercera vez borrará todos los objetos. Parece que los objetos son retirados uno a uno.

 
ALEX_SPB_RU:

Esto es lo que dibuja la impresión

Si vuelve a ejecutar el ciclo, verá algunos de los objetos restantes y los eliminará también (verá 5 objetos restantes)

Y a la tercera vez borrará todos los objetos. Da la sensación de que está eliminando los objetos uno a uno.

https://www.mql5.com/ru/forum/123941

Me dijeron que usara este código

// удаление по маске всех объектов индюка
   for (int i = ObjectsTotal() - 1; i >= 0; i--)
    {
      string name = ObjectName(i);
      if (StringFind(name, "sig_nal") == 0)
      {
         ObjectDelete(name);
      }
    }
//----

y para los diferentes nombres he utilizado

// удаление по маске всех объектов индюка
   for (int i = ObjectsTotal() - 1; i >= 0; i--)
   {
      string name = ObjectName(i);
      if (StringFind(name, "signal") == 0)
      {
         ObjectDelete(name);
      }
      else if (StringFind(name, "Asignal") == 0)
      {
         ObjectDelete(name);
      }
   }
//----
 
ALEX_SPB_RU:

¡¡¡Buenas noches a todos!!!

Estoy en un estado de pánico, creo 10 objetos de tipo OBJ_TEXT en el gráfico y luego ejecuto un bucle para borrarlos por etiqueta de nombre.

Así que la función

muestra que efectivamente hay 10, pero cuando empiezo a analizar sus nombres para borrarlos (por el nombre, los 10 deben ser borrados) con este código

int Obektov = ObjectsTotal(OBJ_TEXT);
       Alert(Obektov);
       for(int j = 0; j < Obektov; j++)
         {
          Alert("Анализ ", j, "  ", ObjectName(j));
          ObjectName(j)
          if(StringFind(ObjectName(j), "Skalomer_", 0) == 0)
            {
             Alert("Удяляем ", j, "   ", ObjectName(j));
             ObjectDelete(ObjectName(j));
            }
         }
      }

Veo que

Lee los nombres sólo de una parte de los objetos, y el resto NO LO VE y da el error ERR_OBJECT_DOES_NOT_EXIST 4202 ¡El objeto no existe PERO LO VEO CON MIS OJOS - ESTÁ 8-))!

Borrar (objetos) en orden inverso (de un número mayor a un número menor), ya que la numeración se modifica tras el borrado ..... Esto se ha discutido cientos de veces.
 

Buenas noches a todos.

¿Cómo se calcula el Stop Loss? Fórmula de cálculo.

 
Sergey_Rogozin:

Buenas noches a todos.

¿Cómo se calcula el Stop Loss? Fórmula de cálculo.

Divida el tiempo por el precio y multiplique por el número de monedas.

 
Danil93:
Si a la lectura de un libro de referencia se le puede llamar pereza, pues pereza, sólo quiero saber lo que hay que leer y luego quizás pueda hacerlo yo mismo. Sólo sé que si alguien es bueno en algo, es muy fácil y rápido ayudar...

Te he dado los nombres de las funciones.

Incluso te mostré el algoritmo.

¿eres demasiado vago para pensar siquiera en lo que has escrito?

 
Pueden decirme qué significa este mensaje al compilar el EA:

Function "openPositionsBUYreal" is not referenced and will be removed from exp-file

La función "openPositionsSELLreal" no está referenciada y será eliminada del archivo exp.

0 errores, 2 advertencias

Al principio de la EA está:
#include <stdlib.mqh>


¿Es una referencia de archivo en las bibliotecas? ¿Y el EA funcionará correctamente con esta referencia y 2 advertencias durante la compilación?
 
Danil93:
Si se puede llamar pereza a leer el peso de la guía, pues pereza, me gustaría leer algo en concreto, y entonces quizás pueda hacerlo yo mismo. Sólo sé que si alguien entiende bien algo, es muy fácil y rápido ayudar...

pero sé por experiencia que si alguien es demasiado perezoso para entender su propio problema, es un fastidio ayudar...
 
kolyango:
Dígame, qué significa al compilar el EA: Al principio del EA hay: ¿Es una referencia a un archivo en las bibliotecas? ¿Y el EA funcionará correctamente con esta referencia y 2 advertencias al compilar?

Depende de dónde se encuentren estas funciones.
¿Dónde se almacenan en su código?
Y los utilizas en tu EA. Simplemente no se utilizan, por lo que el compilador le advierte que los excluirá. Esto es normal.