Создание алгоритма из кубиков
Для создания схем стратегий и составных элементов, а также тестирования полученных стратегий на исторических данных, можно использовать пример стратегии скользящих средних SMA. Он позволяет пройти полный цикл от создания стратегии, до ее тестирования и отладки. Стратегию скользящих средних SMA можно найти в папке Стратегии панели Схемы.
- Создадим новую стратегию как описано в пункте Использование C# из кубиков. Добавить новую стратегию можно нажав на кнопку Добавить во вкладке Общие и выбрать Стратегия. Или нажав правой кнопкой мыши на папке Стратегии панели Схемы, и нажать на кнопку Добавить в выпавшем меню.
После нажатия кнопки Добавить в папке Стратегии панели Схемы появится новая стратегия. В рабочей области появится новая вкладка со стратегией, при переходе на которую в ленте автоматически откроется вкладка Эмуляция. На вкладке Эмуляция можно изменить название стратегии и дать ей краткое описание.
- Для удобной работы стоит раскрыть и зафиксировать панели Палитра и Свойства области Схема, нажав кнопку . В результате получится окно следующего вида.
- Суть стратегии скользящих средних (SMA) заключается в следующем:
- Есть две скользящих средних с разными периодами расчёта, длинная SMA и короткая SMA. В примере кубик Индикатор длинной SMA называется Long SMA с периодом 80 свечей, короткая SMA называется Short SMA с периодом 10 свечей.
- При пересечении короткой скользящей средней длинную снизу-вверх, открывать длинную позицию.
- При пересечении короткой скользящей средней длинную сверху-вниз, открывать короткую позицию.
- При наличии противоположной позиции в момент получения сигнала на открытие позиции, переворачивать позицию.
- Для всех стратегий необходим инструмент и портфель, по которым будут совершаться сделки. Необходимо добавить их из панели Палитра в панель Дизайнер. В примере кубик Переменная с типом Инструмент называется Security, кубик Переменная с типом Портфель называется Portfolio. Установить флажок Параметры кубиков Security и Portfolio. При установленном флажке кубик значение будет брать из настроек стратегии. Если флажок параметры не установить, необходимо вручную ввести значения инструмента и портфеля. Если оставить поле Значение кубика Переменная пустым и не установить флажок параметры, стратегия при тестировании выдаст ошибку о не установленном значении кубика Переменная.
Если в стратегии необходимо использовать несколько инструментов или портфелей, то для каждого кубика необходимо снять флажок Параметры и прописать значение инструмента или портфеля.
- После добавления инструмента и портфеля, следует добавить два кубика Индикатор выбрать тип SMA, назвать первый Long SMA, установить период 80 свечей, второй назвать Short SMA и установить период 10 свечей.
- Для работы индикаторов необходимо на них подать серию свечей. Для этого необходимо создать кубик Свечи. В примере используется только сформированные свечи с таймфреймом 5 минут.
- После добавления индикаторов следует добавить два кубика, определяющие пересечения индикаторов. Это кубики Пересечение из составных элементов. Первый кубик называется Crossing Up. Он определяет пересечение снизу-вверх. На верхний вход кубика подается индикатор Short SMA, на нижний вход индикатор Long SMA. Оператор CurrComparison устанавливается в значение больше, оператор PrevComparison устанавливается в значение Меньше или равно. Второй кубик называется Crossing Down, он определяет пересечение сверху вниз. На верхний вход кубика подается индикатор Short SMA, на нижний вход индикатор Long SMA. Оператор CurrComparison устанавливается в значение меньше, оператор PrevComparison устанавливается в значение Больше или равно.
- Для наглядного отображения свечей, индикаторов и сделок стоит добавить Панель графика. В ней добавим элементы отображения, Свечи, два индикатора и сделки.
- В качестве источника сделок для отображения на графике используется кубик Сделки стратегии. В примере называется Strategy trades.
- Для открытия позиции необходимо добавить два кубика Регистрация заявки. Первый кубик на покупку рыночной заявкой, на вход которого подается Инструмент, сигнал на открытие позиции от кубика пересечения Crossing Up, Портфель и объём заявки. Второй кубик на продажу рыночной заявкой, на вход которого подается Инструмент, сигнал на открытие позиции от кубика пересечения Crossing Down, Портфель и Объём заявки.
- Соединив линиями (Линии) вышеперечисленные элементы, получается схема без учета текущей позиции стратегии. В таком состоянии она будет набирать лишнее количество лотов.
Для контроля позиции необходимо добавить кубик Позиция, на вход которого подается Инструмент и Портфель.
Для обработки текущей позиции можно воспользоваться уже готовой схемой, описанной в пункте Определение объема позиции. Эта схема определяет фактическое значение необходимого объема для выставления в заявке. И при необходимости переворота позиции она подаст удвоенное значение портфеля.
- В результате законченная стратегия имеет вид: