Избранное трейдера AndrewKip
Перед тем как вы погрузитесь в изучение статьи, обратите внимание на тот факт что всё упомянутое в ней не является финансовой рекомендацией для принятие более взвешенного решения просьба провести свое собственное исследование.
Если вы активно используете Биткоин, то наверняка замечали множество различных видов адресов. Возможно, вы сталкивались с аббревиатурами, обозначающими разные способы расходования монет. Эти способы оплаты начинаются с символов “P2” (от англ. “pay to” — “заплатить на”), например P2PKH или P2WSH. Сегодня мы рассмотрим все методы получения биткоина ончейн, которые были внедрены в протокол по мере его развития, и объясним некоторые существенные различия, которые делают каждый метод уникальным.
Отправка на публичный ключ (Pay-to-Public-Key) – это метод передачи биткоина, который не предполагает указания адреса. P2PK был первым типом, который Сатоши внедрил для передачи монет. Как следует из названия, биткоин отправляется непосредственно на публичный ключ получателя. Первая передача биткоина, когда Сатоши Накамото отправил монеты Хэлу Финни в блоке номер 170, была проведена с использованием P2PK.
Сегодня будем разбираться, зачем в терминалах для алго нужна такая абстракция, как «Позиция» или Position. У нас была техническая статья по этой теме, но вопросы продолжают поступать… И надо концептуально ещё раз объяснить.
И пока они были на плаву, было СИЛЬНО проще объяснить, как устроен наш слой создания роботов и зачем там позиции… (UPD. Да что там! У нас просто не было инструкций, люди приходили из велза и начинали молча делать роботов правильно!)
Механика управления позициями, способы их открытия и способы их закрытия пришли в OsEngine из Wealth Lab. Не целиком, но почти, и на данный момент слой увеличен раз в пять. И Wealth lab – прекрасный терминал для Алго! Когда-то этот терминал был очень популярен в России и имел приятный на тот момент интерфейс.
Если посмотреть на скрипт в Wealth-Lab, то можно обнаружить много общего с тем, что в скриптах OsEngine:
Когда в реале активно торгуются десятки инструментов, не редки случаи, когда позиции у робота и на бирже перестают совпадать. Это бывает в моменты сбоев интернета или лагов со стороны биржи или даже ошибок роботов и самом OsEngine.
Надо быть к этому готовым и уметь сверить позицию у роботов и на бирже. Модуль, отвечающий за сравнение позиций у роботов и на бирже, в OsEngine называется «Модуль сравнения позиций». О нём и будем разговаривать.
Сравнение позиций доступно в боевых торгах во вкладке портфель, при нажатии на кнопку «Сравнение позиций»:
Как не попасть на «логические ошибки тестирования» и сделать робота правильно.
Заметка про то, как организовать логику робота, если Вы собираетесь вести большие тесты на свечных данных, а так поступают (или должны бы поступить) 95% всех, кто торгует роботами.
В общем, тема важная.
Основной её тейк такой: Если делаешь робота для тестов на свечках, старайся делать всю логику в событии завершения свечи.
И далее почему.
Отдельно на этом остановлюсь. И Арбитражи, и скринеры, и ребалансировщики, и тесты на одном инструменте – всё это просто и быстро тестируется на свечных данных.
При этом, если использовать ленту сделок для тестов, сразу же можно напороться на увеличение сложности тестирования в десятки раз (а то и в сотни).
Поэтому, если у тебя не ХФТ, использовать надо для тестов свечи.
В рамках слоя создания роботов есть события, подходящие для создания логики на тестах. В основном это конечно же:
Рассмотрим пример того, как усреднять позицию, выставляя в рынок одновременно несколько ордеров.
Это стало возможно совсем недавно, т.к. камрады из сообщества очень просили. Методы, которыми будем пользоваться для усреднения позиций, называются BuyAtLimitToPositionUnsafe и SellAtLimitToPositionUnsafe. В отличие от старых методов (Без приписки Unsafe), данные методы не убирают предыдущие ордера на усреднение, и можно выставить в рынок множество ордеров.
Точка входа у робота контртредовая на канале Envelops.
Итоговая логика робота на графике выглядит так:
Шорт, прикрытый стоп ордером, выход в плюс через профит, и два лимитных ордера на бирже для усреднения.
На ГитХаб в репозитории OsEngine это находится здесь:
https://github.com/AlexWan/OsEngine
Внутри проекта здесь:
Сегодня будем рассматривать пример, в котором будем докупать актив, когда он идёт в сторону нашей позиции, и усредняться на откате. Делать это будем при помощи докупки актива в текущую позицию. Методами BuyAtMarketToPosition и SellAtMarketToPosition.
Итоговая логика робота на графике выглядит так:
На ГитХаб в репозитории OsEngine это находится здесь:
Внутри проекта здесь: