Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 595

 
Ihor Herasko:

Нет такой функции, но можно сделать через WinAPI. Правда, все равно упираемся в логичность такого действия: чем отличается кнопка на графике от кнопки на тулбаре? Почему пользователю должно быть удобнее нажать кнопку на графике, чем кнопку на тулбаре?

Чтобы можно было другими кнопками быстро и удобно кастомизировать стиль/цвет/толщину и прочее, а то по стандартным окнам бегать через ПКМ, когда нужно много объектов чертить раздражает

 
можно отслеживать мышку в OnChartEvent, если кнопка своего инструмента нажата, то ловим первый клик и начинаем что-то рисовать
 
Ihor Herasko:

Каждый день отвечаю, но Вы не устаете повторять на всех ветках форума эту мантру каждый день. Или я должен только тем и заниматься, что отвечать на Ваши вопросы?

В первую очередь, я бы хотел, чтобы Вы ответили на мои вопросы, а потом шли в эту тему : )

Понимаете ли,

1. 2018.08.03-го Вы мне отвечаете не на то, что я спрашивал непосредственно перед этим. 

2. далее я это подчеркиваю, но Вы 2018.08.06-го продолжаете отвечать не на то. я подчеркиваю это еще раз.

3. далее, 2018.08.07 Вы отвечаете на одну из моих древних реплик. Ваш ответ странный. получается, я вешал башифт на график с отсутствующей ценой? я его вешал на обычный брокерский инструмент.

4. к этому времени в моих репликах накопилось 6 проблем в виде зип-архивов, и ещё пара комментов. Вы упорно их не замечаете, несмотря на подчёркнутую мной срочность : )

спсб

 
Artsem:

В первую очередь, я бы хотел, чтобы Вы ответили на мои вопросы, а потом шли в эту тему : )

Понимаете ли,

1. 2018.08.03-го Вы мне отвечаете не на то, что я спрашивал непосредственно перед этим. 

2. далее я это подчеркиваю, но Вы 2018.08.06-го продолжаете отвечать не на то. я подчеркиваю это еще раз.

3. далее, 2018.08.07 Вы отвечаете на одну из моих древних реплик. Ваш ответ странный. получается, я вешал башифт на график с отсутствующей ценой? я его вешал на обычный брокерский инструмент.

4. к этому времени в моих репликах накопилось 6 проблем в виде зип-архивов, и ещё пара комментов. Вы упорно их не замечаете, несмотря на подчёркнутую мной срочность : )

спсб

Почему вы считаете, что каждый должен заниматься разгребанием ваших проблем? У всех есть свои дела. Задавайте свои вопросы в соответствующих ветках форума. Не плодите один и тот же вопрос по разным веткам. Обращайтесь в СД. Качество вашего вопроса в СД прямо пропорционально качеству ответа. Не вините СД в молчании - прежде всего обдумайте ваш вопрос - он может быть понятен и срочен лишь вам и для вас. Правильно формулируйте свои вопросы. То, что вы мне в личке писали - лишь поток сознания, а не конструктивные вопросы. На такое не отвечаю. Да и мало кому отвечаю по глупым вопросам.

Если хотите ответ быстрее - задавайте его на форуме, а не бомбите лички людям. У всех есть свои дела. Вы для них - не на первом месте важности - вне зависимости от срочности ваших требований.

 
Artyom Trishkin:

1. Почему вы считаете, что каждый должен заниматься разгребанием ваших проблем? У всех есть свои дела.

2. Задавайте свои вопросы в соответствующих ветках форума.

3. Не плодите один и тот же вопрос по разным веткам.

4. Обращайтесь в СД. Качество вашего вопроса в СД прямо пропорционально качеству ответа. Не вините СД в молчании - прежде всего обдумайте ваш вопрос - он может быть понятен и срочен лишь вам и для вас. Правильно формулируйте свои вопросы. То, что вы мне в личке писали - лишь поток сознания, а не конструктивные вопросы. На такое не отвечаю. Да и мало кому отвечаю по глупым вопросам.

Если хотите ответ быстрее - задавайте его на форуме, а не бомбите лички людям. У всех есть свои дела. Вы для них - не на первом месте важности - вне зависимости от срочности ваших требований.

1. не считаю

2. это не вопрос, это баги в индюках фрилансера; по-моему, фрилансер более склонен в  первую очередь подправлять свои индюки, чем заниматься благотворительностью в этой ветке форума : )

3. а что делать, если фрилансер неделю отвечает всего 1 раз в день, и не на тот (срочный!) вопрос?

4. обращаюсь, но они ни одну (мелкую!) п*здюльку подправить не хотят. они всё поняли, что я от них хочу. если бы не поняли, то переспросили бы, как это они иногда делают.

: )

 
Artsem:

1. не считаю

2. это не вопрос, это баги в индюках фрилансера; по-моему, фрилансер более склонен в  первую очередь подправлять свои индюки, чем заниматься благотворительностью в этой ветке форума : )

3. а что делать, если фрилансер неделю отвечает всего 1 раз в день, и не на тот (срочный!) вопрос?

4. обращаюсь, но они ни одну (мелкую!) п*здюльку подправить не хотят. они всё поняли, что я от них хочу. если бы не поняли, то переспросили бы, как это они иногда делают.

: )

Я не фрилансер, но вопросы вы мне в личку кидали. Зачем?

У метаквот есть свои первоочерёдные задачи, а не помыкание вашим хотелкам. Они вносятся или не вносятся в список исправлений, но это не означает, что все тут же кинутся подправлять ваши мелкие здюльки.

 
Artyom Trishkin:

1. Я не фрилансер, но вопросы вы мне в личку кидали. Зачем?

2. У метаквот есть свои первоочерёдные задачи, а не помыкание вашим хотелкам. Они вносятся или не вносятся в список исправлений, но это не означает, что все тут же кинутся подправлять ваши мелкие здюльки.

ответил в лс

 
Ihor Herasko:

Не бывает, чтобы создаваемые Вами же объекты, были невидимы. 

Они могут быть недоступны из той или иной функции, но в самом то объекте они должны быть доступны. Вот в этом объекте и нужно чистить память. Обычно это делается деструкторе класса. Чтобы убедиться, расставьте Print'ы во всех деструкторах и в OnDeinit.

Как не бывает? Вот например создаю я объекты в цикле оператором new. Они не видны в Deinit(). А удалять я их в цикле не могу, поскольку они в логике используются... Как мне их удалять?

 
Juer:

Как не бывает? Вот например создаю я объекты в цикле оператором new. Они не видны в Deinit(). А удалять я их в цикле не могу, поскольку они в логике используются... Как мне их удалять?

Вы, когда их создаёте, вы их прикрепляете к списку?

Имя списка вам известно. В OnDeinit() бежите в цикле по списку, получаете из него объект, проверяете на валидность и удаляете. По завершению цикла весь список объектов будет пуст. Всё.

 
Artyom Trishkin:

Вы, когда их создаёте, вы их прикрепляете к списку?

Имя списка вам известно. В OnDeinit() бежите в цикле по списку, получаете из него объект, проверяете на валидность и удаляете. По завершению цикла весь список объектов будет пуст. Всё.

Ну хорошо. Пусть в OnDeinit() я их удалю. Но у меня сейчас ошибка out of memory уже выскакивает в процессе тестирования... То есть, там до OnDeinit() и не дойдёт.

Причина обращения: