создание кнопки в окне индикатора МТ

 

добрый день!

можно ли создать в окне индикатора собственную кнопку или вообще какой-нибудь контрол и по его состоянию запускать определенную функцию?

наверное нубский вопрос, просто до этого я только стандартными средствами пользовался

 

transcendreamer:

просто до этого я только стандартными средствами пользовался


с каких пор графические объекты стали нестандартным средством?
 
Создаёте объект на графике, сдвигаете, из программы контролируете положение.
 

спасибо за ответы!

только я имел в виду не линии и фигуры, а именно кнопку

поясню - мой индикатор довольно ресурсоемкий, я хочу сделать кнопочку "обновить" чтобы индикатор не потреблял ресурсы ЦПУ с каждой котировкой

может быть мне подскажете или ткнете как лучше это оформить

в принципе конечно можно перещелкивать таймфреймы, тем самым инициировать пересчет индикатора

сейчас пока так и делаю, но вроде это как-то не очень аккуратно и неочевидно для конечного пользователя

может быть подскажете какое-то разумное решение какое еще событие отлавливать?

пробовал считать миллисекунды с помощью gettickcount ...

но все равно даже с принудительной паузой иногда индикатор подвешивает терминал

я мог бы отслеживать изменение close[0] но проблема в том что мой индикатор мультивалютный

и изменение цены текущего графика строго говоря не всегда коррелирует с изменением всего портфеля

может быть мне нужно сверять изменение close всех валютных пар, только боюсь и это тоже будет грузить терминал

в общем, буду благодарен за идеи

 
В бете можно кнопки почти как в МТ5 создавать, графические. И таймер нормальный там есть.
 
evillive:
В бете можно кнопки почти как в МТ5 создавать, графические. И таймер нормальный там есть.
И переход вроде в этом месяце. Так что все это легко и просто можно сделать.
 
TheXpert:
И переход вроде в этом месяце. Так что все это легко и просто можно сделать.

Лехко и просто будет когда справочник исправят, а то щас методом тыка ищу, что работает, а к чему лучше ещё старый справочник от 509 читать :)
 

спасибо, интересно

 
transcendreamer:

поясню - мой индикатор довольно ресурсоемкий, я хочу сделать кнопочку "обновить" чтобы индикатор не потреблял ресурсы ЦПУ с каждой котировкой

может быть мне подскажете или ткнете как лучше это оформить

в принципе конечно можно перещелкивать таймфреймы, тем самым инициировать пересчет индикатора

Так а почему не пользуетесь пунктом "Обновить" во всплывающем меню? Это ж самый нормальный вариант.

А что касается кнопочек, то я раньше делал себе такое (через DLL). Но если их размещаешь в окне индикатора, то тут появляется гемор в плане позиционирования этой кнопки, поскольку размер и положение индикаторного окна невозможно определить нормальными методами (это на самом деле не окно, а как бы часть графического изображения, поэтому приходится искать границы по цвету пикселей. А если открыто несколько индикаторных окон, и плюс поверху наложено ещё какое-то окно (например окно ордера), то ситуация ещё более усугубляется).

Вот если Метаквотсы добавят функцию для получения координат/размеров индикаторого подокна, то все проблемы отпадут. А лучше бы вообще сделали их в виде полноценных окон, тогда можно много чего наворотить :)

 

надеюсь в новой версии языка разобраться, может быть там будет что-то подходящее

 
transcendreamer:

добрый день!

можно ли создать в окне индикатора собственную кнопку или вообще какой-нибудь контрол и по его состоянию запускать определенную функцию?

наверное нубский вопрос, просто до этого я только стандартными средствами пользовался


03/02/2014 выйдет новая версия мт4 с измененным MQL4

попробуйте уже сейчас перейти на на новый релиз там можно и кнопочки создавать и по таймеру сделать

Ваш вариант идеально сделать по таймеру - и с каждым тиков процессор грузиться не будет

Делать по кнопочке -как то противоречит идее автоматизации