Блог им. John_Lirkevich

Вопрос к тем, кто создавал торгового робота

Всех приветствую.

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

1. Насколько трудоемко записать торговую в систему в алгоритм? И сколько на это уйдет времени?

2. Сколько стоит услуга программиста по написанию торгового робота?

3. Как часто робота придется «подкручивать»? 


Просьба поделиться опытом, кто уже делал. Спасибо.
★5
68 комментариев
роботов пишут только на продажу!
avatar
Pringles, почему?
avatar
John_Lirkevich, потому что, если бы они реально торговали в прибыль, то трейдеры вымерли за ненадобностью
avatar
1. Если с программированием не знакомы то наверное долго, но можно сделать в конструкторе типа TSLab это будет побыстрее.
2. По разному и сильно зависит от сложности стратегии.
3. Тоже зависит от стратегии, но если вы только входите в эту тему и нет устойчивого алгоритма то очень часто.
Советую сначала понять будет ли работать стратегия, для этого надо от тестировать в конструкторах типа TSLab или других, а потом уже делать робота на заказ, либо остаться и торговать в TSLab.
Андрей Иванов, с конструктором на TSLab не знаком, но посмотрю. спасибо
avatar
Зависит от самой логики робота.
Но еще сложнее может оказаться заставить робота корректно отрабатывать все возможные ситуации на бирже и у брокера.
avatar
Vkt, спасибо
avatar
1. Саму стратегию, как правило, закодить несложно, много времени уходит на написание подключения к терминалу, обработка исключений, хранение данных и прочее.

2. Как договоритесь. Можно и за еду заставить работать) Если есть готовый робот, то переделка может занять от 8 человеко-часов. Если писать с нуля, то можно и полгода делать с учетом отладки.

3. Не робота нужно подкручивать, а торговую систему. Раз в полгода-год-два. 
avatar
T-800, ясно, спасибо
avatar
Написать робота не трудно. Программист стоит 50к, но это тупиковый путь. Луше освойте сами это ремесло. Подкручивается робот или при изменении правил системы или при изменении ваших требований к функционалу робота. Насколько часто это будет зависит только от вас.
Иван Казаковцев, 50к — это какой такой программист?))
avatar
Gypsy, 

Gypsy, это стандартный ценник. Слышал, что Михаил bot4sale так примерно берет.
Иван Казаковцев, берет за что? За час, за день, месяц?
avatar
Gypsy, наверное который кроме роботов ничего не может, и то, что делается за неделю размазываете на месяц-два
Иван Казаковцев, спасибо
avatar
Кодить робота только самому
avatar
Kir, спасибо
avatar
Задача техническая, следовательно нужно разделить её на 'узлы':
узел 1 — работа с заявками (выставление, снятие, групповое снятие);
узел 2 — индикаторы стратегии (получение данных, обработка и вывод результатов);
узел 3 — контроль ГО и счёта;
узел 4 — стратегия (принимает решения).
avatar
bozon, узел 5 — робот присылает сообщение — «барин, очередной миллион тебе заработал»
Маркиз Лафайет, это всё укладывается в узел 3.
avatar
Маркиз Лафайет, у меня так «ваша казна пополнена, милорд.»
avatar
bozon, спасибо
avatar
И Алгоритм и Робота должен писать сам трейдер… иначе — один гимор…
starichello, конечно, слишком часто придется отрывать программиста: доделай то да сё. Или уже нанять на 3-4 месяца на постоянку, так, чтобы он разрабатывал и сразу же тестировал, и исправлял ошибки, но это обойдется дорого.
И еще момент важный: вашей рабочей торговой стратегией будете пользоваться не только вы, а еще и  программист.
avatar
vovA4546, спасибо
avatar
John_Lirkevich, не будет в большинстве случаев. Если он не пишет за еду. Потому что начинающий и по сути вы — только со знаниями программирования. 
А если и использует — то обычно вы не становитесь конкурентами в стакане. Мысли про кражу и ценность алгоритмов преувеличены. Что бы убить стратегию — ее должен забрать фонд или продавец алгоритмов. Если программист продает роботов — не обращайтесь к нему. Весь принцип.
Создатель TsLab сказал в интервью — " роботы без трейдеров не зарабатывают". Смысл этой фразы понимают очень мало людей.  
avatar
LogikoMen, хороший принцип, спасибо
avatar
vovA4546, Программист ничего не протестирует, т.к. 1. Он будет тестировать в демо, а это %ерня (куда не шло, если программист ещё и трейдер).         2. Понять работу робота может тот, кто писал алгоритм и то в реале.
1. Основная трудоёмкость это формализация торговой гипотезы. Например, сигнал на покупку это не просто пересечение линий или значение индикатора, а ряд специфических состояний всего рынка.

2. Хороший прогер может попросить 3000 рублей за час работы.

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

