Помогите с написанием торгового робота
- 10 ноября 2014, 17:52
- |
- iSly
Добрый день!
Начну сразу с сути. Начал изучать программирование. Цель — написание торговых роботов. Опыта в программировании никакого. Остановился на Pythonе. Читаю, изучаю, пытаюсь что то писать. Что-то даже автоматизировал для своей основной работы — простейшие вещи ) — благо таких примеров в сети полно. Но как все это дело приладить к трейдингу вообще не понимаю. Примеров посмотреть негде. Как подключиться к квику, получить котировки, накапливать историю, сохранять ее, отправлять заявки и т.д. В связи с этим вопрос: может кто-либо поможет с этим разобраться или даст простого робота (без логики принятия решений) для самостоятельного изучения. Естественно все это на возмездной основе. Очень надеюсь что здесь есть люди готовые помочь. Для дальнейшего общения пишите, пожалуйста, в личку.
P.S. Если не сложно поставьте плюс что бы вывести на главную, а то хорошие люди могут и не увидеть.
Забудь про питон и иди сюда kbrobot.ru/forum/
Куча примеров
Пример: www.itinvest.ru/editorfiles/File/smartcom/TestConnect_source.zip
Начать нужно с торговой идеи, потом уже ее реализовывать.
начните с Quik-DDE-Excel,
разберетесь сначала с экспортом DDE, простейшими алгоритмами, обработкой, постановкой заявок, потом создадите свой DDE сервер на том же C#, и свое приложение и т.д. Сразу объять всё, может быть затруднительно.
Впрочем это верно (связка и особенности) про любое непрямое подключение.
Помимо него можно также посмотреть TradeScript:
habrahabr.ru/company/itinvest/blog/214601/
habrahabr.ru/company/itinvest/blog/237689/
sib-algo.ru/must-read/язык-программирования-алготрейдера.html
forum.qlua.org
ilovelua.narod.ru/about_lua.html
ilovelua.wordpress.com/
Там все есть.
Тут еще чел под ником orekton выкладывал уроки по Qlua, поищи его…
robostroy.ru/community/article.aspx?id=773
Пиши под метатрейдер лучше 5, его брокеры выдают некоторые к бирже.
Да там будут левые данные часто, не будет ленты сделок и опционов.
НО
Зато 90% сделано за тебя уже + готовые примеры в справке+ встроенный тестер + глюки легко ловить, зарабатывать за счёт умения кодить ты не сможешь по началу точно, потом как освоишся перейдёшь на что то нормальное, а быстро начать изучение лучше там.
Под что начинать писать не надо точно это под Квик. Это сложно и долго, и всё твоё время уйдёт на решение программистских проблем а не сути. Там можно написать либо чтото очень простое, либо надо потратить крайне много времени вникуда чтобы вышло что то нормальное.
Остальные решения почти все приемлемы.
Программировать лучше на с++ или с# они очень похожи, но есть небольшие отличия, питон и прочее можешь использовать только если отыщешь хороший переходник к платформе, что трудно и нет смысла по началу.
И ещё момент.
Если у тебя нет чёткой системы, лучше не начинай кодить, а посиди сперва и сделай её, программирование с 0 это сотни часов вникуда пока разберёшься.
P.S. На Python-е, если я правильно помню можно торговать америку через Quantopian, если есть договор к примеру с IB. Там же и стратегии тестировать можно.
— блок получения котировок
— блок принятия решения
— блок определения параметров сделки в соответствии с риск менеджментом
— блок управления ордерами (отправка и исполнение)
Конечно все интересно и хочется со всем разобраться, однако нужно сфокусироваться на самых важных вещах, а именно на блоке принятия решений, иначе есть риск, что вы потратите время на то, что бы разобраться с особенностями терминала, но это никак не поможет вашей торговле. Более того, блок принятия решений как правило делают независимым от терминала, что бы можно было перенести на другого брокера легко. Напишите как с Вами связаться — я могу помочь с python и разработкой стратегии — бесплатно, я Вам дам скрипты для теста стратегий — это существенно сэкономит Вам время. Вообще старайтесь избегать работы, которая «около» Вашей основной задачи, а в данном случае Ваша задача — именно стратегия, а не отправка ордеров. Удачи и помните, сложные проценты и положительное мат. ожидание — самые важные вещи.
Программирование это сложное ремесло. Настолько сложное что хорошо программируя у вас не останется сил на разработку каких либо стратегий и пр. А программируя плохо вы обречены на постоянный бег по граблям. Поверьте, программистам не зря хорошие деньги платят за нажимание кнопок )
Кубики вам в руки!
Времени на исправление всяких ляпов будет потрачено больше чем на торговлю.
Просто чтоб стартануть могут уйти сотни часов.
ubertrader.org/tag/python/
а здесь видео про python на английском
www.youtube.com/user/sentdex/playlists
сам думал про использование Python, возникает вопрос с инфраструктурой, где брать коннекторы к бирже...
сам скорее всего буду использовать его для математических расчетов.
На другом портале нашел:
www.bot4sale.ru/blog-menu/ami/amibroker-list/142-amisharp.html
библиотека для работы с терминалом Quik,
У автора эта библиотека в связке с AmiBroker работает.
В AmiBroker свой встроенный векторный язык AFL + можно использовать синтаксис похожий на C#
Наверное библиотеку эту AmiSharp можно будет и на Python использовать.
здесь исходники C# под SmartCom: bitbucket.org/SazanProject
на библиотеку эту наткнулся здесь на этом портале,
автор smart-lab.ru/my/SergeyEgorov/blog/all/
есть виде по использованию библиотеки:
www.youtube.com/user/codetraidingsystem/playlists