def sharpe_ratio(close: Series, benchmark_rate: float = 0.0, log: bool = False, use_cagr: bool = False, period: int = RATE["TRADING_DAYS_PER_YEAR"]) -> float:
"""Sharpe Ratio of a series.
Args:
close (pd.Series): Series of 'close's
benchmark_rate (float): Benchmark Rate to use. Default: 0.0
log (bool): If True, calculates log_return.В роботах, особенно с большим кол-вом настроек, бывает, требуется как-то визуально выделить некоторые Параметры и/или разделить их на группы. В OsEngine имеется такая возможность, и сегодня мы рассмотрим доступный функционал, как он выглядит и как им пользоваться.
Знакомиться с функционалом будем на примере робота VisualSettingsParametersExample. Открываем проект OsEngine в Visual Studio и находим файл в папке Robots\TechSamples:
Открываем робота, смотрим Конструктор:

В данной статье будем учиться подключать OsEngine к боевому серверу Мосбиржи по протоколам FIX и FIX/FAST для фондового рынка.
На примере DMA АЛОР брокера.

1. ЧТО ДЕЛАЕМ НА САЙТЕ БРОКЕРА
1. Подключаем услугу DMA (Direct Market Access), или по-русски прямой доступ к рынкам.
Не у всех брокеров такая услуга доступна, о наличии лучше сразу спросить у специалистов техподдержки. Обычно прямой доступ предоставляют брокеры с уклоном в «большую профессиональность». Например, у АЛОРа прямой доступ есть, поэтому будем рассматривать на их примере.
У прямого доступа есть два основных варианта подключения и размещения торгового терминала:

Уже много лет у нас классическая IT компания, базирующаяся на Open Source проекте. Это означает, что в основном мы делаем софт на заказ.
Это в каком-то смысле даже стандарт для Open Source. Сотни и тысячи компаний так живут:
1 – Имеем классный Open Source бесплатный, которым пользуются люди.
2 – Получаем от рынка классные заказы на разработку расширений для него (в нашем случае в основном торговых роботов).
В данном посте поговорим о параметрах индикаторов в OsEngine. Какие они бывают. Как их добавлять в индикатор. Как различные типы параметров потом выглядят в пользовательском интерфейсе.

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

Пример лежит на ГитХаб здесь: https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Indicators/Samples/Sample1Blank.cs
В проекте это тут:
Восстановление позиций в OsEngine после аварий.
Что делать, если реализовался неторговый риск, и позиции в роботе не соответствуют позициям на бирже? В сегодняшнем видео разберемся, как восстановить актуальное состояние позиций после внешней аварии, и рассмотрим самые простые стратегии защиты.
VK Видео:
YouTube: