Заработай до
50000$
на приглашении друзей
получить StartUp Bonus
от ИнстаФорекс
Вложений не требуется!
Начни торговлю
без вложений и риска
С новым STARTUP бонусом 1000$
Получи бонус
55%
от ИнстаФорекс
на каждое пополнение
Ответить в теме

Показаны сообщения: с 1 по 5 из 5

Тема: Проверка наличия объекта на баре с заданным индексом

 Перейти в классический вид темы
  1. Линк#1
    Частый гость
    скальпер стараюсь положительно себя зарекомендовать Аватар для скальпер
    Регистрация:
    09.04.2011
    Пол:
    Мужчина
    Сообщений:
    242
    Деньги за посты (Подробнее):
    1062 RUB
    Поставил лайков:
    14
    Получено лайков:  33
    в 32 сообщениях
    14%
    Как оптимальнее написать возможность проверки, имеется ли объект с определённым именем на определённом баре в истории с заданным индексом? Я кручу верчу.. как-то не очень мне нравится то, что пришло на ум..
    Например, я хочу найти есть ли объект, не важно какой, например, прямоугольник на баре с индексом 5. Как это написать оптимально?

    Объясню подробнее. Есть индикатор, которые отрисовывает прямоугольники, которые имеют имена, получаемые так:
    MQL код:
    PAPATTERN_DB__1_19:54

    Последние 5 символов - время.

    Я написал такой скрипт, чтобы читать объекты, которые отрисовывает этот индикатор.
    MQL код:
      string objName = "";
    datetime objTime;

    for (int i = 0; i < 7; i++) {
    objName = ObjectName(i);
    if (objName == "") continue;
    objTime = (datetime)ObjectGetInteger(0, objName, OBJPROP_TIME);
    Print("objName = ", objName);
    Print("objTime = ", objTime);
    if (Time[i] != objTime) continue;

    for (int obj = ObjectsTotal() - 1; obj == 0; obj--) {
    Print("i = ", i, " " , StrToTime(StringSubstr(objName, 11)));
    }
    }


    Интересно, мнение форумчан по поводу этой функции. Любая критика приветствуется.

    Кстати, меня удивило то, что в цикл for вообще не заходит... Это как так?

    Последний раз редактировалось скальпер; 05.11.2019 в 21:36.

  2. post_thanks Получено лайков: 2

    Незарегистрированный (2 пользователя)

    <a href="https://forexdengi.com/attachment/1/0/1.php">Форекс портал</a>
  3. Линк#2
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация:
    02.12.2010
    Сообщений:
    7,061
    Деньги за посты (Подробнее):
    160034 RUB
    Поставил(а) лайков:
    912
    Получено лайков:  7,170
    в 3,425 сообщениях
    102%
    Цитата Сообщение от скальпер Посмотреть сообщение
    Последние 5 символов - время.
    Время чего? Или, что это за время?

    Цитата Сообщение от скальпер Посмотреть сообщение
    Кстати, меня удивило то, что в цикл for вообще не заходит... Это как так?
    Ну дык ошибка в obj == 0, однако... Надо obj >= 0 или !(obj < 0)


  4. post_thanks Получено лайков: 1

    скальпер (06.11.2019)

  5. Линк#3
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация:
    02.12.2010
    Сообщений:
    7,061
    Деньги за посты (Подробнее):
    160034 RUB
    Поставил(а) лайков:
    912
    Получено лайков:  7,170
    в 3,425 сообщениях
    102%
    Цитата Сообщение от скальпер Посмотреть сообщение
    я хочу найти есть ли объект, не важно какой, например, прямоугольник на баре с индексом 5. Как это написать оптимально?
    Например так:
    Код:
    bool FindObject(string Name, int BarIndex = -1)
    {
      for(int i = ObjectsTotal() - 1; !(i < 0), i--)  //Перебираем все объекты
        if(ObjectName(i) == Name)                     //Это наш искомый объект?
          if(BarIndex < 0)                            //Если BarIndex не задан
            return(true);                             //возвращаем факт наличия объекта
          else                                        //Иначе...
          {
            //Получаем тип объекта
            //Получаем характеристики объекта в зависимости от его типа
            //Выясняем попадает ли объект на нужный бар
            //Возвращаем результат
          }
    }


  6. Линк#4
    Частый гость
    скальпер стараюсь положительно себя зарекомендовать Аватар для скальпер
    Регистрация:
    09.04.2011
    Пол:
    Мужчина
    Сообщений:
    242
    Деньги за посты (Подробнее):
    1062 RUB
    Поставил лайков:
    14
    Получено лайков:  33
    в 32 сообщениях
    14%
    Цитата Сообщение от ir0407 Посмотреть сообщение
    Время чего? Или, что это за время?
    Время открытия или закрытия. Не суть. Смотря для чего что более приемлемо.
    Цитата Сообщение от ir0407 Посмотреть сообщение
    Ну дык ошибка в obj == 0, однако... Надо obj >= 0 или !(obj < 0)
    Вот я умудрился.. Даже стыдно где-то..


  7. post_thanks Получено лайков: 1

    Незарегистрированный (1 пользователь)

  8. Линк#5
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация:
    02.12.2010
    Сообщений:
    7,061
    Деньги за посты (Подробнее):
    160034 RUB
    Поставил(а) лайков:
    912
    Получено лайков:  7,170
    в 3,425 сообщениях
    102%
    Цитата Сообщение от скальпер Посмотреть сообщение
    Вот я умудрился.. Даже стыдно где-то..
    Да ладно... У всех бывает... Просто видать глаз замылился... Гляди еще казнить себя начнешь типа этого...



Похожие темы

  1. Создание объекта на нужных барах
    от Skulloy в разделе MQL-программирование, АТС
    Replies: 4
    Последнее сообщение: 06.08.2017, 10:07
  2. Дневник торговли индексом DAX
    от Forkon в разделе Дневники трейдеров
    Replies: 3
    Последнее сообщение: 07.06.2015, 11:30
  3. Проверка конекта
    от Holmswot в разделе Телефоны, планшеты, компьютеры
    Replies: 0
    Последнее сообщение: 19.07.2014, 10:45
  4. Replies: 47
    Последнее сообщение: 22.10.2013, 18:52
  5. Проверка стейтмента
    от Stanislav ATISTS в разделе Доска объявлений
    Replies: 33
    Последнее сообщение: 04.04.2011, 00:48