Пример «Кастомные параметры для окна параметров». Таблица в окне параметров.

Пример «Кастомные параметры для окна параметров». Таблица в окне параметров.

Данный пример робота служит демонстрацией реализации кастомных элементов параметров.

В нем показано:

1. Создание индикатора ATR на второй области графика.

2. Создание двух индикаторов SMA на основном чарте.

3. Добавление таблицы для вывода в окно параметров значение индикаторов.

4. Использование окна параметров робота для настройки элементов.

Где найти робота в проекте?

Для начала открываем папку с проектом и заходим в «project».

Далее открываем проект в Visual Studio.

Находим в проекте папку «Robots» и открываем ее.

Находим папку «TechSamples» и в ней уже выбираем нашего робота «CustomParamsUseBotSample».

 

Разбор робота построчно:

Строки 1-9:

Импортируются необходимые пространства имен:

 

Строки 12-15:

Определяется пространство имен OsEngine.Robots.TechSamples для организации кода и класс ElementsOnChartSampleBot наследует от BotPanel:

 

Строки 19-20:

Инициализируется панель бота:

Cоздается простая вкладка, сохраняется ссылка на вкладку в _tab для дальнейшего использования.

 

Строка 22-41:

Создание параметров робота:

 

Строки 43-56:

Создание индикаторов:

Создание и настройка индикаторов: быстрая и медленная скользящие средние, (SMA) и ATR.

 

Строка 58:

Подписываемся на событие ParametrChangeByUser:

При изменениях параметров индикаторов пользователем вызывается данный метод и обновляет их значения.

 

Строка 60:

Подписывается на событие CandleFinishedEvent:

 

Строки 64-66:

Настройка интерфейса параметров:

 

Строки 69-74:

Создание пользовательской вкладки для значений индикаторов:

 

Строки 79-136:

Метод, отвечающий за создание таблицы значений индикаторов:

 

 

Строки 138-161:

Метод, отвечающий за обновление значений таблицы:

 

Строки 163-187:

Метод, который создает ячейки в таблице уже для готовых значений:

 

Строки 191-200:

Метод обновления значений параметров индикаторов:

 

Строки 202-226:

Этот блок отвечает за набор переменных робота:

 

Строки 228-236:

Переопределение методов GetNameStrategyType и ShowIndividualSettingsDialog.

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

 

Строки 240-273:

Этот метод, вызываемый при каждом формировании новой свечи на графике, отвечает за обработку торговых сигналов робота:

 

Строки 275-296:

Метод, отвечающий за открытие позиции:

 

Строки 298-320:

Метод, отвечающий за закрытие позиции:

Описание работы методов:

Заходим в тестер и запускаем нашего робота, открываем окно параметров.

1. «Base»:

В ней находятся базовые настройки робота.

 

2. «Indicators»:

Здесь мы настраиваем наши индикаторы.

 

3. «Exit settings»:

Настройка значений для логики выхода из позиции.

 

4. «Indicators values»:

В этой вкладке параметров находится таблица значений индикаторов.

Для создания такой таблицы нам требуется три следующих метода:

1. CreateTable

2. PaintTable

3. GetRow

Метод CreateTable:

1. Метод "Название" создаёт таблицу (DataGridView) внутри элемента WindowsFormsHost.

2. Создаётся новый объект типа WindowsFormsHost и присваивается переменной.

3. Создаётся новый объект DataGridView с режимом выбора всей строки (DataGridViewSelectionMode.FullRowSelect) и режимом автоматического изменения размера строк, используя метод DataGridFactory.GetDataGridView.

4. Устанавливается режим автоматического изменения размера заголовков столбцов (ColumnHeadersHeightSizeMode.AutoSize).

5. Создаётся объект DataGridViewTextBoxCell (cell0) и его стиль задаётся равным стилю по умолчанию для newGrid.

6. Создаются и настраиваются пять столбцов (DataGridViewColumn):

1. Time: Столбец для отображения времени.

2. Slow Sma: Столбец для отображения медленной скользящей средней (SMA).

3. Fast Sma: Столбец для отображения быстрой скользящей средней (SMA).

4. Atr: Столбец для отображения значения ATR (Average True Range).

5. Len in Atr: Столбец для отображения длины в ATR.

7. Для каждого столбца устанавливаются следующие свойства:

1. CellTemplate: Устанавливается ячейка шаблона (cell0).

2. HeaderText: Устанавливается текст заголовка столбца.

3. ReadOnly: Устанавливается свойство, чтобы столбец был только для чтения.

4. AutoSizeMode: Устанавливается режим автоматического изменения размера столбца.

8. Все созданные и настроенные столбцы добавляются в DataGridView (newGrid.Columns.Add).

9. Свойство Child объекта _host устанавливается равным созданному DataGridView (newGrid).

10. Ссылка на созданный DataGridView сохраняется в переменную.

Метод PaintTable:

1. Обновляет таблицу с использованием данных свечей и индикаторов.

2. Очищает все строки в таблице для подготовки к добавлению новых данных.

3. Извлекает значения быстрой скользящей средней, медленной скользящей средней и ATR из соответствующих серий данных индикаторов.

4. Проходит по всем свечам в списке.

5. Для каждой свечи вызывает метод GetRow, который возвращает строку данных для добавления в таблицу. В метод передаются текущая свеча, соответствующие значения медленной скользящей средней, быстрой скользящей средней и ATR.

6. Добавляет полученную строку в таблицу (_grid.Rows.Add).

Метод GetRow:

1. Создаёт и возвращает строку для таблицы на основе данных свечи и значений индикаторов (медленная и быстрая скользящие средние, ATR).

2. Создаётся новый объект типа DataGridViewRow.

Первая ячейка:

1. Создаётся новый объект DataGridViewTextBoxCell.

2. В ячейку добавляется значение времени начала свечи.

Вторая ячейка:

1. Создаётся новый объект DataGridViewTextBoxCell.

2. В ячейку добавляется значение медленной скользящей средней.

Третья ячейка:

1. Создаётся новый объект DataGridViewTextBoxCell.

2. В ячейку добавляется значение быстрой скользящей средней.

Четвёртая ячейка:

1. Создаётся новый объект DataGridViewTextBoxCell.

2. В ячейку добавляется значение ATR.

Пятая ячейка:

1. Создаётся новый объект DataGridViewTextBoxCell.

2. Если значение ATR не равно нулю, в ячейку добавляется вычисленное значение разницы между быстрой и медленной скользящими средними, делённой на ATR.

3. Возвращает заполненную строку для добавления в таблицу DataGridView.

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

OSENGINE поддержка терминала

16:21
88

Комментарии

Нет комментариев. Ваш будет первым!