[¡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.

[Eliminado]  
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.