OS_Engine_team

Читают

User-icon
193

Записи

344

Выход из позиции в несколько ордеров одновременно через множество открытий. Микроменеджмент позиций в OsEngine #2

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

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

Выход из позиции в несколько ордеров одновременно через множество открытий. Микроменеджмент позиций в OsEngine #2 

 

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

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

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

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



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

Контроль позиций по разным типам входов при помощи 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

Ваш первый многопоточный HFT скринер. Ловец ножей от плит. Быстрый старт в программировании OsEngine #8

В данной статье посмотрим робота, который реализован с использованием многопоточного подхода.

Ваш первый многопоточный HFT скринер. Ловец ножей от плит. Быстрый старт в программировании OsEngine #8 

Смотрит стаканы поступающих с биржи бумаг, ожидая «Плиту». При этом смотрит то кол-во бумаг, которое Вы в него подключили, как скринер.



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

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