Блог им. robot-scalper

10 этапов разработки торгового робота под QUIK и TSLab от Robot Scalper

Торговый робот для QUIK на LUA

К нам поступил запрос на создание многопараметрического робота, с кучей условий торговой логики и в конце с припиской: «За работу я готов оплатить 800 рублей». Как у заказчика получилась такая сумма осталось не ясно. Возможно, всё тривиально, и это просто все его доступные средства, которые остались от торговли по интуиции. А возможно человек просто не понимает какую работу нужно проделать и из чего образуется цена на торговых роботов. Но это не страшно. Мы как раз сейчас и постараемся разобраться в этом.

Итак, чтобы разработать робота нужно выполнить определенные этапы. Рассмотрим их.
  1. Нужно определиться с торговой стратегией и формализовать её (точки входа, стоп-лоссы, тейк-профиты, фильтры и т.п.);
  2. Желательно создать прототип данного робота;
  3. Проверить работоспособность стратегии и прототипа на исторических данных;
  4. Желательно провести оптимизацию стратегии и найти оптимальные значения параметров;
  5. Нужно провести анализ сделок и добавить общие фильтры на ситуации в которых робот часто показывает убытки. Главное, нельзя примерять переоптимизацию! Иначе в реальной торговли результаты будут сильно отличаться! После этого возвращаемся к пункту 4. И работаем до тех пор пока стратегия не будет универсальной или пока мы её не забракуем как непригодную. Так тоже бывает, и не редко.
  6. Теперь можно приступать к непосредственной разработке робота, например, на LUA под QUIK;
  7. После разработки нужно протестировать робота и убедиться в четкой работе скрипта. Если обнаружатся неточности в работе или явные баги, то их нужно исправить и заново запустить робота на тестирование;
  8. Для того чтобы пользователь мог легко управляться с роботом требуется сделать удобный интерфейс и подробное описание функционала, то есть создаем документацию;
  9. Плюс нужна подробная инструкция с картинками по установке и использованию робота для начинающих пользователей;
  10. И конечно же всё равно у заказчика будут появляться вопросы, на которые нам нужно отвечать. То есть, нужна техническая поддержка.
И это мы рассмотрели идеальный вариант, когда во время работы заказчик не вносит изменения в торговую стратегию.
Как Вы могли убедиться, для создания качественного торгового робота требуется довольно много времени и сил. Мы здесь даже не касаемся самого программирования, которое тоже является довольно сложным и долгим процессом.

По поводу технических инструментов мы можем порекомендовать следующие варианты:
  1. Для тестирования прототипа стратегии на исторических данных хорошо подойдет программа TSLab.
  2. Для реальной торговли на боевом счете желательно использовать роботов на LUA. В этих скриптах можно прописать всевозможные проверки торговой логики и проверки на корректность входных данных (биржа может передавать и нулевую цену актива и пустые значения, робот при этом не должен «падать» и выдавать баги). Плюс, робот на LUA подключается непосредственно в QUIK, имеет высокое быстродействие, не занимает много ресурсов компьютера и не требует ежемесячной абонентской платы.

Рентабельно ли разрабатывать таким образом роботов за 800 рублей или даже за 3-5 тыс.рублей? Конечно же нет.
Что за такие цены могут предложить на рынке? Только скачанный где-то непонятный скрипт с сомнительной документацией и конечно без качественной техподдержки. Бесплатный сыр мы все знаем где бывает. Да и скупой платит дважды.

Нужно ли платить разработчикам роботов или нет, каждый решает для себя сам. Можно и не платить, а взять и методично, по пунктам, всё сделать самостоятельно. Сколько уйдет на это времени? И какой будет конечный вариант? Зависит непосредственно от опыта, знаний и умений конкретного человека.
Чем больше у человека опыта в программировании, в трейдинге, в автоматизации бизнес-процессов, в тестировании, в умении оптимизировать стратегии, тем быстрее и качественнее будет результат. Если вы начинающий алготрейдер и у вас нет наставника с его опытом и наработками, то настраиваться сразу желательно на 6 месяцев работы и более.
Профессиональный алготрейдер может передать знания по созданию прототипов, тестированию на истории и оптимизации роботов за более короткий срок. И это будет скорее всего платная услуга.

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

По различным вопросам обращайтесь в личку или на почту:
mail@robot-scalper.ru

Очень много интересной и важной информации можно найти здесь:
https://www.instagram.com/robot_scalper/ 

Наш сайт: Robot-Scalper.ru

Желаем Вам успехов в трейдинге!
Берегите себя и свой депозит!
  • обсудить на форуме:
  • TSLab
