
Рассмотрим пример того, как выходить из позиции двумя (вообще можно больше, но в примере 2) лимитными ордерами одновременно.
Это стало возможно совсем недавно, т.к. камрады из сообщества очень просили. Метод, которым будем пользоваться для закрытия позиций, называется CloseAtLimitUnsafe. Отличие от CloseAtLimit такое:
Точка входа у робота контртредовая на канале Envelops.
Итоговая логика робота на графике выглядит так:

Паттерн позволяет разделить логику тестирования от логики реального входа внутри робота для того, чтобы при входе и выходе не «рисовать свечи» своими большими заявками.
Очень важная заготовка паттерна управления позицией для тех, у кого много денег на счету. В том числе разберём исходный код, чтобы Вы могли модернизировать свои способы входа в реале, опираясь на данные исходники. В примере логика айсберга выделена в отдельный объект и использована многопоточность, но её надо будет переиспользовать без изменений, поэтому не пугайтесь, кто не программист, переиспользовать удастся. Будете входить, как захотите в реале.
Итоговая логика робота на графике в реале выглядит так:
В этом видео подробно рассмотрим Журнал сделок в OS Engine. А также проведем тесты ГРААЛЬНОГО робота и на его примере подробно объясним, какая нужная информация по тестам (или торговле) записывается в журнал.
VK Видео:
RuTube:
Изменения, баг-фикс и улучшения, которые были внесены в проект за предыдущий месяц.
Приближаемся к продакшен-реди версии. Около нового года можно будет об этом говорить, поэтому фокус смещается на инструкции и удобство работы с проектом для начинающих.
Сам ГАЙД здесь: https://smart-lab.ru/company/os_engine/blog/1024149.php
Он делается для того, чтобы было удобно и быстро искать всё в одном месте. Вся информация по алготрейдингу и созданию торговых роботов, которая Вам может понадобиться в одном месте.
Новое за месяц:

Сегодня будем рассматривать пример, в котором будем последовательно выходить из позиции через лимитки в рынке, выставляя лимитки одну за другой. Вход у нас будет по развороту на свечках, опирающихся на волатильность (через ATR).
Итоговая логика робота на графике выглядит так:
Приглашаю всех алготрейдеров из нашего (и не нашего) сообщества прийти в гости. Наговоримся и насмотримся друг на друга за весь прошлый год.
Собираюсь посетить данное мероприятие в качестве гостя моих друзей из АЛОР грузчика стоек с телевизорами и выставочного стенда АЛОР брокера. Буду весь день у их стойки.
Попробуем как-нибудь там развлечься с Вами. Водку мне, правда, проносить строго запретили… Поэтому придётся крепко поразмыслить, что там делать целый день…
Мы пока обсуждаем, что там точно у стенда будет. Обсуждаем конкурсы, в том числе и разыгрывать Symphony (https://vk.com/video-195406323_456239042?ref_domain=o-s-a) возможно будем. Обсуждаем розыгрыш призов поменьше, вроде вводного курса по OsEngine и Арбитражам. Обсуждаем возможный «Нетворкинг» для алготрейдеров отдельный, ибо мне думается, что несколько десятков человек таки придут, и возможно нам надо завалиться в бар с караоке место потише, чем «Ультралакшериресторанопати Тимофея». Ну и возможно, будут другие маленькие прелести. Об этом буду по ходу утверждения писать.

Сегодня будем рассматривать пример, в котором будем докупать актив, когда он идёт в сторону нашей позиции, и усредняться на откате. Делать это будем при помощи докупки актива в текущую позицию. Методами BuyAtMarketToPosition и SellAtMarketToPosition.
Итоговая логика робота на графике выглядит так:
В некоторых типах торговых алгоритмов при перезапуске тестера нужно обнулять переменные или массивы. Это нужно в довольно редких случаях, но Вы должны знать, как это делать. В этом посте посмотрим пример, в котором это реализовано.

1. Идём в пример PriceChannelScreenerOnIndexVolatility.
Он писался для лекций по стадиям волатильности и в нём есть переменные, которые нужно сбрасывать в начале теста, и робот довольно сложный…
На ГитХаб это здесь:
https://github.com/AlexWan/OsEngine
В проекте это здесь:

Бывают случаи, когда для роботов надо сохранять ленту сделок. Иногда без этого не обойтись. Между тем, это опасно и требует постоянного внимания.
Посмотрим на то, как это делать не надо. И несколько советов о том, как делать это правильно. Для терминала OsEngine.
Часто при внесении изменений в проект возникает ситуация, когда ваши изменения могут конфликтовать с обновлениями в главном репозитории проекта. Это происходит тогда, когда главный репозиторий успел обновиться уже после того как вы внесли свой новый код. Как автоматически избегать подобной проблемы рассказываем в новом видео для программистов.
VK Видео:
RuTube: