Перейти к содержимому


Фото
- - - - -

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


  • Please log in to reply
19 ответов в этой теме

#1 SergeyEgorov

SergeyEgorov

    Новичок

  • Вольные разработчики
  • Pip
  • 38 сообщений

Отправлено 13 November 2013 - 09:26 AM

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

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


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

  • Первое видео с кратким описанием библиотеки можно смотреть на ётьюб или скачать файлом отсюда. (Формат avi, размер 27.4 Мб)
  • Второе видео с примером реализации модульного теста для кода робота, разрабатываемого с использованием библиотеки можно смотреть на ётьюб или можно скачать файлом отсюда. (Формат avi, размер 135 Мб)
  • В третьем видео на ётьюб рассмотрена установка SmartCom и предоставление прав на перезапуск службы SmartCom2 роботу. Видео так же можно скачать файлом отсюда. (Формат avi, размер 44.8 Мб)
  • И результирующее видео на ётьюб демонстрирует полный порядок сборки робота. Видео так же можно скачать файлом отсюда. (Формат avi, размер 146 Мб)

В ближайших планах записать несколько видео (возможно это будет еженедельно), последовательно демонстрирующих процесс доработки робота.

  • Исходный код библиотеки можно загрузить отсюда.
  • Исходный код адаптера для торговли через Ай Ти Инвест можно загрузить отсюда.
  • Исходный код робота, использованный при записи видео можно загрузить отсюда.
  • Весь исходный код в оптимальном объеме покрыт модульными тестами (сама библиотека около 700 тестов, код адаптера чуть больше 100 тестов). Часть тестов скорее являются интеграционными, потому что проверяют работу нескольких компонентов.

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


  • PMaster, Illireffifoni, Assuchnouch and 6 others like this

#2 SergeyEgorov

SergeyEgorov

    Новичок

  • Вольные разработчики
  • Pip
  • 38 сообщений

Отправлено 20 November 2013 - 07:19 AM

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


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

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


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



#3 SergeyEgorov

SergeyEgorov

    Новичок

  • Вольные разработчики
  • Pip
  • 38 сообщений

Отправлено 20 November 2013 - 02:52 PM

Еще пять с небольшим минут видео

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


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


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



#4 SergeyEgorov

SergeyEgorov

    Новичок

  • Вольные разработчики
  • Pip
  • 38 сообщений

Отправлено 21 November 2013 - 10:51 AM

Еще одно видео



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


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



#5 Grin

Grin

    Новичок

  • Трейдеры
  • Pip
  • 21 сообщений

Отправлено 21 November 2013 - 12:22 PM

Еще одно <a data-cke-saved-href="a href=" href="a href=" http:="" youtu.be="" l4dd7ixfj7u"="">видео в формате "для тех, у кого мало времени".

Последнее видео не грузится

#6 SergeyEgorov

SergeyEgorov

    Новичок

  • Вольные разработчики
  • Pip
  • 38 сообщений

Отправлено 21 November 2013 - 01:38 PM



Последнее видео не грузится





Извиняюсь, ссылка побилась при копировании-вставке. Поправил ссылку в записи, ну и на всякий случай вставлю

http://youtu.be/L4Dd7IxfJ7U

#7 SergeyEgorov

SergeyEgorov

    Новичок

  • Вольные разработчики
  • Pip
  • 38 сообщений

Отправлено 22 November 2013 - 03:55 PM

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


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


Короткое, 12 минут видео

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


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



#8 SergeyEgorov

SergeyEgorov

    Новичок

  • Вольные разработчики
  • Pip
  • 38 сообщений

Отправлено 28 November 2013 - 03:37 PM

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


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




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



#9 SergeyEgorov

SergeyEgorov

    Новичок

  • Вольные разработчики
  • Pip
  • 38 сообщений

Отправлено 29 November 2013 - 01:01 PM


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


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


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




#10 SergeyEgorov

SergeyEgorov

    Новичок

  • Вольные разработчики
  • Pip
  • 38 сообщений

Отправлено 18 December 2013 - 01:38 PM


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


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


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




#11 SergeyEgorov

SergeyEgorov

    Новичок

  • Вольные разработчики
  • Pip
  • 38 сообщений

Отправлено 18 December 2013 - 01:40 PM


Тема нового видео предложена трейдерами, изучающими возможности библиотеки. В общем фильма отвечает на вопрос "Как за десять минут написать сборщика статистики очереди заявок (стакана) для финансового инструмента?".


Если вам для решения вашей проблемы не требуются исторические данные о сделках и заявках за несколько прошедших лет, а достаточно статистики за неделю, или две, то вы легко можете собрать на основе нашего скальпирующего робота инструмент, который будет "слушать" очереди заявок и записывать их результаты в текстовые файлы с разделителями. А уже эти текстовые файлы вы легко сможете распотрошить с помощью популярных средств работы с табличными данными, такими как Microsoft Excel или OpenOffice Calc или LibreOffice Calc.


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



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



#12 SergeyEgorov

SergeyEgorov

    Новичок

  • Вольные разработчики
  • Pip
  • 38 сообщений

Отправлено 18 December 2013 - 01:42 PM


Класс, представляющий основную структуру данных торгующего робота, называется TradingDataContext (контекст торговых данных). Внутри этого контекста содержится вся необходимая для торговли информация, описания и настройки торговых алгоритмов, сигналы, заявки, сделки. Следующее видео представляет собой двадцатиминутную шпаргалку, демонстрирующую способы получения доступа к коллекциям объектов, помещенных в контексте торговых данных, в зависимости от того, какие манипуляции вы собираетесь производить с этими данными.




