rss

Профиль компании

Финансовые компании

Блог компании Os_Engine | Пирамидинг по движению и усреднение на откате. Микроменеджмент позиций в OsEngine #4

Сегодня будем рассматривать пример, в котором будем докупать актив, когда он идёт в сторону нашей позиции, и усредняться на откате. Делать это будем при помощи докупки актива в текущую позицию. Методами BuyAtMarketToPosition и SellAtMarketToPosition.

Итоговая логика робота на графике выглядит так:

Пирамидинг по движению и усреднение на откате. Микроменеджмент позиций в OsEngine #4

1. Открываем робот-пример. AlligatorTrendAverage.

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

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/PositionsMicromanagement/AlligatorTrendAverage.cs

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

Пирамидинг по движению и усреднение на откате. Микроменеджмент позиций в OsEngine #4

 

2. Конструктор и сервисный код.

Пирамидинг по движению и усреднение на откате. Микроменеджмент позиций в OsEngine #4 

  1. Поле для хранения источника BotTabSimple. В это поле потом мы положим объект источника и сможем обращаться к нему из любой части робота. Так удобнее.
  2. Поле для хранения индикатора.
  3. Параметры. Чуть позже поговорим про каждый.
  4. Создание источника BotTabSimple.
  5. Создание параметров.
  6. Создание индикатора Alligator. Установка его длины из параметра.
  7. Подписка на событие CandleFinishedEvent (завершение свечи). В обработчике этого события будет вся торговая логика.
  8. Подписка на событие изменение параметров. В этом обработчике мы будем устанавливать индикатору новое значение длины.
  9. Отключаем автоматическое сопровождение позиции.

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

Пирамидинг по движению и усреднение на откате. Микроменеджмент позиций в OsEngine #4 

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

1. Regime – режим работы.
  1. Off – Выключен.
  2. On – Включен и будет входить и в лонг и в шорт.
  3. OnlyLong – открытие только длинных позиций.
  4. OnlyShort – открытие только коротких позиций.
  5. OnlyClosePosition – доступно только закрытие позиций.
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. Pyramid percent – через сколько % от входа будет увеличение позиции по тренду.
6. Jaw length – длина медленной скользящей средней индикатора аллигатор.
7. Teeth length – длина средней скользящей средней индикатора аллигатор.
8. Lips length – длина быстрой скользящей средней индикатора аллигатор.
9. Jaw offset – сдвиг медленной скользящей средней индикатора аллигатор.
10. Teeth offset – сдвиг средней скользящей средней индикатора аллигатор.
11. Lips offset – сдвиг быстрой скользящей средней индикатора аллигатор.

 

3. Вход в логику в событии завершения свечи.

Пирамидинг по движению и усреднение на откате. Микроменеджмент позиций в OsEngine #4

  1. Если режим робота Off, выходим из метода.
  2. Если данных по индикатору нет, выходим из метода, или, если данных в индикаторе меньше, чем его длина расчёта, выходим из метода.
  3. Берём все позиции у источника.
  4. Если позиций нет, но режим не позволяет открывать новые позиции, выходим из метода.
  5. Если позиций нет, и режим позволяет, идём в метод открытия позиции.
  6. Если позиции есть, идём в метод закрытия позиций. Логика усреднения у нас тоже в методе закрытия позиции. Обратите внимание, что в логику закрытия мы передаём весь массив с позициями, т.к. их может быть несколько.

 

4. Логика открытия позиций.

Пирамидинг по движению и усреднение на откате. Микроменеджмент позиций в OsEngine #4 

  1. Берём нужные для расчётов переменные. Последнюю цену закрытия свечи. Три скользящие средние с индикатора Аллигатор.
  2. Если Аллигатор «расправил челюсть» вверх, входим в лонг.
  3. Если Аллигатор «расправил челюсть» вниз, входим в шорт.
  4. Это классический трендовый первый вход из Книг Билла Вильямса про трендовую торговлю.

 

5. Логика закрытия позиций. Часть 1. Стандартный выход.

Пирамидинг по движению и усреднение на откате. Микроменеджмент позиций в OsEngine #4

  1. Если ранее по позиции уже активирован стандартный выход, то больше ничего не делаем. Также пропускаем статус Opening.
  2. Активируем переменную Comment у позиции. В неё мы будем записывать названия тех способов усреднения, которые мы уже успели «отработать».
  3. Берём переменные нужные для расчётов.
  4. Стандартный выход для позиции ЛОНГ. Когда текущая цена уходит ниже всех линий аллигатора, закрываем позицию.
  5. Стандартный выход для позиции ШОРТ. Когда текущая цена уходит выше всех линий аллигатора, закрываем позицию.

 

6. Логика закрытия позиций. Часть 2. Усреднение при возврате в канал.

Пирамидинг по движению и усреднение на откате. Микроменеджмент позиций в OsEngine #4

  1. Если во время ЛОНГа текущая цена становится ниже какой-то из линий Аллигатора, т.е. возвращается в канал.
  2. Если мы ещё не усреднялись.
  3. Докупаем для позиции дополнительный объём по маркету. При этом делаем запись в комментарий о том, что усреднились.
  4. Если во время ШОРТа текущая цена становится выше какой-то из линий Аллигатора, т.е. возвращается в канал.
  5. Если мы ещё не усреднялись.
  6. Продаём для позиции дополнительный объём по маркету. При этом делаем запись в комментарий о том, что усреднились.

 

7. Логика закрытия позиций. Часть 3. Пирамидинг по направлению позиции.

Пирамидинг по движению и усреднение на откате. Микроменеджмент позиций в OsEngine #4

  1. Если мы в лонге и до этого не «пирамидились».
  2. Считаем цену, после которой будем увеличивать позицию.
  3. Если цена прошла в нашу сторону достаточно, докупаемся по маркету и записываем в комментарий информацию о том, что уже докупались.
  4. С шортом зеркально.

 

8. На выходе.

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

Пирамидинг по движению и усреднение на откате. Микроменеджмент позиций в OsEngine #4

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

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

Пирамидинг по движению и усреднение на откате. Микроменеджмент позиций в OsEngine #4

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

Пирамидинг по движению и усреднение на откате. Микроменеджмент позиций в OsEngine #4

★1

UPDONW
Новый дизайн