Работа с пользовательскими окнами в cTrader Algo
В этой статье и соответствующем видео мы расскажем о работе с пользовательскими окнами при создании алгоритмов cTrader. Мы объясним, что такое пользовательские окна и как их можно использовать в ваших сиБотах и индикаторах. Мы также создадим пример использования пользовательского окна в сиБоте.
Пример пользовательского окна
Теперь мы переключимся на приложение Algo, чтобы увидеть иллюстрацию того, как пользовательские окна могут использоваться в ваших сиБотах и индикаторах. Мы создадим новый индикатор; в нем мы просто используем готовый пример из документации.
Скопируйте и вставьте код из документации в окно редактора кода. Затем соберите индикатор и добавьте экземпляр на график.
Как только индикатор будет добавлен, мы должны увидеть всплывающее пользовательское окно. Это окно содержит сложную форму, отображающую информацию об инструменте, к графику которого в данный момент прикреплен индикатор. Эта форма является отличным примером того, чего можно достичь с помощью пользовательских окон.
Пользовательские окна против WPF и WinForms
Существует несколько причин, по которым использование пользовательских окон лучше, чем использование WPF или WinForms. Пользовательские окна cTrader уже имеют встроенный стиль, соответствующий внешнему виду cTrader. Окна WinForms и WPF требуют специальной обработки и продвинутых навыков программирования, поскольку они работают в разных потоках. Таких проблем полностью удается избежать при использовании пользовательских окон cTrader.
Создание пользовательского окна
Теперь мы продемонстрируем, как можно создать пользовательское окно с нуля. Мы создадим новый индикатор и назовем его "Custom Window Example". В этом примере мы добавим пользовательское окно, а затем добавим в него некоторые пользовательские элементы управления. Само окно будет объявлено в методе Initialize(); чтобы показать окно, мы вызовем метод window.Show().
1 2 3 4 5 6 7 8 9 10 11 | |
Чтобы увидеть окно, мы можем собрать индикатор и добавить его на график.
Добавление элементов управления в окно
Теперь мы добавим пользовательские элементы управления в окно. Эти элементы управления будут иметь форму текстового поля, содержащего некоторый текст.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Мы пересоберем индикатор и добавим новый экземпляр, чтобы увидеть, как выглядят наши пользовательские элементы управления.
Изменение свойств окна
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Мы снова пересоберем наш индикатор и добавим экземпляр. Теперь область нашего окна представляет собой прямоугольник шириной и высотой 800 пикселей.
Следующее изменение — добавление диапазона, в котором можно изменять размер окна. Для этого мы добавим параметры MinHeight, MaxHeight, MinWidth и MaxWidth.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
Мы пересоберем индикатор и, после добавления экземпляра, сможем попробовать изменить его размер. Изменение размера возможно только в пределах указанного диапазона ширины и высоты.
Мы также можем изменить цвет фона окна и сделать его неизменяемым по размеру.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
После того как мы выполним обычные действия (пересоберем индикатор и добавим экземпляр), окно должно получить новый цвет фона.
Обзор
Пользовательские окна cTrader гибкие и могут быть настроены в высокой степени. В дополнение к упомянутым выше свойствам вы также можете изменять отступы и заполнение, видимость пользовательских окон и то, активны ли они при определенных условиях. Пользовательские окна cTrader также предоставляют методы для их отображения, скрытия и закрытия в дополнение к нескольким другим обработчикам событий.