Блог им. SergeyEgorov |Развиваем навык программирования обработчиков

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

Алгоритм нового обработчика в двух словах: Берем набор тиков за последние N секунд. Если разница между максимальной и минимальной ценой в наборе тиков меньше значения M, то не торгуем, считая что тренда нет. Если цена самого старого тика в наборе, меньше цены самого свежего тика в наборе, открываем позицию в лонг. Если цена самого старого тика в наборе, больше цены самого свежего тика в наборе, открываем позицию в шорт.

Видео в этот раз на 40 минут, потому что пишем код, и потому что пишем тест, до того, как пишем код.


Блог им. SergeyEgorov |Что произойдет с роботом, в случае сбоя SmartCOM-а?

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

Сложно с этим не согласиться, но как всегда есть нюанс. Большинство из нас, разрабатывая автоматические торговые системы почти всегда использует какой-нибудь чужой модуль. Это может быть шлюз, COM компонент или библиотека. Любой из этих компонентов может привносить собственную изюминку в коллекцию сбоев робота.

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


Блог им. SergeyEgorov |Доступ из робота к обработчикам событий SmartCom

В собранной нами конструкции робота отсутствуют ссылки на класс StServerClass и интерфейс StServer. Как быть, если необходимо получить прямой доступ к обработчикам событий SmartCom? Ну например моей торговой стратегии для корректной работы необходимы некие исторические данные и я хочу сразу после установления соединения запросить у брокера некий набор баров.

В традиционно коротком видео (15 минут)


показан один из способов обращения к родным событиям SmartCom, который позволяет обеспечивать корректную работу и восстановление робота даже в случае удара пресловутого исключения System.Runtime.InteropServices.COMException (0x800706BA), за счет динамического связывания и пересвязывания всех обработчиков.

Блог им. SergeyEgorov |Что произойдет с роботом в случае обрыва связи?

Вчера, в одном из комментариев мне предложили заняться стресс-тестированием робота (библиотеки), в том числе и в части его поведения, касающегося обработки обрывов связи с брокером.

Я подумал что это неплохая идея для демонстрационного ролика. В принципе, потенциальные пользователи имеют право знать, как им убедиться в том, что библиотека, и робот в принципе осведомлены о том, что в жизни существуют такие вещи как «пропал Интернет» и что в первом приближении они от таких вещей застрахованы.

Короткое, 12 минут видео, о том, как вы можете убедиться в том, что написанный с использованием библиотеки ru.sazan.trader робот, обнаруживает краткосрочные (1 минута) обрывы связи и продолжает торговать после ее восстановления.


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

Блог им. SergeyEgorov |Вывод результатов торговли робота в консоль

Еще одно видео в формате «для тех, у кого мало времени». За пять минут добавляем роботу способность сообщать о реализованных им прибылях и убытках.

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

Блог им. SergeyEgorov |Учим робота отменять заявки на открытие

Еще пять с небольшим минут видео, где показывается как добавить роботу готовый обработчик, который будет отменять лимитные заявки на открытие позиции, цена которых «ушла» на N пунктов, от лучшей цены спроса-предложения на рынке.


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

P.P.S. Обновленный исходный код проекта можно загрузить все из того же репозитория.

Блог им. SergeyEgorov |О типе данных Enum

Новое видео для тех, кто не умеет программировать. Краткий, пять с хвостиком минут, но страшно практический обзор типа данных Enum. Естественно в качестве примеров только объекты из предметной области биржевой торговли.


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

Блог им. SergeyEgorov |Бесплатная библиотека для программирования роботов

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

Разработку я начал год назад и нашей главной целью было как можно быстрее, и как можно с меньшими затратами начать торговать алгоритмически. Цели как мне кажется мы вполне достигли, потому что используя наш подход мы сегодня можем реализовывать и ставить на торговлю новые алгоритмы очень быстро (в течение одного рабочего дня даже).

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


  Видео можно скачать файлом отсюда. (Формат avi, размер 27.4 Мб)


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

Блог им. SergeyEgorov |Техника тестирования робота на SmartCom

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

Новое видео о том, как эту самую архитектуру легко и ненавязчиво заложить в основание автоматической торговой системы.


Видео можно скачать файлом отсюда. (Формат mp4, размер 218 Мб)

Блог им. SergeyEgorov |Вебкаст "Знакомимся с типом данных DateTime"

Еще часть конспекта учебного плана перекочевала в небольшой видеофрагмент для бета-тестеров будущего учебного курса. Вариантов просмотра как обычно два. Можно смотреть «втрубе»:

.
А можно качать отсюда (формат avi, 45 мегабайт).

Предложения и замечания по-прежнему приветствуются.

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