ОКАЗЫВАЕТСЯ что перечесление обьектов по индексу, идет не по их порядку рождения... А по А-Л-Ф-А-В-И-Т-У...
А кто запрещает в идентификаторы объекта добавлять время их создания, чтобы они перечислялись в нужном программеру порядке?
Неча на зеркало пенять, коли рожа крива (с) Козьма Прутков
А кто запрещает в идентификаторы объекта добавлять время их создания, чтобы они перечислялись в нужном программеру порядке?
Неча на зеркало пенять, коли рожа крива (с) Козьма Прутков
А могет еще и лаком покрыть?
Ты чо? :)) Имя обьекта, во первых - имеет ограничение на длинну. во-вторых, может мне стоит предложить тебе "решение" это проблемы получше чем бред ввиде добавления времени... Ха-ха, а можно я поиздевась, над чудом которое решило поучить Программера программировать... Ага поиздевась, ты хоть понял что предлагаешь... ВРЕМЯ... умру со смеху... Да и еще с таким, понимаешь ПАФАСОМ... Чудо, время в МТ оно в СЕКУНДАХ... А если я 100 штук обьеков в одну секунду добавить захочу... Посоветуешь мне их нумеровать... Типа O#222364... :)) Ну, да... :))
А может MQ делать правильно...
ОКАЗЫВАЕТСЯ что перечесление обьектов по индексу, идет не по их порядку рождения... А по А-Л-Ф-А-В-И-Т-У...
Вообще-то, писал уже где-то об этом.
Этот способ мне понравился тем, что можно именем назначить объект первым. Т.е. он будет фоновым для всех остальных объектов.
Хотя, конечно, это можно было решить на уровне создания MQL4 в явном виде спецальными свойствами.
Вообще-то, писал уже где-то об этом.
Этот способ мне понравился тем, что можно именем назначить объект первым. Т.е. он будет фоновым для всех остальных объектов.
Хотя, конечно, это можно было решить на уровне создания MQL4 в явном виде спецальными свойствами.
Господа, боюсь что не все поняли... ЭТО ПРОБЛЕМА... Которую чтобы решить надо программировать, нечто... Ну типа, сначала засосать все обьекты в некий массив, и потом по нему ходить, а иначе нельзя ВООБЩЕ незьзя перчислять обьекты, и хоть что-то делать с ними... Ведь услыште... же ... Представтьте что у вас есть индикатор, который тоже обьеты добавляет... Жуть...
ну точно жесть... :))
А могет еще и лаком покрыть?
Ты чо? :)) Имя обьекта, во первых - имеет ограничение на длинну. во-вторых, может мне стоит предложить тебе "решение" это проблемы получше чем бред ввиде добавления времени... Ха-ха, а можно я поиздевась, над чудом которое решило поучить Программера программировать... Ага поиздевась, ты хоть понял что предлагаешь... ВРЕМЯ... умру со смеху... Да и еще с таким, понимаешь ПАФАСОМ... Чудо, время в МТ оно в СЕКУНДАХ... А если я 100 штук обьеков в одну секунду добавить захочу... Посоветуешь мне их нумеровать... Типа O#222364... :)) Ну, да... :))
А может MQ делать правильно...
Возможно у Юрия Решетова такой стиль общения
но пафос полезно стряхивать,он мешает часто!
Вы на него не сердитесь он не программист и просто проблемы не понял
--
по сути проблемы
при разработке MQL не все учли и видимо есть для совершенства большая ниша
действительно один из вариантов это массив в котором можно найти объекты по порядку добавления
а далее самостоятельно можно отсортировать
думаю спецы MQ это решат наилучшим способом
--
я обычно при создании делал так
ltDatCurBeg = CurrentTime();
oNameHIGHDay ="yhd";
lsDay = TimeToStr(ltDatCurBeg,TIME_DATE); // дата дня в строке
-- и где то в тексте
lNOHD = oNameHIGHDay + Symbol()+lsDay;
CreateObject( lNOHD, ...
к слову - надеюсь понятно что этот код срабатывал один раз в день или на этапе init а не на каждом тике
т е лепил в имя объекта дату время - если я знаю что к примеру этот объект внутри дня не может быть занесен два раза
я смело леплю ему имя в стиле
yhd20081231
но это касаемо только ситуации кода внутри дня конкретный объект создается один раз
это годится так же если объект на свечке находится один раз!
т е запросто можно привязать объект к дате времени свечи!
на практике я не встречал ситуации когда один тот же объект
надо рисовать НЕСКОЛЬКО раз на одной и той же свече + на одной и той же единице курса
--
к описанной проблеме это достаточно отдалено относится, но как стиль вполне годится
1.
у ANG3110 был очень древний индюк, AFIRMA что ли, он нарисован объектами.
вся линия - объектами. + Перерисовка Быстро и без Проблем.
2.
время в имени объекта при ручном креативе -ДА!,
....и где такие часы у которых такая секунда чтобы этакий белковый юзер успел создать N объектов.
ах да - етого юзера зовут Айпи)))
Я уже давно отказался от индикаторных буферов. Кривые они какие-то...
Всё рисую графическими объектами. Так возможностей больше, да и удобнее.
Есть только один недостаток. Удаление большого количества объектов по списку слишком долгая процедура. Это при количестве более 1000000.
Один говорит "дайте мне несортированный массив, чтобы индексы не менялись при вставках", а другой тут же заявляет "да я все на объектах делаю, у меня более 1 млн объектов на графиках". Кого из них поддержат разработчики?
Если объяснять совсем просто, то мы реализовали очень эффективную работу с графическими объектами, что позволяет обслуживать списки из сотен тысяч объектов, эффективно их отрисовывать и мгновенно доступаться до любого из них. Это означает, что максимальный приоритет дается именно скорости работы с большими массивами.
В случае, если нужно иметь свои собственные индексы, то реализуйте их самостоятельно.
ps: за мат предупреждение
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Очередной идеодизм, от МТ... Причем не просто, а опять нахрен ни кем не обнаруженный, вернее скажем так я не нашел, вопроса об этом на форуме...
Итак...
Предположим вы хотите перчислисть все обьекты на графике... Ну там линии, прямоугольники... и пр. ОК, это просто
Берем "обьект тотал", и в цикле шуршим от нуля до этого количества... ) Перечесляем и получаем имя обьекта по его индексу... Радости полные штаны, все работает как часы... Но...
НО! ) Допустим вам надо не просто их перечислить и там свойства какие-то посмотреть, ну и скажем еще и потереть некоторые из них... Отлично, скажете вы... - в чем проблема-то, есть же функция "обьект делит" ... Все просто перечесляем, получаем имя по индексы и трем обьект по имени. НО! Опять но... ) При стирании индекс-то уедет... Да, ха-ха проблема... ) Ну какая опять скажете вы нахрен проблема, так просто иди по индексу сзади... Ну типа чтобы после стирания сьезжали индексы только те что мы уже просмотрели... ОТЛИЧНО.... Суперское решение... ) Кретенизм конечно, так НЕ ДЕЛАЕТСЯ в правильных языках... Делается примерно так - Запрашиваем тотал, да и не плохо было бы и еще с вилдкардом, или регекспом, но не суть... Допустим, мы хотим сделать, как положенно! с точки зрения языков программирования, а не удобства... ОК, значит продолжим - итак - запрашиваем тотал, обьявляем начало транзакции, трем обьекты, обьявляем конец транзакции, или отмену... Все... После коммита, все обьекты помеченные для удаления удаляются... Если комита не было, а был дискадр, то просто метки удаляются... Точнее уже не важно, что там делается... А важно, что отмена... означает ничего не делать...
Ну дык, опять я тут мета-квотеров учу... Учитель нашелся... Ага... ) Обьясняю.... !!! Да, вроде, все рабоает с удалением... вот с добавление нахрен, вооще... Счас матом ругаться начну... ОКАЗЫВАЕТСЯ что перечесление обьектов по индексу, идет не по их порядку рождения... А по А-Л-Ф-А-В-И-Т-У... То есть, если мы добавляем обьект, начинающийся на букву которая идет раньше чем некоторый обьект который уже есть в этом иннумераторе... Ну в этом списке... То он будет добавлен с этот список раньше чем уже существующий обьект... Ну тоесть вы запросли тотал, стали перчислять обьеты, и добавлять новые по мере надобности... И ваш список весь уехал... Те обьеты которые вы еще не просмотрели могут оказаться в конце, за тем номером который вы прошли...
Нда... То есть даже и не знаю что получится, но уверен, что столько народу! на этом форуме перебирая обьекты об этой фиче ) мета-терминала и не догадывалась... И думала - что это за глюки при работе с обьектами...
----