Робота обязательно нужно тестить на живом рынке, бэктесты не учитывают множество нюансов.
avatar
Diamond, подкручивать каждый день… это может быть проблематично, т.к. программист по умолчанию будет со стороны. Спасибо за ответ
avatar
Если ты хочешь получить что-то более или менее качественное, то исходи из ставки программиста примерно 150-200 тыс. руб./мес. Сроки зависят от сложности задания. Подкручивать придется постоянно.
avatar
Gypsy, а цены-то кусаются. спасибо за ответ
avatar
написать не сложно. Воспользуйтесь бесплатно ТСЛАБ, там кубиками можно все сделать, предельно просто. 
avatar
ICEDONE, спасибо, посмотрю TSLab
avatar
на LUA писал робота, работающего в спреде, ушло около года на все нюансы, объем кода всего 1000 строк, поначалу подкручивать приходилось почти каждый день, очень много работы со всякими исключениями, в том числе разрыв связи/зависание сервера, а еще у разных брокеров могут разные ошибки в одинаковых ситуациях приходить, 95% времени ушло на отладку
avatar
Антон, да отладка нюансов самое главное, в этом и изюм! врядли роботы, которых по 10 тыс продают этот изюм едят)

поясните по «зависание сервера» — как вы решаете этот вопрос на LUA? вы реализовали программно реконнект к другому серверу?
avatar
Виталий, реконнект средствами quik, в LUA отработка при следующем коннекте (снять оставшиеся заявки, по возможности отработать исполнившиеся, дождаться когда подгрузятся лимиты и позиции, прежде че подсчитывать какие позиции открыть/закрыть) эти события довольно редко происходят, поэтому отладка очень затруднена, и не всегда ясно какие данные от терминала прийдут раньше, какие позже
avatar
Антон, да я тоже реконнект чисто отслеживаю и далее работаю.
у меня сделана задержка 3 мин (практика показала достаточность такой уставки) при реконнекте на стоп любых действий, т.к. при реконнекте данные грузятся долго и по позам не сразу реальное положение приходит
avatar
Виталий, про изюм согласен ) спасибо
avatar
John_Lirkevich, проблемы с отладкой возникают по причинам, что нельзя протестировать алгоритм перед реальной торговлей. Отсутствие соединения — не вижу проблемы. Каждую ночь нет подключения к бирже — ваш алгоритм от этого как то страдает? А разницы нет. Это быстрые роботы, скальперские стратегии могут иметь алгоритмы перестройки решения на ходу. А это очень малая доля из всех алгоритмов. 95% на отладку — это либо морока из за надежности среды исполнения. Сами виноваты. Или из за не понимания. Что ваш алгоритм не программируется. А разрабатывается. Потому что интуитивная торговля — это то. Что в большинстве есть у трейдера.  Нет четких правил — нет системы. Но в голове она у него есть. И требует времени на составление
avatar
Антон, подкручивать каждый день, этого конечно я не знал. предполагал 2-3 раза в неделю. 
95 % времени на отладку?… интересно, буду думать.
спасибо
avatar
0. В ручную замучаетесь торговать, вопрос времени.
1. Куча бесплатных роботов в нете.
2. Сами то знаете что хотите? ТС сформулировать можете?
3. Заказывать — стоит копейки.
4. Тупых программеров — полно.
5. Нормального нужно искать, и не факт, что будет дорого.
Василий Федорович, чего хочу знаю)
пункт 4 особо насторожил.
спасибо
avatar
John_Lirkevich,
1. лучше взять действующий бесплатный советник с открытым кодом и переделывать под себя.
2. программеры — самовлюбленные личности, я с пятью работал, замучился, считают всех заказчиков — идиотами.
Василий Федорович, 
1. Спасибо за совет
2.  :))))
avatar
Василий Федорович, написали в конечном счете робота или нет? И кто?
avatar
LogikoMen,
1. Конечно написали, и не одного, еще бы не написали, я им мозг съел бы.
2. В отличии от многих заказчиков — я платежеспособен и на 200% знаю что хочу.
3. На этом ресурсе их нет.

Сам алгоритм, чаще всего, — это 300-500 строк кода. В среднем.

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

 

Писать не особо долго. Сложнее всего понять что хочет заказчик. Точнее заставить его задуматься о всех ситуациях. А платить за время, потраченное на понимание, у нас очень не любят.

avatar
nicknh, ну да кроме алгоритма кучу моментов надо предусмотреть, поэтому строк много получается)
у меня с табуляцией и пустыми строками 10 тыс где-то, но там еще на несколько экземпляров стратегий заложено (сам алгоритм функцией идет, но для стратегии нужно подготовить исходные данные, которые скормить шаблону, получить возврат и его обработать)
avatar
nicknh, спасибо
avatar
 еще сложность сильно зависит, будет ли робот инициировать сделки сам или же будет котировать лимитную заявку
