Найти тему
Заметки пользователя

Создание биржевых торговых роботов без навыков программирования. Среда для разработки торговых систем TSLab. Создание робота. Часть 3.

Продолжение построения робота на двух скользящих средних в TSLab. В предыдущей заметке было описано начало создания торгового алгоритма. К блоку Главная, который отображается в основной части окна, подключен источник данных - файл с котировками фьючерса на рубль/доллар Si. В окне Главная появился минутный график этого инструмента. Помимо этого на график были наложены две экспоненциальные скользящие средние периодами 30 и 180.

Для реализации торговой стратегии требуется добавить условия открытия сделок. Из Панели инструментов с правой части программы в вертикальном меню открыть вкладку Торговая математика и перетянуть мышью в поле проекта блок Пересечение снизу.

рис.1
рис.1

Таким же образом добавить Пересечение сверху.

рис.2
рис.2

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

рис.3
рис.3

К первому (верхнему) входу подключается скользящая КОторую пересекают. Ко второму входу блока подключается скользящая та, которая пересекает.

Ко второму входу блока Пересечение снизу подключить быструю скользящую с периодом 30.

рис.4
рис.4

С блоком Пересечение сверху тоже самое. К первому (верхнему) входу блока подключить скользящую которая пересекается - медленная с периодом 180.

рис.5
рис.5

Ко второму входу блока подключить быструю скользящую с периодом 30.

рис.6
рис.6

Осталось вывести все это на график и соединить эти блоки с кубиком Главная. С выхода Пересечение снизу провести мышью к левому(!) краю блока.

рис.7
рис.7

Подключить блок Пересечение сверху.

рис.8
рис.8

Теперь можно настроить отображение сигналов на графике.
Выделив линию, которую получили от соединения
Пересечение снизу с блоком Главная, выбрать в правой нижней части программы тип Гистограмма и задать ее цвет - для покупки зеленый, нажать Enter.

рис.9
рис.9

Выделить линию от Пересечение сверху к Главная, так же установить тип сигнала на графике Гистограмма и цвет сигнала для продажи розовый, нажать Enter.

рис.10
рис.10

Можно посмотреть как это выглядит на графике и нажать кнопку Сохранить и выполнить в правой части верхнего горизонтального меню. Как видно на пересечениях быстрой скользящей медленной с периодом 180 появились вертикальные гистограммы - розовая на пересечении сверху вниз, зеленая - при пересечении снизу вверх.

рис.11
рис.11

Для того, чтобы робот открывал сделки при появлении сигналов, следует добавить блок Открытие позиции по рынку из выпадающего списка Позиция в Панель инструментов. Робот торгует по сигналам и здесь заявки будут только рыночные.

рис.12
рис.12

По какому инструменту открывать позицию роботу укажет соединение блока Источник с блоком Открытие позиции по рынку.

рис.13
рис.13

Теперь требуется задать условие сигнала, по какому будет открываться позиция, и соединить блок Пересечение снизу с блоком Открытие позиции по рынку.

рис.14
рис.14

Следующее, что должно выполняться роботом, это при каком условии сделка будет закрываться.

Из меню Позиция перетянуть в проект блок Закрытие позиции по рынку.

рис.15
рис.15

Для того, чтобы позицию можно было закрывать, она должна быть открыта, и соединение выхода блока Открытие позиции по рынку с входом Закрытие позиции по рынку будет условием, которое для этого нужно.

рис.16
рис.16

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

рис.17
рис.17

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

рис.18
рис.18

Для реализации обратного сигнала - сигнала на продажу, понадобятся те же два блока и их можно добавить из меню, так же можно просто обвести, скопировать и вставить в поле проекта.

рис.19
рис.19
рис.20
рис.20

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

рис.21
рис.21

Теперь покупку требуется сменить на продажу т.к. это обратный сигнал. При выделенном блоке Открытие позиции по рынку1 в правой нижней части программы активировать эту возможность нажав на кнопку с изображением ползунков и снять отметку с Покупка. Нажать Enter. Кубик блока окрасился в розовый цвет и значение стало Покупка - Нет.

рис.22
рис.22

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

рис.23
рис.23

Одним из условий закрытия продажи будет пересечение скользящей с периодом 30 скользящей с периодом 180 снизу вверх. Выход Пересечение снизу соединяется с входом Закрытие позиции по рынку1.

рис.24
рис.24

Сохранить проект и нажать Выполнить. Теперь при пересечении индикаторов на графике отображаются как сигналы на покупку, так и на продажу.

рис.25
рис.25

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

Создание торгового робота в TSLab. Часть 1.

Создание торгового робота в TSLab. Часть 2.

Создание торгового робота в TSLab. Часть 4.

Создание торгового робота в TSLab. Часть 5.

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