★31
56 комментариев
Верно пишешь. Но тебе будут возражения от обывателей, всегда одни и те же. «А САМ ЧТО СВОИМ РОБОТОМ БАБЛО НЕ РУБИШЬ?!» И се ля ви отношения с заказчиком. Мы же в России живем, сознание чуть выше дремучего. Так что, зря время на местных не трать. Не стоит оно того.

Делать супер робота для себя — отличная идея.
Или для западных потребителей — тоже неплохо.
avatar
Astrolog, благодарю за информацию! Роботов я изначально итак для себя делаю. Но на хороший продукт есть и хороший спрос. Поэтому дополнительно и продаю их. Одно другому не мешает. Можно и торговать, и продавать. Это как с удочкой. Можно делать и продавать их, и можно рыбачить.
avatar
Robot-Scalper.ru, подскажите как готового робота под мт4, наименее затратно подключить к МосБирже?

Или программировать заново нужно?
avatar
Gold Schmuck GMBH, 
я не специалист по метатрейдеру, но вот что подсказать могу:
во первых, вам нужно найти брокера предоставляющего доступ на Мосбиржу через МТ4.
Во вторых, нужно выбрать лучший тариф с минимальными комиссиями.
Если робот у вас есть, то дальше он подключается без проблем.
Если же робота нет, то его нужно сделать/купить/скачать.

Большинство брокеров работающие с Мосбиржей предоставляют терминал QUIK. Это самый популярный терминал под Мосбиржу. Под него тоже можно создавать торговых роботов, на LUA. В терминале есть встроенные функции торговой логики QLUA. Они сильно облегчают процесс создания робота.
avatar
Robot-Scalper.ru, спсб

может кто нибудь подскажет, кто дает доступ к мосбирже через МТ4 (5)?
avatar
Gold Schmuck GMBH, Открывашка работает, если не ошибаюсь — Брокер Открытие. И у Финама что-то было. Посмотрите их.
avatar
Robot-Scalper.ru, у меня робот 3-х мерный, боюсь в QLUA таких встроенных функций нет.


avatar
Gold Schmuck GMBH, не, у нас всё проще. В двухмерной пространстве стрижем! )) Цена вверх-вниз, вверх-вниз. В Квике цена в глубь не ходит )) Нет здесь 3D.
avatar
Robot-Scalper.ru, ФИНАМ МТ 5
avatar
Возьмите Женька Кробота к себе на работу.
А то он бедняга скитается по городам то в Саратове то в Сочи.
Сам постеснялся написать вам, меня попросил.
Возможно устроится ему?
avatar
Байкал, ))) Повеселили! У него, вроде, всё хорошо. Видосики выкладывает в инсте. Сомневаюсь, что он захочет работать «на дядю».
avatar
Байкал, не возьмут они какбыробота. Я слышал у него в скриптах ссылки на диск Д прописаны, а если диска Д нет — конец всему.
avatar
Евгений Петров, )))
avatar
Евгений Петров, правильно! Не порядок!
Мы делаем ссылки только на диск С:! Никаких D:!
Ведь диск С: есть у каждого юзера!


А вообще, с относительными путями в LUA QUIK не всё так просто. Если робот запускается пользователем то робот спокойно подхватывает файлы из текущей директории. А если терминал перезагрузить, то текущей директорией становится корневая директория QUIK, а не та локальная из которой запускался робот. Поэтому нужно использовать функцию getScriptPath().
Например, 
package.cpath = getScriptPath()… "\\robot.luac";

Тогда роботы будут сами нормально запускать и после перезагрузки терминала.
И если мы используем dll, то в неё тоже нужно передавать значение этой функции, чтобы из dll корректно обращаться к локальным файлам (логи, настройки и т.д.)
Может быть кому-то эта информация будет полезна.
avatar
Я тоже делаю робота, только не торгового — астрологического.
Уже почти готово. Хотя тестировать еще… Без переоптимизации.
astro777.com/present1.htm
avatar
Astrolog, и кто точнее прогнозирует цену, Плутон или Венера? ))
avatar
Robot-Scalper.ru, прогнозируют многочисленные фильтры с тонкими настройками, а не какая-то отдельно взятая планета.
avatar
Robot-Scalper.ru, и стрелочки моя прога рисует сама, но если настройки собьются, то надо перерисовать.



avatar
Astrolog, нужно делать так, чтобы настройки не сбивались. И чтобы робот не перерисовывал стрелки. Всё должно быть сделано один раз и четко. Это ведь торговля на реальные деньги! Это важно.
avatar
Что-то вы все в одну кучу смешали. И разработку стратегии и автоматизацию торговли. Робот — это инструмент автоматизации торговли. 
Если у вас есть рабочий «движок», то засунуть туда нужную заказчику стратегию может и стоит 800 рублей.
А вот разработать прибыльную стратегию и продать ее потом, вряд ли кто возьмется. Ведь такая корова нужна самому.
avatar
Karim, благодарю за комментарий. Да, так получается, что когда разрабатываешь робота и стратегию, что приходится учитывать всё сразу. Вот такая куча и получается ))
Движок есть. Но всё равно автоматизация новой стратегии это огромная работа! Всего сразу невозможно предусмотреть. Очень много новых задач возникает в процессе разработки, так как каждая стратегия специфическая и имеет отличия от других. И только на тестах можно выявить что именно мы в ТЗ не предусмотрели и что ещё нужно запрограммировать для того чтобы робот торговал стабильно, как часы!
avatar
А сколько стоит полностью работающую стратегию в тслаб перенести на луа? с кодом луа
avatar
Oleg Only Algo, это зависит от того насколько сложная стратегия. Дайте ссылку на её. Или, если она секретная, то напишите на почту mail@robot-scalper.ru Хотя бы в общих чертах. Можно без значений параметров. Я постараюсь дать оценку в сроке и в деньгах.
avatar
Robot-Scalper.ru, амкак я потом проверю, что вы закодировали то что я посил? Тестер то как там прогнать?
avatar
Oleg Only Algo, я запущу робота и будут сделки. Потом посмотрим по каким сигналам робот торговал и насколько торговля соответствует ТЗ. 
avatar
Robot-Scalper.ru, за 13 лет слелки по истории будут? чтобы проверить точность работы
avatar
Oleg Only Algo, тестировать стратегию можно в TSLab. Хоть за 15 лет. Главное, чтобы были котировки за этот срок. В терминале QUIK, к сожалению, нет модуля тестирования.
avatar

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

Так что заказывать робота можно только не передавая прибыльную логику. А потом, после получения робота, уже добавить логику самостоятельно, если навык есть, но если он есть, то и заказывать робота нет смысла. Замкнутый круг :)

avatar

Megasum, ох уж эта паранойя! )) 
А вы не задумывались над тем что разработчик тестируя и оптимизируя вашу стратегию будет вам подсказывать моменты для улучшения этой самой стратегии? У разработчика ведь практический опыт побольше, чем у того кто только фантазирует по поводу граалей ))
Так что, синергия всегда идет на пользу!
Делайте, и всё у вас получится!
Желаю успехов!

avatar
Megasum, так и было бы. Но, дело в том, что разбираться в чужом, даже если там всё чётко написано и видно зерно, под силу единицам. Остальным либо не хватает компетенции, либо лень, либо не верят. Поэтому нормальному программисту отдавать можно.
avatar
MS, так программист по ТЗ реализует, протестирует, увидит не просто зерно, а уже протестированный результат, протрёт глаза, протестирует ещё раз, убедиться, что это грааль, соберет вещички и перестанет выходить на связь :)
avatar
Megasum, это крайне редко осуществимо. По причинам выше. Да и Грааль может не показаться Граалем в конкретный момент с текущими параметрами.
avatar

Много лишних стадий, которые удорожают конечный продукт.

Не стоит забывать, что за всё придётся платить заказчику.

Тарас Громницкий, можно, конечно, и сляпать по-быстрому на коленке, но потом от этого же заказчика столько недовольства прилетит, что рад не будешь. Это не наш путь.
avatar

Robot-Scalper.ru, я не предлагаю ляпать.

Но и усложнять тоже не стоит.

Речь об оптимальном среднем пути.

По очевидным причинам.

С одной стороны русский клиент не сильно платёжеспособен.

А с другой время — деньги.

Особенно остро это ощущается у малого бизнеса.

Тарас Громницкий, всё верно. Время — деньги!

А русский не любит платить за плохой продукт. Также как и не русский ))
Если товар хороший и сервис на высоком уровне, то с покупателями нет проблем. Мы ведь даже платную рекламу не даем. И здесь редко публикуемся. Только сарафанное радио работает. И инстаграм немного.
https://www.instagram.com/robot_scalper/

avatar
Robot-Scalper.ru, чаще проблема не в чистоте кода или тонкости реализации, а в самой неэффективной стратегии.
Ну и так же у вас много лишнего. Реальнее разбить на несколько этапов и за каждый этап доплата: хотите прогон стратегии по истории — оплата. Хотите оптимизации стратегии — доплата. И т.д.
avatar
Eldar Shaymardanov, можно и так делать. Только заказчик должен понимать систему. Тогда нормально. А по сумме всё равно ведь столько же выйдет ;)
avatar
Robot-Scalper.ru, не выйдет. большинству надо только автоматизировать их алгоритм и не больше того.

avatar
Eldar Shaymardanov, так какая разница, сразу брать всю сумму за работу, или частями за этапы? В итоге всё равное получится одна и та же сумма. Я это имел ввиду. Но если заказчик решить пропустить некоторые этапы, тогда да, будет дешевле. Это логично. Здесь я с вами согласен.
avatar
А вы не задумывались над тем что разработчик тестируя и оптимизируя вашу стратегию будет вам подсказывать моменты для улучшения ...

А вот согласен с Megasum, «ведь практический опыт» позволит «доработать» хорошую идею, а заказчику отдать робота согласно ТЗ (обязательства исполнены). Тут такое. И «синергия» вообще не нужна.
avatar
Adam Kazimirovich, если вы имеете дело с шабашником, то возможно он и будет что-то там мудрить. А если человек занимается своим делом не только для того чтобы бабла срубить, а для того чтобы получить положительную обратную связь и рекомендации, то так поступать не будет. А наоборот расскажет, подскажет, дополнит и т.д. Такой подход гораздо выгоднее, чем жмотничество. Мир устроен так, что чем больше отдаешь, тем больше тебе возвращается! И богат тот человек кто это понял и живет по этому закону.
Делайте добро и будет вам счастье!
avatar
  1. Желательно провести оптимизацию стратегии и найти оптимальные значения параметров;
  2. Нужно провести анализ сделок и добавить общие фильтры на ситуации в которых робот часто показывает убытки. Главное, нельзя примерять переоптимизацию! Иначе в реальной торговли результаты будут сильно отличаться! После этого возвращаемся к пункту 4. И работаем до тех пор пока стратегия не будет универсальной или пока мы её не забракуем как непригодную. Так тоже бывает, и не редко.

Правильно ли я понял, что вы работаете только с той стратегией, которая является УНИВЕРСАЛЬНОЙ,  а остальные выбрасываете в корзину?

Дмитрий Овчинников, у каждой стратегии есть свои плюсы и минусы. Конечно, лучше всего использовать универсальную стратегию. Но иногда бывает, что некоторая стратегия, которая имеет сильный перекос в сторону трендового рынке на панических движениях гораздо лучше подходит под торговлю. Поэтому можно и её запустить. Всё приходит с опытом. Нужно торговать, анализировать результаты и делать выводы.
avatar
Вы (роботописатели) лучше бы не роботов писали, а все эти граль-стратегии за деньги опровергали. И сами бы заработали, и людям денег сберегли. И не надо про то, что с нашими роботами все в прибыль торгуют… бла бла бла… Все эти квик, луа подобные роботы — не серъезные поделки. Серъезные роботы пишутся годами, требуют серъезной архитектуры и четкого понимания на чем делаются деньги, а не тут черточка перечеркнула индикатор — бай!
avatar
maxgold, А чем серъезный робот от несеръезного отличается? Не так много зарабатывает?) Простота — залог успеха. А на то что многие не зарабатывают на них, скорее влияют другие факторы: отсутствия капитала, в связи с чем желание увеличить риски, эмоции, полугодовалые и более запилы, просадки. Все хотят включил и пили бабки каждый день, чему свидетельствует от части комментарии на комоне, когда люди подписываются на автоследование, а если прибыли нет или просадка вот уже более 2-3х дней искренне удивляются и негодуют, наезжая на автора системы))
avatar
StrJ, поддерживаю вас! Чем проще и понятнее стратегия, тем лучше. Но проработка алгоритма должна быть на высоком уровне. Чтобы робот четко торговал, без сбоев.
Просадки люди не любят. Даже бумажные, на этапе набора позиции. А как без этого торговать, если идет комплексный набор позиции? Никак. А как эффективно набрать позицию без усреднения? Никак. Иначе цена либо не дойдет до уровня заявки, либо пройдет значительно дальше.
Экстремумы ловить очень сложно. На самом деле, это и не нужно.
Люди начинают это понимать только когда сами торгуют. Нужен опыт.
avatar
maxgold, Простейший робот на пересчение машек (SL=TP) приносит прибыль. Зачем сложность?

Правда, не него накинуты 3-4 фильтра на вход (тоже простейших), и их поиск был долог. Но к программированию и «годами» это никак не относится.
avatar
Turbo Pascal, дело в том, что на флете данная стратегия будет стабильно сливать. И от фильтров будет очень сильно зависеть результат! Вся суть в них, а не в пересечении машек. Я рассуждаю с позиции своего опыта. Я протестировал несколько десятков машек, аллигаторов и подобных стратегий.
avatar

теги блога Robot-Scalper.ru

....все тэги



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