Изображение блога
OS_Engine_team
OS_Engine_team Блог компании Os_Engine
19 сентября 2024, 16:00

Контроль позиций по разным типам входов при помощи SignalTypeOpen и SignalTypeClose.

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

Сегодня с Вами разберём робота, который торгует ДВЕ торговые логики одновременно, разделяя логику как раз по сигналам.

Контроль позиций по разным типам входов при помощи SignalTypeOpen и SignalTypeClose.

1. О чём речь?

Каждый экземпляр класса робота одновременно может вести несколько позиций. Фактически это число ничем не ограниченно, все упирается в производительность железа и размер средств на счете. В таких случаях роботу бывает необходимо разделять позиции по каким-либо критериям, например, по причинам открытия и/или закрытия позиции. Для этих целей в классе Position имеется два открытых поля:

public string SignalTypeOpen

public string SignalTypeClose

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

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

 

2. Открываем робот-пример. TwoEntrySample.

На ГитХаб в репозитории OsEngine это находится здесь:

github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/PositionsMicromanagement/TwoEntrySample.cs 

Внутри проекта здесь:

Контроль позиций по разным типам входов при помощи SignalTypeOpen и SignalTypeClose.

 

3. У робота два индикатора, по которым он одновременно торгует.

В остальном он стандартен:

Контроль позиций по разным типам входов при помощи SignalTypeOpen и SignalTypeClose. 

  1. Параметры для настройки.
  2. Два индикатора. Envelops и PriceChannel. Два индикатора канала.
  3. Источник для подключения к одному инструменту.
  4. Вход в логику у него через событие завершения свечи.

Настройки такие:

Контроль позиций по разным типам входов при помощи SignalTypeOpen и SignalTypeClose.

За что отвечают параметры:

1. Regime – режим работы.
  1. Off – Выключен.
  2. On – Включен и будет входить и в лонг и в шорт.
2. Volume type – режим выбора объёма.
  1. Contracts – кол-во контрактов инструмента.
  2. Contract currency – валюта контракта.
  3. Deposit percent – процент от депозита.
3. Volume – значение объёма. Что именно, зависит от предыдущего пункта. В случае Contracts тут указывается объём инструмента. В случае Contract currency здесь указывается кол-во рублей или долларов, которыми нужно войти. В случае с Deposit percent здесь указывается % от общего депозита, которым нужно войти в контракт.
4. Asset in portfolio – тут нужно указывать название валюты, которое будет использовано для расчёта объёма, если Вы выбрали тип объёма “Deposit percent”. В тестере оставляем «Prime». На крипте это обычно “USDT”.
5. Envelop deviation – отклонение для индикатора Envelops.
6. Envelop moving length – длина центральной линии индикатора Envelops.
7. Price channel length – длина индикатора PriceChannel.

 

4. Во время открытия позиции помечаются строковым сигналом.

Для этого в методе открытия позиции добавляется один параметр:

Контроль позиций по разным типам входов при помощи SignalTypeOpen и SignalTypeClose. 

 

5. Докупаем вторую позицию, обращая внимание на сигнал в первой.

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

Контроль позиций по разным типам входов при помощи SignalTypeOpen и SignalTypeClose. 

 

6. Сортируем позиции по разным методам закрытия, смотря на сигнал.

Логику закрытия тоже разделяем на две, в зависимости от сигнала открытия:

Контроль позиций по разным типам входов при помощи SignalTypeOpen и SignalTypeClose.

 

7. Тип позиции в интерфейсе.

В таблице позиций в роботах и главном интерфейсе есть колонки «Signal Type Open» и «Signal Type Close». Если Вы помечаете позиции таким образом, в данных колонках Вы увидите тип сигнала:

Контроль позиций по разным типам входов при помощи SignalTypeOpen и SignalTypeClose.

Удачных алгоритмов!

Комментарии открыты для друзей!

Контроль позиций по разным типам входов при помощи SignalTypeOpen и SignalTypeClose.

OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support

Регистрируйся в АЛОР и получай бонусы: https://www.alorbroker.ru/open
Сайт АЛОР БРОКЕР: https://www.alorbroker.ru
Раздел «Для клиентов»: https://www.alorbroker.ru/openinfo/for-clients
Программа лояльности от АЛОР БРОКЕР и OsEngine: https://smart-lab.ru/company/os_engine/blog/972745.php

Контроль позиций по разным типам входов при помощи SignalTypeOpen и SignalTypeClose.

0 Комментариев

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн