[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 1108

 

Всем, добрый вечер!!!

Я в панике, на графике создаю 10 объектов типа OBJ_TEXT, затем запускаю цикл для их удаления по метке названия.

Так вот функция

int Obektov = ObjectsTotal(OBJ_TEXT);

показывает, что их действительно 10, но когда я начинаю анализировать их названия для удаления (по названию все 10 подлежат удалению) вот этим кодом

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));
            }
         }
      }

Вижу, что

ObjectName(j)

Читает названия только у части объектов, а остальных НЕ ВИДИТ и выдаёт ошибку ERR_OBJECT_DOES_NOT_EXIST 4202 Объект не существует НО Я ИХ СВОИМИ ГЛАЗАМИ ВИЖУ - ОНИ ЕСТЬ 8-))!!!

 

Вот что при этом рисуют распринтовка

Если запустить цикл повторно, то он увидит часть из оставшихся объектов и тоже их удалит (причём он увидит 5 оставшихся объектов)

Ну и на третий раз он удалит уже все объекты. Такое ощущение, что удаляются объекты через один.

 
ALEX_SPB_RU:

Вот что при этом рисуют распринтовка

Если запустить цикл повторно, то он увидит часть из оставшихся объектов и тоже их удалит (причём он увидит 5 оставшихся объектов)

Ну и на третий раз он удалит уже все объекты. Такое ощущение, что удаляются объекты через один.

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

а с кодом мне тут такой подсказали

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

и для разных имен использовал

// удаление по маске всех объектов индюка
   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:

Всем, добрый вечер!!!

Я в панике, на графике создаю 10 объектов типа OBJ_TEXT, затем запускаю цикл для их удаления по метке названия.

Так вот функция

показывает, что их действительно 10, но когда я начинаю анализировать их названия для удаления (по названию все 10 подлежат удалению) вот этим кодом

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));
            }
         }
      }

Вижу, что

Читает названия только у части объектов, а остальных НЕ ВИДИТ и выдаёт ошибку ERR_OBJECT_DOES_NOT_EXIST 4202 Объект не существует НО Я ИХ СВОИМИ ГЛАЗАМИ ВИЖУ - ОНИ ЕСТЬ 8-))!!!

Удалять (объекты\ордера) нужно в обратную сторону (от большего номера к меньшему), поскольку после удаления меняется нумерация .... Сотни раз обсуждалось.
 

Всем добрый вечер!

Как рассчитать Стоп-лосс? Формула рассчета.

 
Sergey_Rogozin:

Всем добрый вечер!

Как рассчитать Стоп-лосс? Формула рассчета.

время поделить на цену и умножить на число валют.

 
Danil93:
если можно назвать ленью читать вес справочник то лень, мне бы конкретно что прочитать, а там может я и сам смогу. просто по себе знаю, что если ктото хорошо разбирается в чём то, то помочь-это очень легко и быстро...

я вам написал конкретные имена функций.

даже показал алгоритм ваших действий.

вам даже лень подумать над написанным ?

 
Скажите, а что означает надпись при компиляции советника:

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

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

0 ошибок, 2 предупреждений

Вначале советника есть:
#include <stdlib.mqh>


Это что, обращение к файлу в libraries? И будет ли правильно работать советник с данным обращением и 2-мя предупреждениями при компиляции?
 
Danil93:
если можно назвать ленью читать вес справочник то лень, мне бы конкретно что прочитать, а там может я и сам смогу. просто по себе знаю, что если ктото хорошо разбирается в чём то, то помочь-это очень легко и быстро...

если можно назвать это обломом, то облом. мне бы конкретно кому-то помочь, кто нуждается в помощи. но по себе знаю, если кому-то лень самому хоть чуть-чуть разбираться в своей же задаче, то помогать - это полный облом...
 
kolyango:
Скажите, а что означает надпись при компиляции советника: Вначале советника есть: Это что, обращение к файлу в libraries? И будет ли правильно работать советник с данным обращением и 2-мя предупреждениями при компиляции?

Это зависит от того, где находятся эти функции.
Где они у Вас прописаны?
И используете ли Вы их в советнике. Просто они не используются, поэтому компилятор предупреждает, что он их исключит. Это нормально.