Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Не знаешь, как пользоваться виджетом? Прочитай об этом статью!
Forex Trader
114255
Forex Trader 2008.01.03 21:20 
В процессе работы мой эксперт переносит уровни, каждый раз добавляя в список объектов стрелки с такими именами "#22604972 sell limit modified 2008.01.03 18:10". Если бы я мог добавить в имя строку-идентификатор, то смог бы убирать их по завершению или при переносе. А так приходится долбаться вручную. Как избавится от этого мусора?
Forex Trader
114255
Forex Trader 2008.01.04 11:38  
Используйте для поиска графического объекта "MQL4: ObjectFind" и затем удаляйте с помощью "MQL4: ObjectDelete"
Forex Trader
114255
Forex Trader 2008.01.04 16:32  
А как узнать, что данный объект создан тем экспертом, который его удаляет? Свой список вести, что ли?
Forex Trader
114255
Forex Trader 2008.01.05 13:53  
Если Вы знаете алгоритм создания имен для своих стрелок, то должны знать и алгоритм распознавания стрелок, созданных советником. Например, по префиксу.
Forex Trader
114255
Forex Trader 2008.01.05 17:59  
Эх, уважаемый, если бы я сам создавал эти стрелки или хотя бы мог формировать их имена, то и вопроса бы не было. Дело в том, что таковые появляются в результате вызова ф-ции

OrderModify(T, OP, SL, TP, 0, MoveSellColor)

и имеют автоматически сформированное имя, например

"#22604972 sell limit modified 2008.01.03 18:10".

Как видно из параметров вызова все что я могу изменить кроме цен -- это цвет стрелки.
Forex Trader
114255
Forex Trader 2008.01.06 19:37  
просто нужно четко формулировать вопросы, из "Как убрать стрелки отложенных приказов?" я например понял что речь идет о лимит и стоп отложенных ордерах, которые можно идентифицировать по магическим номерам, судя по уточнению, тебя интересуют только черточки отмечающие модификацию т.п. и с.л., поэтому в твоем случае :
1. пробегаем по истории ордеров (в рынке) и отмечаем (по магическому номеру) ордера открытые нашим экспертом, определяем его тикет OrderTicket()
2. при нахождении нужного ордера формируем текстовую переменную
искомый фрагмент = "#"+номер тикета ордера+" "+тип ордера(селл или бай)+" modified "
3. запускаем цикл по объектам нужного типа, причем извлекаем их имена и обрезаем до нужного количества символов (StringSubstr)
4. сравниваем обрезанное имя объекта с "искомым фрагментом" и поступаем с ним так как нам это требуется.
Forex Trader
114255
Forex Trader 2008.01.06 20:44  
судя по уточнению, тебя интересуют только черточки отмечающие модификацию т.п. и с.л.

Кроме TP и SL модифицироваться может и цена открытия, которая маркируется не черточками, а именно стрелками красного или синего цвета. Их я и имел в виду в первую очередь.


Ваша идея мне ясна, спасибо.
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий