Sergey Pavlov
Sergey Pavlov личный блог
08 ноября 2016, 06:32

Первые шаги с ТСЛАБ

Может кому полезно будет.
Может кто ценных советов подкинет.

На текущий момент опыт пользования тслабом составляет порядка одного месяца: 3 недели изучения и 1 неделя боевых торгов.
Цель освоения тслаба была в том, чтобы иметь независимую от программиста реализацию алгоритмов.
Рассматривались: тслаб, стокшарп, метатрейдер и что-то еще.
Начал с тслаб 1.2, но через недельку изучения перешел на тслаб 2.

На текущий момент всё нравится, но ряд технических нюансов непонятен.
Основная трудность — отсутствие нормальной документации как пользовательского, так и программистского толка.

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

Что мне позволил сделать тслаб? Всего сейчас порядка 10 торговых алгоритмов, каждый из которых генерирует примерно по 20 раздельно управляемых позиций. Грубо говоря, каждая позиция это от 10 до 50 контрактов по SR или от 5 до 20 по Si или от 1 до 10 по RI. На входе в эти алгоритмы несколько неторгуемых источников, на выходе сделки. Всё это тслаб позволили легко и удобно настроить. Изначально почти всё сделал кубиками, а свои «статистики» реализовал в виде DLL (это связно с циклом for).

Сперва думал, если бы в тслабе в кубиках можно было пользоваться циклами, то вообще всё сделал бы кубиками. Потом от этой мысли отказался и пришел наоборот к мысли, что в итоге всё запрограммирую во внешнем скрипте — так будет еще легче и удобнее.

Из ожидаемых плюсов:
удобный контроль за всеми позициями по всем подсистемам во всех системах,
возможность вмешиваться руками и корректировать состояния подсистем,
всё сохраняется, проверял на разрыв связи, на закрытие корректное, на некорректное закрытие программы и т.д.

Из минусов пока два:
время выставления заявок задерживается примерно на 1 секунду в сравнении с аналогичными системами, запрограммированными руками
квалифицированного программиста;
запустил тслаб на арендованном сервере рядом с брокерским сервером (HFTransaq) и не нравится, что приложение там открыто и доступно,
было бы приятно, если бы была возможность хотя бы заблокировать запущенную программу — хотя бы защита от дурака.

Далее ковыряюсь с TSLAB API, скоро переделаю вход-выход из позиций вместо блоков скриптом и буду доволен от этого.
Сомневаюсь пока, что тслаб подходит для чего-то HFT-шного, но, возможно, ошибаюсь.
Для спокойной позиционной 1-2-3-дневной торговли подходит прекрасно. Пока мнение такое.
13 Комментариев
  • Otjánbird
    08 ноября 2016, 07:53
    Какого рода алгоритмы использовали?
  • vito333
    08 ноября 2016, 08:17
    «если бы была возможность хотя бы заблокировать запущенную программу — хотя бы защита от дурака»
    я давно предлагал такое — разработчики отвергли, как ненужное
  • Chepell
    08 ноября 2016, 11:18
    1сек задержки скорее всего из-за vps финамовского. Кто-то уже рассказывал, что у них хреновый продукт.
      • ra81
        10 ноября 2016, 10:16
        Sergey Pavlov, такие дикие задержки только из за впс или какой то локальной беды могут быть. Плохие впс вообще фризят всю программу хотя другой софт тут же на этой же впс будет работать. ХФТ конечно тслаб не потянет, но от 1 секунды на принятие решение уже вполне себе способен. Можно даже колбасить по тикам, но конечно не пытаться быть первым в очереди.
  • ch5oh
    08 ноября 2016, 11:58

    > совершенно не хочется тратить время на пролистывание всего форума

    Задавайте вопросы — Вам ответят.

    > возможность хотя бы заблокировать запущенную программу
    Это как Вы себе на практике представляете?


    Если Вы врендовали сервер, у Вас есть доступ к нему по РДП. И только у Вас.
    РДП-сессию залочили — и в домике.


    Если волнуетесь за алгоритмы — скрипты можно сунуть в зашифрованные контейнеры перед выкладыванием на сервер.



    Что касается скорости — поиграйтесь с настройками робота. Возможно, вам подойдет режим тактирования „Interval+First trade“ или „Buy/Sell“ вместо просто „Interval“?..

    Script settings

    Обычный сервер Транзак (не ХФТ) примерно за 200-250 мс в среднем заявки выводит.

      • ch5oh
        08 ноября 2016, 13:39

        Sergey Pavlov, > Как внутренне устроен тслаб?

        Это как раз вопрос подходящий для нашего форума (форума ТСЛаб).
        Но его нужно конкретизировать.

        Вас интересует: порядок исполнения агента? Вывод заявки в рынок? Тонкости АПИ? Взаимодействие с Риск-менеджером?
        Во что Вы конкретно сейчас уперлись и в чем "собираетесь сами разбираться"?


        > Разве он (админ) не может подключиться к моей машине также как я и по приколу в запущенном тслабе что-нибудь натыкать?

        Нет. Не может. Потому что пароль от своей виндовой учетной записи знаете только Вы (Вы ведь его поменяли после того, как получили учетку, правда?)
        Он может поменять Ваш пароль — но Вы об этом немедленно узнаете, когда не сможете залогиниться в сессию.

         

        Если Вас волнует сохранность алгоритмов — тогда решение использовать шифрованный контейнер. Емнип, в нём можно сделать привязку к счету и тогда даже утащив контейнер никто не сможет им воспользоваться.

        Так что блокировки РДП-сессии более чем достаточно. Насколько мне помнится, ни в одном терминале мира нет функции "блокировка UI торгового приложения". Ни по кнопке, ни по таймауту неактивности...

         

        Опять же РДП-сессию можно настроить, чтобы она автоматом разрывалась через 15 минут, если в ней никто ничего не делает...

          • ch5oh
            08 ноября 2016, 15:30

            Sergey Pavlov, открывайте тему на нашем форуме вот прямо с этими вопросами — и пойдем их разбирать помаленьку.

            Возможно, тему имеет смысл открывать сразу в разделе Документация для версии 2.0?..

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

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