avatar
Антон, ясно, спасибо
avatar
Вопросы которые вы задаете, говорят о том что вы ещё очень далеки от прибыльного трейдинга. Когда у вас появится кокретная идея, рождающая подозрение что она прибыльная, тогда вы сами сразу найдёте ответы на свои вопросы. Ответы скорее всего вас разочаруют
avatar
Serj90, что вы имеете в виду «Ответы скорее всего вас разочаруют»? 
avatar
John_Lirkevich, то, что ответы на эти вопросы для вас перестанут иметь смысл. И как следствие указанные выше 3 вопроса просто интересовать не будут, ну разве что кроме о покупке на стороне. Вы начнёте прикидывать платформы реализации, тестирования, механику интеграции с торговой системой, изучать математику заново. И когда вы будете получать ответы на вот такие вопросы, то сразу поймете ответы на 3 своих нынешних вопроса. Главное когда вы перейдёте к более специфичным аспектам это будет означать что либо у вас реально есть идея в которой водятся деньги, либо ваши мозги переформатировались, и теперь вы готовы к множественным экспериментам. И то и то — это качественно новый уровень. Как на него прыгнуть? Вам здесь уже много правильных вещей написали, добавить особо нечего.
avatar
Смотря на каком языке программирования писать будете. Я свою на 1С+Python систему писал примерно с год. Но до сих пор что то доделываю и тестю.
Константин Чащегоров, понятно, спасибо
avatar
Робот экономит тебе время. Он может не только торговать, а объяснить тебе на сделках — будет он зарабатывать или  нет. И сколько. И почему. И в каких случаях. И что ты не увидел. Разрушит иллюзии. 
Подкручивать в роботе ничего не нужно. Это не пепелац. Речь идет о разработке и тестировании. Оптимизацию могут называть подкруткой. Нет необходимости в частой оптимизации. Она тоже может проводиться алгоритмически. При условии написанного его в правильной среде. TsLab, Meta trader Если quik — то пишут два робота, обычно. 
Для quik  и характерно написание огромного количество кода, ориентированного для обеспечения надежности работы робота. Но и это не всегда помогает.
Есть еще много вариантов исполнения. Но они для истинных любителей много поработать. Чаще всего ввиду наличия знаний в этой области. Или желании завязать клиента на себе. Точно идти потом не к кому будет.
avatar
LogikoMen, спасибо, надо обдумать
avatar
Любых исполнителей можно разделить на категории. Те, что понимают много из специфики биржи. Хороших кодеров. И любителей подзаработать. Первая категория избавит тебя от многих вложений в будущем. Если что, обращайся.
Цена робота обычно начинается от 20 000 для quik. В отношении указанных мною — есть конкуренция. И многое упирается в ТЗ.
avatar
Самая частая причина отказа от заказа у хороших кодеров — отсутствие ТЗ. Потому что его никто не умеет составлять. Обычно требуется 2 часа, что  выудить. Как видит алгоритм человек. Никто не платит за это. Отсюда и высокая стоимость алгоритмов. Не ясно, месяц провозишься. Или один день.
avatar
Лишь бы идея оказалась рабочей. Можно собрать робота довольно быстро и недорого. А на тестах окажется, что идея на выброс…Деньги на программиста потратите впустую. Если серьезно хотите заниматься алготорговлей — осваивайте это ремесло самостоятельно. Хороший вариант — TSLab. 
Кирилл Глухов, спасибо
avatar
«Хорошего робота» подкручивать не нужно) Ну или очень редко раз в несколько лет. Все остальное — подгонка параметров под рынок. Такое торговать не рекомендую. 
В первую очередь, в голове должны быть торговые алгоритмы, работающие на разных принципах. Штук 10-15.

Во вторую очередь, алгоритмы нужно как следует протестировать на исторических данных. Чтобы не тратить время и деньги на влажные мечты о скором богатстве, рекомендую проводить тесты методом WFT. Он быстро вернет вас в реальность — к воротам заводской проходной.

В третью очередь, можно заказать робота для алгоритма, который прошел жесткое и честное тестирование. Написать робота НЕ СЛОЖНО. Это обычное дело для программиста. Много ума не нужно. Хотя они (программисты) считают себя Богами.

Вероятность того, что вы дойдете до третьего этапа стремится к нулю.
avatar
понятие робота у всех разное. в моем слуачае — это любая степень свободы и более 10 тыс. строк кода, зачем казалось бы (это все модули). про 50 тыс. за программиста — это за кого? еще за хлеб и воду предложите. 6 лет почти ежедневного труда пока что и все продолжается. бесконечность. и да, простое не будет устраивать. если серьезно — зависит от задачи. это как в любом деле. есть велосипед, есть мерседес…
avatar

теги блога John_Lirkevich

....все тэги



UPDONW
Новый дизайн