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

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

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

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


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

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

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

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


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

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

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


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

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

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

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

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

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


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

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

Блог им. SergeyEgorov |Улучшаем демонстрационного робота

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

Сегодня мы потратили немного времени, и немного усилили интеллект нашего робота. Теперь, прежде чем открыть позицию он проверяет. Если предыдущая позиция закрылась по стопу, а не по тейк профиту, то новую позицию он пытается открыть в противоположном направлении. Девятнадцатиминутный видеоролик можно посмотреть на ётьюбе:



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

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

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