Блог им. escoman

Разработчикам роботов: Возможно Вас заинтересует



Краткий обзор системы SAT 3.0
В продолжение поста: smart-lab.ru/blog/22651.php

Позвольте Вам представить нашу разработку — Торговую платформу SAT 3.0. На данный момент проект является коммерческим.
Я уже выссказывал в предыдущем посте идею сделать проект открытым (OpenSource). Над этой мыслью мы пока думаем. Поэтому на данный момент предлагаю Вам ознакомится с возможностями системы.

Система написана на Delphi.

Краткий обзор возможностей системы:
1) SAT 3.0 — это НЕ библиотека для разработки роботов. Это среда для
разработки, тестирования и последующей эксплуатации роботов.

2) подходит так же для ручной торговли в стакане и на графике.

3) поддерживает на данный момент шлюзы SmartCOM, Quik, Plaza2. Т.к.
система построена по принципу плагинов, то в теории SAT может работать с любыми существующими в природе шлюзами брокеров, которые имеют API. Важный момент: без необходимости изменения кода робота. Один и тот же робот может работать через любой шлюз.

4) позволяет писать роботов в двух форматах: в виде исходных кодов
для интерпретатора Pascal Script и в виде DLL-плагинов. Второй вид позволяет скрыть исходник робота и повысить его производительность.

5) позволяет тестировать роботов:
      а) на тиках;
      б) несколько стратегий одновременно;
      в) на нескольких субсчетах одновременно;
      г) на нескольких инструментах одноврменно;
      д) включая тестирование опционов (расчёт по модели Блэка-Шоулза).
      е) каждый робот может одновременно обращаться к нескольким тайм-фреймам.

6) есть мини-IDE с подсветкой и проверкой синтаксиса.

7) позволяет закачивать для тестирования данные с Финама, РТС.

8) поддерживает маркет-профайл (внутри свечные объёмы), в т.ч. есть доступ из роботов.
 
Возможно есть и другие фишки. Я всех не помню. :)

Какие есть вопросы, мысли?

★6
45 комментариев
возможно ли сделать самому робота?
avatar
Wizard, конечно можно. Я же написал, есть среда разработки.
escoman, можно делать роботов под прямое подключение? тоесть чтобы робот работал без графической оболочки на сервере биржи?
avatar
reist, хм. Такого пока нет.

Обычно нужно контролировать робота визуально. Поэтому на сервер обычно заходят через удалённый рабочий стол.

Но в теории можно сделать плагин, который будет к примеру вывешивать состояние робота на сайте в HTML виде, или передавать данные в удалённую программу-монитор. Я над такой задачей задумывался. Но пока нет реализации.
escoman, графика тормозит торговлю. поэтому и спрашиваю, можно ли ее отключить.
avatar
reist, а это.

Это есть. Робот может просто быть скрыт в фоновый режим и продолжать работать.
escoman, но SAT то все рано будет висеть в памяти и потреблять ресурсы. Тогда получается смысла нет никакого в Плазе подключении, если не получать максимальную скорость работы. И тестирование на тиках тоже тогда бесполезно.
avatar
reist, ну в памяти-то он будет продолжать висеть, но ресурсы на графику не будут расходоваться, т.к. окно при сворачивании в фон уничтожается. Робот анализирует виртуальный график в памяти, не отображая его.
escoman, на анализ тоже время тратиться, и память и процессор. На Плазе борьба идет за миллисекунды, так что тут каждый байт памяти на вес золота.
avatar
reist, так то оно так, на намного больше занимают времени не расчёты, а получение и передача данных на сервер РТС.

Но бороться за миллисекунды на Плазе не советую. У кого-нибудь всегда найдутся друзья в руководстве РТС, и они пододвинут своего робота поближе к серваку РТСовскому. :)
escoman, а мне и не надо бороться с руководством РТС. мне достаточно быть быстрее тех, кто без руководства размещает своих роботов.

СтокШарп на конференции предлагал удаленное управление роботом. Как вы думаете насчет этого?
avatar
reist, Я уже писал выше:

… В теории можно сделать плагин, который будет к примеру вывешивать состояние робота на сайте в HTML виде, или передавать данные в удалённую программу-монитор. Я над такой задачей задумывался. Но пока нет реализации…

Для этого мы и хотим сделать проект открытым и бесплатным, чтобы добавлять в него хорошие идеи и оптимизировать внутреннюю структуру системы.

