Сегодня пост о моём пути алготрейдера. На рынке я уже торгую порядка 9 лет. Начинал в далёком 2009 году, сразу после окончания университета. Но торговать начал не сразу, а изначально вложил свои кровные 50 тыс.р. в ПИФЫ (тогда данный инструмент только набирал обороты, а исторические доходности прошлых периодов рисовали в воображении золотые горы). Вложился я прямо перед кризисом, поэтому свои вложения потерял очень быстро. С этого момента я понял, что в финансовом мире лучше думать своей головой, а если и прислушиваться к чему-либо мнению, то обязательно пропускать полученную информацию через призму своего субъективного опыта. А лучшим решением было освоить трейдинг на собственной практике. Стоит сказать, что я не являюсь программистом по образованию (о чём жалел не раз), поэтому, как и большинство трейдеров изначально торговал руками просиживая бесценные часы своей жизни за монитором. Буду с Вами откровенен, но в целом трейдинг я считаю лудоманством
Коллеги, всем добрый день!
Сегодня пост о моём пути алготрейдера. На рынке я уже торгую порядка 9 лет. Начинал в далёком 2009 году, сразу после окончания университета. Но торговать начал не сразу, а изначально вложил свои кровные 50 тыс.р. в ПИФЫ (тогда данный инструмент только набирал обороты, а исторические доходности прошлых периодов рисовали в воображении золотые горы). Вложился я прямо перед кризисом, поэтому свои вложения потерял очень быстро. С этого момента я понял, что в финансовом мире лучше думать своей головой, а если и прислушиваться к чему-либо мнению, то обязательно пропускать полученную информацию через призму своего субъективного опыта. А лучшим решением было освоить трейдинг на собственной практике. Стоит сказать, что я не являюсь программистом по образованию (о чём жалел не раз), поэтому, как и большинство трейдеров изначально торговал руками просиживая бесценные часы своей жизни за монитором. Буду с Вами откровенен, но в целом трейдинг я считаю лудоманством, а ручной трейдинг-лудоманством во второй степени. Поэтому желание автоматизировать торговлю меня преследовало всегда. Появление специализированного ПО для автоматизации торговли типа TSLab было светом в конце туннеля. Несмотря на то, что в целом данная программа соответствовала моим потребностям, было ряд существенных факторов, которые меня привели к полному отказу от него.
1. Стабильность. Я пользовался программой вплоть до 2017 года, но так и не смог решить проблемы со стабильностью. На тот момент я торговал через Алор Брокер, заявки выставлялись напрямую на сервер брокера, минуя торговый терминал. Что к слову сказать было крайне удобно. Мешало же то, что программа периодически отваливалась, а больше всего бесило, что заявки могли просто не исполниться, либо задвоиться (и это несмотря на то, что я всегда лупил по рынку). Скорее всего сейчас этих проблем уже нет, но тот момент это было одним из факторов не в пользу данного решения.
2. Неудобство в доработке стратегий и в целом их написании. Для кого-то данный пункт прозвучит странно, ведь в ТСЛаб есть довольно удобный визуальный редактор, но удобный не значит быстрый и производительный. Когда количество блоков стратегии становится больше двух десятков, редактирование всего вашего творчества становится крайне муторным.А зачастую всё это ещё и требует дополнительной мощности от Вашего ПК (иначе будет готовы к зависаниям). Возможно, сейчас это проблема тоже как-то решена.
3. Стоимость. Стоимость программы реально кусается. И для трейдера нищеброда с региона, коим я являюсь — это реально проблема.
Несомненно, в ТСЛаб помимо озвученных минусов, есть довольно много плюсов, но у меня с ним как-то не срослось
Далее…
В 2017 году я обратил внимание на веб сервис Tradingview. Что мне сразу запало в душу, так это возможность написания своего индикатора или стратегии, используя возможности встроенного языка PineScript, который безумно похож на всем не без известный EasyLanguage из Metastock. Язык действительно крайне простой и будет понятен даже не программисту (на край интерактивная справка на русском языке всегда в помощь). Самое крутое, что всё это удобно, быстро и главное бесплатно. Но была одна проблема, tradingview не предоставлял возможности полноценной автоматизации торговли через имеющиеся торговые платформы Quik и т.п. Плюс не было даже никаких сторонних решений от независимых разработчиков, что связанно скорее всего с тем, что у TV нет открытого API для возможности интеграции своего сервиса напрямую с одним из российских брокеров.
Здесь меня окончательно клацнуло, и я решил для себя, что пора учить программирование. Мой выбор пал на Java, что было довольно нестандартным решением так как большинство биржевого финансового ПО в России пишется на С#.
Далее крайне полезная инфа для тех, кто тоже хочет освоить азы программирования.
Ни для кого ни секрет, что тема онлайн обучения сейчас очень активно муссируется, при этом обучение программированию стоит чуть ли не в арьергарде всего этого движения. Далее от меня совет. Всё эти курсы, несомненно, хороши, но только ценник на мой взгляд излишне завышен. Платить за основы ОПП от 50 тыс.р. -крайне неразумно. Могу Вас уверить если Вы хотите освоить азы программирования и начать писать самостоятельно свои программы, Вам будет вполне достаточно открытых источников в интернете.
Лично я программирование изучалпо сайту (дошёл до 22 уровня за 4 месяца). Реально крутой ресурс, в первую очередь за счёт большого количества практических задач. Он не абсолютно бесплатный, но стоимость в 10$ в месяц для меня на тот момент была вполне посильной ношей. Также могу посоветовать сайт. Фактически это складчина, где в свободном доступе, абсолютно бесплатно выкладываются различного рода онлайн курсы по веб программированию и не только.
Как я уже говорил от момента начала изучения программирования и до написания своей первой программы у меня ушло ровно 4 месяца. В день я тратил где -то по 6 часов (занимался практически каждый день после работы и на выходных). Так что программирование не является чем-то мега сложным и закрытым и в целом доступно абсолютно для любого человека и не требует какой-либо специальной подготовки. Самое главное — это желание и здоровье.
Друзья, ниже я выкладываю ссылку на свежую версию своего парсера для tradingview, который позволяет автоматизировать торговлю за счёт использования возможностей веб сервиса TV c отправкой транзакций непосредственно в Quik. Более детально можете ознакомиться в постах: 1, 2 , 3 и 4.
Программа предоставляется абсолютно бесплатно без ограничения функционала (инструкции и исходный код прилагаются-см. ссылки на посты). Если необходима помощь в реализации стратегии на PineScript под TV (в частности, переноса стратегии с TSLab на TV) или просто у Вас нет желания самостоятельно разбираться в настройках программы обращайтесь в личку, либо на почту:parsesignal@yandex.ru
------------------------------------------------------------------------------------------
4 года и 4 месяца прошло с выхода поста «Торговый робот на LUA для QUIK» (https://smart-lab.ru/blog/200767.php) про конструктор Lbot. За это время он повзрослел, лишился графического интерфейса и… превратился в младшего брата для Lbot3D. И если раньше для Lbot была пробная версия (с одним инструментом и одним лотом), то теперь, фактически, сам превратился в пробную версию для Lbot3D и, с этого дня, предоставляется в свободное пользование с полным функционалом:
Скачать Lbot180.zip можно тут: drive.google.com/open?id=1DL9jGEBm2Uhk89PcQdlK-ObaOe2zihnx
INI-файл написан для демо-QUIK на 3 инструмента — Сбербанк, Газпром и Лукойл. Стратегия на Газпроме — безиндикаторная, на Сбербанке — на скользящих средних, на Лукойле — на пересечениях MACD.
encoding = "UTF-8" FREQUENCY = 1000 account = NL0011100043, 10110 PositionSize = 300000 xy = 421, 0, 859, 118 ;------------------------------------------------------------------------------- [GAZP] Security = GAZP, QJSIM, Gazp_moex WorkSize = 3 // рабочий объем, в штуках; LossLimit = 100 // ограничение на убыток по стратегии OpenSlippage = 10 // допустимое проскальзывание на сделке, в количестве минимальных шагов цены; OpenLong = {Close, 1} < {High, 2} // цена 'close' предыдущей 'полной' свечи превысила 'high' предшествующего ей бара; OpenShort = {Close, 1} > {Low, 5-2} // цена 'close' предыдущей 'полной' свечи принизила 'low' 5-2 баров; StopLoss = 2 TakeProfit = 3, 1, 1 EOD = 18:29:00 //закрытия позиции в указанное время. autoBot = Y [SBER] Security = SBER, QJSIM, Sber_moex WorkSize = 10 LossLimit = 100 OpenSlippage = 10 OpenLong = {Ema1} > {Ema2} CloseLong = {Ema1} < {Ema2} OpenShort = {Ema1} < {Ema2} CloseShort = {Ema1} > {Ema2} autoBot = Y [LKOH] WorkSize = 2 Security = LKOH, QJSIM, Lkoh_moex LossLimit = 225 OpenSlippage = 10 OpenLong = cross(macd_Lkoh.0, macd_Lkoh.1) OpenShort = cross(macd_Lkoh.1, macd_Lkoh.0) ;OpenLong = {Close, 1} < {Low, 5-2} ;OpenShort = {Close, 1} > {High, 2} StopLoss = 30 TakeProfit = 50, 10, 10 autoBot = Y