Форум » Синтаксис языка » Поиск объектов .... » Ответить

Поиск объектов ....

voldemar227: Привет ! вопрос в следующем как программно найти объект на графике или скопированный с другого объекта ... То есть есть линия или фигура , через контр + мышь сделал параллельную копию ... Как найти этот объект или узнать его имя ???

Ответов - 27, стр: 1 2 3 All

Scriptong: voldemar227 пишет: Как найти этот объект или узнать его имя ??? По описанию. У дочернего объекта сохраняется описание родителя.

voldemar227: я хочу сделать следующее : при появлении ордера отрисовать линиию на цене открытия и при расдвоении ее либо добавлять профит либо добавлять стоп как в аг4 но что то моя голова не может сообразить ... Допустим мы открыли ордер появилась линия с именем "Op"+Ordertiket() и описанием ""+Ordertiket() я мышкой раздваиваю линию в верх , появляется вторая линия с именем Н12376846 и описанием ""+Ordertiket() как по описанию можно найти имя обьекта или его цену позиционирования ????

SK: voldemar227 пишет: как по описанию можно найти имя обьекта или его цену позиционирования ???? Нужно запомнить описание исходного объекта. Потом перебрать в цикле все объекты. У каждого объекта спрашивать описание. И если это описание совпадает с описанием исходного объекта, но имеет другое имя, то это имя и есть именем нового объекта. Дальше у найденного объекта нужно спросить координату цены и дальше уже принять эту цену для управления торговлей. Обратите внимание: если на каком-то этапе на чарте будет более одного объекта с исходным описанием, то второй и все последующие объекты тоже нужно учитывать в переборе в цикле. Например, если есть линия ордера и уже есть StopLoss, то при установке TakeProfit нужно помнить два объекта, чтобы отбросить их при поиске нового (третьего) объекта. В качестве описания лучше всего использовать строку, содержащую тип и тикет ордера. Например, BB_12345 соответствует ордеру Buy с тикетом 12345, BL_54321 соотв. BuyLimit с тикетом 54321 и т.д.


voldemar227: Да я это уже заметил ! ))) Спасибо

voldemar227: да и наверно это все лучше делать в зацикленном цикле , дабы все делалось очень быстро !

voldemar227: Я победил ! все работает как часы ! Вопрос в следующем , теперь еще более сложно если у ордера есть стоп лосс и тейк профит с линиями и я удалил линию как удалить тейк из под линии ? Мы же не имеем не имени не описания вообще ничего ....

voldemar227: Вопрос в следующем , теперь еще более сложно если у ордера есть стоп лосс и тейк профит с линиями и я удалил линию как удалить тейк из под линии ? Мы же не имеем не имени не описания вообще ничего ....

Scriptong: voldemar227 пишет: Мы же не имеем не имени не описания вообще ничего Есть предыдущее состояние. С ним и нужно производить сравнение.

voldemar227: я не понял как произвести сравнение с тем чего уже нет ....

Scriptong: voldemar227 пишет: я не понял как произвести сравнение с тем чего уже нет Для этого нужно организовать сохранение предыдущего состояния отслеживаемых объектов в массиве. На каждой итерации нужно проверять наличие отслеживаемых объектов на графике. Как только какой-то объект не найден, это означает, что объект был удален. После этого совершаются нужные действия (которые соответствуют этому объекту), а удаленный объект вычеркивается из массива отслеживаемых объектов.



полная версия страницы