#13 SergeyEgorov

SergeyEgorov

    Новичок

  • Вольные разработчики
  • Pip
  • 38 сообщений

Отправлено 20 December 2013 - 05:26 PM

Поскольку новые тестовые счета Ай Ти Инвест регистрирует на торговом контуре Matrix, то мы убираем адаптер для SmartCOM 2 на дальнюю полку и начинаем переезд на SmartCOM версии 3. Новое видео показывает что нужно изменить в нашем демонстрационном роботе ru.sazan.scalper, чтобы он начал работать на новом тестовом торговом контуре. Не забудьте предварительно установить себе саму третью версию компонента SmartCOM.




#14 Dentalbymn

Dentalbymn

    Новичок

  • Трейдеры
  • Pip
  • 2 сообщений

Отправлено 31 January 2017 - 02:38 PM

Кто нибудь делал себе имплантацию зубов? Знаешь Прокл, я вот что прочитал. Стоимость "под ключ". Обратите внимание - имплантацией зубов называется именно установка штифта. Одной из прогрессивных новейших методик воссоздания потерянного зуба является имплантация. Вот на что надо ответить: Какой тип имплантации выбрать - двухэтапный или одномоментный?. Думаю более подробно можно почитать это: базальная имплантация зубов цена москва,
реставрация зубов фото,
стоматология протезирование,
разрушение зубов.
А вот какие я еще нашел интересные статьи на эту тему:
Виды и методики имплантации зубов
Имплантация зубов – новые методики протезирования
Стоит ли делать имплантацию зубов?
.
Лечение кисты зуба без удаления
Ортодонтия
Имплантация зубов в клинике «Дентал Гуру»
.

#15 Dentalbymn

Dentalbymn

    Новичок

  • Трейдеры
  • Pip
  • 2 сообщений

Отправлено 02 February 2017 - 08:25 PM

Кто нибудь делал себе имплантацию зубов? Знаешь Кирилл, я вот что прочитал. Рейтинг имплантов: выбираем самые надежные конструкции. 2 Имплантация зубов в Москве: рейтинг клиник. . Причин на самом деле очень много, чтобы поставить импланты!. У меня возник вопрос: Какой тип имплантации выбрать - двухэтапный или одномоментный?. Думаю более подробно можно почитать это: имплантация зубов под ключ цены.
Реставрация зубов - это метод художественного воплощения и искусного техничного исполнения врачом работ при восстановлении зубов, подробнее почитайте это - реставрация зубов отзывы форум.

Абдулин Исидор:
Однако за такое протезирование зубов цена является более высокой. Сегодня на протезирование зубов цены в Москве существенно разнятся, подробно протезирование можно прочитать это - протезирование зубов, зубные протезы - стоматология,
отбеливание зубов air flow.
А вот какие я еще нашел интересные статьи на эту тему:
Имплантация зубов – лучший выбор для идеальной улыбки
Особенности протезирования зубов
Реставрация зубов: альтернатива наилучшего решения


Гладилов Гедеон:
А эти статьи про стоматологию думаю полезно прочитать каждому:
Лечение зубов во время беременности
Съемные протезы с опорой на имплантаты
Одномоментная имплантация зубов


#16 ValentinKOvirjEt

ValentinKOvirjEt

    Новичок

  • Трейдеры
  • Pip
  • 6 сообщений

Отправлено 20 February 2017 - 11:27 PM

Приветствую! Посмотреть тут eb.by/Hpo или здесь goo.gl/tke62F
Описание фильма:
Двое храбрых воинов преодолели трудный и долгий путь, чтобы добраться до великой стены, которая отделяет Китай от всех возможных угроз извне. Уилльям Гарин и Перо Товар называют себя торговцами, и они через многое прошли, чтобы добыть уникальное и очень мощное оружие, которое теперь и хотят продать. На великой стене герои знакомятся с огромным войском, которое уже на протяжении долгих лет охраняет мир от опасности. Стена отделяет людей от кошмарных существ, которые постоянно пытаются через неё прорваться, а китайские солдаты не позволяют им это сделать. Это противостояние длится уже очень долго, но монстры готовятся к финальному вторжению, остановить которое будет практически невозможно.



#17 Distriks2017bymn

Distriks2017bymn

    Новичок

  • Трейдеры
  • Pip
  • 2 сообщений

Отправлено 21 March 2017 - 05:36 PM

Добрый день. А по прошествии года что-то можете добавить: свои впечатления, удобство (дискомфорт), качество имплантов?

#18 Distriks2017bymn

Distriks2017bymn

    Новичок

  • Трейдеры
  • Pip
  • 2 сообщений

Отправлено 21 March 2017 - 08:32 PM

Правильно, что добавили фото, хоть видно как это выглядит - ничего страшного, я успокоилась. После удаления у меня такие же швы были)

#19 AgrwiMot

AgrwiMot

    Новичок

  • Трейдеры
  • Pip
  • 1 сообщений

Отправлено 04 April 2017 - 07:06 PM

Полностью поддерживаю!

#20 lvoftorp

lvoftorp

    Новичок

  • Трейдеры
  • Pip
  • 3 сообщений

Отправлено 20 June 2017 - 05:29 PM

в этой программе можно только мебельс интерьерами создавать или она всетаки имеет более широкие возможности? Интересует заработок в Интернете http://interesu.tk




Rambler's Top100 Яндекс.Метрика