понедельник, 13 сентября 2010 г.

Сравнение TOP5 API для роботов.

Наконец, выпустил новый релиз S#, и настало время для написания беллетристики. Я уже писал подобные заметки о том, для чего нужен робот, чем он может пригодится вообще. Теперь я решил написать о том, какой API лучше выбрать для робота. Заметьте, именно для тех, кто пишет (+ собрался писать) на API, а не использует ТА программы. О последних и так достаточно написано и без меня.

Я сознательно не пишу данный пост для тех, кто программирует на S#. А для тех, кто любит самостоятельно вникнуть в проблемы системного программирования (именно системного, потому что разбираться, скажем, с TRANS2QUIK.dll это вовсе не программирование робота, как многие думают =) ). Конечно, мне до сих пор не понятно, как людям не жаль своего времени, но я хочу поделиться и с ними своим опытом работы (пусть даже с готовым решением).

И так, сравнение будет производиться между следующими API:
  1. Quik API
  2. SmartCOM
  3. Alfa Direct
  4. Alor COM
  5. Plaza2
.... и по следующим категориям:
  1. Сложность освоения
  2. Полнота данных
  3. Поддержка
  4. Распространенность
  5. Уровень документации
  6. Стабильность и ошибки
Все нижеописанное - мое личное мнение, основанное на использовании всех этих продуктов. Подчеркиваю, я не являюсь сторонником какой-то одной из API, и старался сделать вывод независимым.

И так, сначала опишу вкратце основные черты каждой из API.
  1. Quik API. По определению - это trans2quik.dll. По факту, это еще и собственный DDE сервер. Все потому, что обратная связь через API практически отсутствует. Приходится делать ну очень много работы. Поддержка отвечает стабильно, по плану. Документация сносная.
  2. SmartCOM. Ребята стараются, делают, но пока все плохо. Плохо в плане стабильности. Документация лучше, чем у Квика, да и использование много проще. Но вот данных - просто не достаточно. Если писать робота, нужно использовать внешние источники. Поддержка - самая лучшая.
  3. Alfa Direct. Похож на SmartCOM, только работает значительно стабильнее. Но. Поддержка отсутствует вообще как таковая. Я бы сказал, на любителей.
  4. Alor COM. Разобраться очень сложно. Пожалуй, сложнее только Plaza2. Документация нормальная (при таком запутанном API это большой плюс). Поддержка еле живая. Летом ее не было вообще.
  5. Plaza2. Такое же запутанное API как у Alor, только еще плюс к тому, что через данный API нужно посылать еще и специальные сообщения. Количество параметров компилятором не ограничивается, поэтому получается некий квест с разбором документаций (а их читать надо сразу как минимум две). Думаю, если нет хотя бы пару лет в программировании, можно даже в эту сторону не смотреть. Поддержка хорошая.

Получившаяся итоговая таблица (отмечал как с школе советских времен - от 1 до 5):

Quik SmartCOM Alfa Direct Alor COM Plaza2
Сложность освоения45321
Полнота данных51445
Поддержка45124
Распространенность53221
Уровень документации35432
Стабильность и ошибки41335
Итог2520171618

Я не удивлен полученным двум лидерам. Они вечно дышат друг другу в спину. Но и какого-то явного отрыва от других API не видно. Рынок постоянно будет модернизироваться, брокера предлагать все больше своих услуг, и все эти цифры будут стремиться к одному общему числу.

Вместо заключения хочу отметить, что в этой таблице все-таки нужно смотреть не на итоговые значение, а как конкретные цифры. Скажем, Alfa победила Alor. Но, если вы новичок, то из-за пункта "поддержка" вам путь заказан. Или другой вариант. Вы, наоборот, профи. Тогда при всей своей усредненности можно попробовать и Plaza2. Или, если взять мой жизненный пример, я не смог написать один из своих роботов на SmartCOM, потому что по нему невозможно было получить необходимые данные по опционным контрактам.

Дерзайте!

6 комментариев:

  1. Спасибо, друже :-)

    На мой взгляд, Quik завышен, на мой взгляд, очень неприятен момент расшифровки данных по DDE... так что где-то наравне :-) с нами.
    а вот PlazaII занижена, на мой взгляд, очень удачная платформа, но для профессиональных разработчиков.
    Из рассмотренных не использую только алор, так как нет ничего нового, да и в популярности, думаю SmartCom’у проигрывает, и от альфы отказался в пользу SmartCOM, так как тарифы и скорость в не конкуренции.
    Моя субъективная тройка:
    1. SmartCOM и PlazaII – скорость, удобство и продуманность, но свои недостатки: у первого нет нормальных ответов при ошибках и платность и только РТС у второго.
    2. Quik – так как популярный, но устаревший.

    P.S: Всё это моё личное мнение.
    p.p.s:
    У Альфы, только один плюс, моментальный ввод-вывод денежных средств.

    ОтветитьУдалить
  2. А почему не использовать готовый интерфейс к плазе2, навроде того который cofite предлагает, за 4500тыр в год?
    Это не реклама, мне интересно, т.к. планирую арбитраж и нужно хорошее исполнение. Хотел заказывать на плазе2 свои библиотеки, однако вот набрел на кофите. Интересно ваше о них мнение.

    ОтветитьУдалить
  3. А кто сказал не использовать? Используйте.

    ОтветитьУдалить
  4. Михаил, а планируете ли вы поддержку Plaza2 в данной библиотеке ?
    Насколько я понял, опыт у вас в этом направлении имеется. За это уже можно и денег брать, если ее сертифицировать.
    В любом случае спасибо за качественный продукт

    ОтветитьУдалить
  5. Если и будет, то будет бесплатно. Насчет сертификации не понял.

    ОтветитьУдалить
  6. Михаил,

    А какое Ваше мнение по Transaq Connector в сравнении с Quik API? (http://www.transaq.ru/gateway)

    ОтветитьУдалить