Проблема в том, что мы в основном занимаемся разработкой роботов позиционных, ну и немного стаканных. А в этом деле высокая скорость не так важна. Если другие люди будут реализовывать на базе нашей системы что-то более ресурсо-ёмкое, то мы только за.
escoman, робот сможет работать без оболочки САТ? Если да, то плагин спасет ситуацию. Если нет, то он будет бесполезен.
avatar
reist, в принципе сможет.

Так же как у СтокШарпа у нас есть библиотека-ядро.
На основе него можно писать роботов.
Если всякие там графики не нужны, то проблем нет.

Просто среда SAT предоставляет множество уже готовых вещей, без которых эксплуатация большинства роботов становится геморройной. Но возможно ради производительности ими стоит пожертвовать.
escoman, среда это хорошо. но после того как робот готов она сама становиться геморройной.

Выложите возможности вашего ядра. Хочу сравнить ее с возможностями СтокШарп.
avatar
Wizard, пунтк 6. мини-IDE.
если уже рекламируешь то пиши где скачать и сколько стоит…

еще вопрос а где гарантия что он тестит корректно??
avatar
BuFFeTT, и от куда данные подкачивает и за какой период??
avatar
BuFFeTT,
))) последний вопрос нашел)))
avatar
BuFFeTT, можно закачивать с сайта Финама и с ftp-сервера RTS.

С Финама — любой период, который там есть.
С сервер РТС, начиная с 2008 года по тиковые данные.
escoman, я Россию не торгую
торгую Америку
avatar
BuFFeTT, у нас есть бесплатная полнофункциональная версия.

На днях выложу ссылку.
escoman, давай
по опционам сразу тебе скажу корректно или нет)))
avatar
BuFFeTT, без вопросов.

Но по опцикам точно нужно будет корректировать эмуляцию.
Поскольку вопрос крайне тонкий. :)
escoman, круто!!!
avatar
Wizard, спасибо. :)
а что со скоростью, если поиск сигнала на вход-выход идет по свечам, а сам вход-выход по тикам?
и с подбором оптимальных параметров?
avatar
Александр Малофеев, у нас была версия SAT 2.5. В ней был оптимизатор. В версию 3.0 пока не перенесли его.

По тикам вход возможен. В том числе можно входить, становясь лучшей ценой в стакан.
escoman, я видел, что тики есть.
интересна скорость — чтобы тики подключались только на этапе входа/выхода, а анализ шел быстро по предвычисленным свечам.
avatar
Александр Малофеев, несколько не понятна фраза «чтобы тики подключались только на этапе входа/выхода». Разъясните, пожалуйста.

В принципе сам робот в нашей системе может менять тайм-фрейм текущего графика. В том числе и иметь одновременный доступ к нескольким тайм-фреймам.
Александр Малофеев, кстати, забыл упомянуть об одной возможности, которой в других системах не встречал:

Один робот может запускать/останавливать других роботов.
Поэтому Ваша идея может быть реализована так: Один робот ищет вход по свечам, когда находит, то запускает стаканного робота или робота по тикам.
escoman, я вас понял.
детально расспрашивать не буду, т.к. имхо дельфи уже давно умер, и связываться с ним все равно не хочется.
но по нынешним временам, похоже, ваша система превосходит известные мне аналоги.
avatar
(как минимум в области возможностей оптимизации скорости)
avatar
Александр Малофеев, ну, умер — не умер, в данном случае особого значения не имеет. Ведь проект-то уже написан, писать заново его не нужно.

А для торговых роботов достаточно даже возможностей, что были ещё 10 лет назад в Delphi 6. Последние версии Дельфей не нужны.
escoman, это понятно.
но я сейчас на перспективу выбираю.
условно говоря, StockSharp через год-два допилят до вашего уровня, а вот когда начнут выпускать какие-нибудь 256-ядерные процессоры, то вам будет тяжелее их поддержать, т.к. среда разработки самой системы к тому моменту устареет окончательно.
avatar
Александр Малофеев, это да.
а одновременная торговля робота на разных инструментах или разных роботов на одном инструменте реализована??
avatar
BuFFeTT, в тестере? реализована.
уже не терпится посчупать)))
avatar
Daks, да.

Но есть одна мелкая проблемка. Я писал DLL-роботов только на Delphi, а там модель вызовов register, а в других языках по умолчанию cdecl (если понимаешь, о чём я).

Поэтому нужно будет сменить модель вызовов и перекомпилить проект. Плюс для C++, например, нужно сделать заголовочный файл с объявлением интерфейсов.
Daks, короче, если подолбиться, то можно реализовать.

Изначально, я такую идею и закладывал в плагины, чтобы можно было писать на других языках программирования.
Daks, спасибо.

теги блога Сармин Алексей (escoman)

....все тэги



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