Niktesla (бывш. Бабёр-Енот)
Niktesla (бывш. Бабёр-Енот) личный блог
24 января 2016, 17:39

TSLab - давай, досвиданья!

Хочу немного рассказать о своем [скорее негативном] опыте работы с TSLab.

Как-то раз услышал я про Welthlab и TSLab и решил посмотреть чего это такое. Решил остановиться на последнем, поскольку слышал что это почти аналог первого, разве что приспособленный еще и к торговле на российском рынке… и бесплатный для разработки и тестирования.

Имея некоторый опыт программирования, с блок-схемами разбираться не стал, а начал сразу с изучения и переделки нескольких скачанных примеров на C#. Разобравшись немного с API методом научного тыка. Вернее с основными понятиями — как сделать вход, как сделать выход. И как протестить то что получилось на истории. Больше, как мне казалось, ничего и не надо.

Оказалось однако что не все так просто. Имеющийся API оказывается позволяет в тестере покупать на уже прошедших барах и заглядывать в будущие бары. То есть допускает написание торгового алгоритма, который будет тестере (работая по открытиям баров) вести себя одним образом, а в реальной торговле — совершенно другим. То есть подход изначально порочный и большого доверия не вызывающий. Тем не менее, покопавшись в интернете я узнал, что соблюдая некоторые «the rule of thumb» правила работы с индексами баров, то в принципе можно быть уверенным что алгоритм в будущее заглядывать не будет, и на прошлых баров тоже не станет покупать… так что вздохнув и утерев пот со лба я продолжил ковырять код, пока не получил нечто, что мне захотелось проверить на реале.

Итак, я воткул робота на реал и начал ждать… и вот тут собственно началось… Сначала оказалось что робот не торгует. Выяснилось что программе при запуске контейнера(так называется запущенный алгоритм) есть несколько настроек исполнения ордеров. Как конкретно эти настройки влияют на работу функций CloseAtProfit, CloseAtStop, BuyIfLess, SellIfLess и т.п., при помощи которых происходит вход и выход из позиций, для меня в итоге так и осталось загадкой. Но как грицца — подобным мелочам наш бух было не сломить, и я оставил алгоритм бегать на реале, надеясь разобраться с настройками опытным путем...

А дальше начался какой-то кромешный ад. Алгорим(робот) то пропускал вход, то пропускал выход… то внезапно решал закрыть какую-то виртуальную позицию, которая не пойми по какой причине у него там где-то образовалась. Иногда оживить контейнер получалось, но раз в несколько дней он настолько запутывался в своих ордерах, что проще было запустить контейнер заново. В результате за ~3 недели ковыряний не получилось собрать даже статистику работы алгоритма чтобы сравнить ее с бектестом.

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

В итоге через месяц я окончательно озверел, и решил что всё — лично мне хватит этих экспериментов на реале, и отложил программу в сторонку. 

Какова мораль данной истории?

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

Внезапно я осознал( все познается в сравнении) насколько хорош mt4 с точки зрения программиста.

Да и отношение к людям, преподающим курсы по TSLab у меня немного изменилось. Раньше я считал их полной фигней и впариванием за деньги того, что любой желающий сам может изучить по свободным источникам. Однако после ковыряния в документации и форумах я пришел к мнению что там содержится очень мало того, что могло бы помочь в написании реальных боевых роботов. Так что если вы собираетесь реально программировать на TSLab то, разобравшись с азами, реально имеет смысл пойти в обучение к кому-нибудь у кого есть опыт создания реально работающих и исползующихся на этой платформе роботов.
81 Комментарий
  • SECRET
    24 января 2016, 17:47
    тоже смотрел TSLab. Какое-то творение программиста-самоучки. Все глючит и работает не так как хочешь. Больше 10 000 рублей сложно доверить этой адской программе.
  • sortarray sortarray
    24 января 2016, 17:50
    А как вобще в этих платформах разруливаются издержки сети? Вот ваш робот, я так понимаю, он работает на клиентской стороне, так? Допустим, он отправляет запрос на какую то операцию, а сервер в это время перегружен, и ваш запрос будет обработан только через 30 секунд. Как это все там учитывается?
  • Евгений Черных
    24 января 2016, 17:53
    Да, мт5 пока сасое лучшее, что есть на рынке. Дать только что не популярно оно
  • nobody
    24 января 2016, 18:01
    Работаю с ТСЛаб уже 3 года, управляю брокерскими счетами с помощью роботов. Пока для меня это единственный нормальный способ (доступный, понятный, простой) одновременно управлять несколькими счетами — в одной программе ТСЛаб можно подключить 4 аккаунта Финам, любое кол-во аккаунтов АЛОР. Для меня это — спасение. На одном сервере вижу сразу по 5-10 счетам картину.

    Скажу сразу: мне ни разу не пришлось лезть в API, и все мои задачи решались имеющимися средствами (кубиками).

    Моя задумчивость в текущий момент и желание написать этот комментарий связаны с тем, что плата за продукт выросла до 2600 рублей (а 3 года назад 1 тыс. рублей).

    Это означает, что все мои клиенты ежемесячно теперь в сумме отдают около 40 тыс. рублей. Это уже навевает на некоторые мысли и расчёты о том, окупится ли у меня собственная разработка такого продукта…

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн