rss

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

Блог компании Os_Engine

Микроменеджмент позиций. Введение.

Открыли новую минирубрику в нашем Гайде. «Микроменеджмент позиций». О том, какие бывают паттерны управления позициями, и как это выглядит в исходном коде (т.е. на примерах).

Поговорим о том, что там будет.

В гайде этот раздел можно найти тут:

Микроменеджмент позиций. Введение.

На данный момент подготовлено ПЯТЬ примеров работы со сложной работой с позициями. Для них пишутся статьи:

  1. Контроль позиций по разным типам входов при помощи SignalTypeOpen и SignalTypeClose. Эта уже выложена в ГАЙД.
  2. Выход из позиции в несколько ордеров одновременно через множество открытий.
  3. Усреднение позиции открытием новых позиций.
  4. Усреднение и пирамидинг позиции последовательный, для одной позиции.
  5. Последовательный выход из позиции разными ордерами.
  6. Вход в позицию через кастомный айсберг для реала.
  7. Одновременный выход из позиций лимитками, ожидающими в рынке.
  8. Усреднение двумя лимитками, ожидающими в рынке.
  9. Бест-практикс. Делать в тестах на свечах всю логику в событии завершения свечи.

 

Вопрос менеджмента позиций сложный, и копий сломано немало…



( Читать дальше )

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

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

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

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

1. О чём речь?

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

public string SignalTypeOpen

public string SignalTypeClose

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

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



( Читать дальше )

Как узнать, где у робота утекает ЦП? Профилировка ботов в VisualStudio. Быстрый старт в программировании OsEngine #10

В данном посте будем учиться запускать «профилирование» в Visual Studio, чтобы глазами увидеть место самых больших нагрузок у бота.

Ну и в целом заканчиваем нашу минисерию постов про производительность роботов и как делать так, чтобы у Вас никакие очереди не забивались, а роботы работали быстро и качественно.

Как узнать, где у робота утекает ЦП? Профилировка ботов в VisualStudio. Быстрый старт в программировании OsEngine #10 

1. Профилировка – это что?

Профилировка производительности C# — это процесс анализа производительности программы путём мониторинга использования процессора различными функциями и сегментами кода.

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

С точки зрения прикладного:

Профилировка производительности – один из способов запуска проектов на СиШарп (OsEngine), который помогает увидеть «узкие» места в коде, где больше всего расходуется ЦП.

Так проект OsEngine можно запустить в нескольких режимах:



( Читать дальше )
  • обсудить на форуме:
  • OsEngine

Проблемы при нагрузках на поток, посылающий данные в роботов. Быстрый старт в программировании OsEngine #9

В данной статье поговорим о проблемах «перегрузки» в пользовательской логике в роботе. Очень условно поговорим про поточную модель OsEngine и о том, почему нельзя нагружать поток робота «лишней» работой или укладывать «Спать».

Проблемы при нагрузках на поток, посылающий данные в роботов. Быстрый старт в программировании OsEngine #9 

Для начала давайте взглянем на поток, который отдаёт данные в роботов в реале. Для этого нужно открыть класс AServer. Это вот здесь:



( Читать дальше )
  • обсудить на форуме:
  • OsEngine

День программиста! ПОДАРКИ! Курс лекций «Ротация бумаг между алгоритмами по стадиям волатильности». *участникам нашего сообщества, торгующим в АЛОР!

В конце прошлого месяца вёл в школе АЛОР лекции по направлению. Разбирали различные подходы к определению «стадий волатильности». Смотрели, как это делать:

  1. По Моноинструментам.
  2. По Скринерам на широком рынке.
  3. По индексам.

Всего вышло 5ть часовых лекций. Скрипты в комплекте.

Для клиентов АЛОР, торгующих из нашего сообщества, эти лекции доступны бесплатно!

День программиста! ПОДАРКИ! Курс лекций «Ротация бумаг между алгоритмами по стадиям волатильности». *участникам нашего сообщества, торгующим в АЛОР!

Что в лекциях?

В основном, разбор проблемы динамического выбора бумаг в торги. Я с этим столкнулся ещё в 2022 году, когда реанимировал свои арбитражи на крипте. С тех пор подход улучшается и изменяется. Проблема встаёт ребром на MOEX, т.к. скорость изменения популярных бумаг довольно быстрая, и алгоритмы должны уметь на это реагировать. Ну и бонусом несколько способов определения стадий волатильности по бумагам.

Какие способы я сам проходил, прям по годам пойдём. От самого простого к самому сложному. Постараюсь сэкономить Вам несколько лет жизни на исследованиях.



( Читать дальше )

....все тэги
UPDONW
Новый дизайн