МТС & Альфа-директ.

  • Автор темы Dymytry
  • Дата начала

Dymytry

New member
1) Кто-нибудь пробовал делать МТС с Альфа-директом? Если да то насколько сложно, в чем проблемы? Надо писать на C++ API?

2) Какая связка программы-генератора сигналов и брокерского терминала является по-вашему простейшей для создания МТС?

Например, метасток + квик, или что-то еще... может есть программы со встроенными мтс? Вот в альфе например есть встроенный теханализ, уже пол-дела..
 

Juveman

New member
насколько я знаю у альфа-директа уже есть открытый апи.. Ничего писать не нужно, просто по их же примерам использовать этот апи. У меня работало полтора года назад вполне сносно.
Однако, на мой взгляд создавать мтс на базе альфа-директа - неправильно. Поскольку если что-то случится с альфой или конкретно с альфа-директом - переписывать предется всю систему. С этой точки зрения любой другой более распространенный терминал, разрабатываемый независимо от конкретного брокера - гораздо лучше.
P.S. сам клиент альфы.. не сочтите за антирекламу.
 

Dim_plus

New member
1) Кто-нибудь пробовал делать МТС с Альфа-директом? Если да то насколько сложно, в чем проблемы? Надо писать на C++ API?

2) Какая связка программы-генератора сигналов и брокерского терминала является по-вашему простейшей для создания МТС?

Например, метасток + квик, или что-то еще... может есть программы со встроенными мтс? Вот в альфе например есть встроенный теханализ, уже пол-дела..
вот здесь есть всё необходимое для создания МТС Метасток-АльфаДирект (скоро будет и связка Метасток-Квик): http://stockgraphics.narod.ru/autotrading_complex.htm
 

Dim_plus

New member
насколько я знаю у альфа-директа уже есть открытый апи.. Ничего писать не нужно, просто по их же примерам использовать этот апи. У меня работало полтора года назад вполне сносно.
Однако, на мой взгляд создавать мтс на базе альфа-директа - неправильно. Поскольку если что-то случится с альфой или конкретно с альфа-директом - переписывать предется всю систему. С этой точки зрения любой другой более распространенный терминал, разрабатываемый независимо от конкретного брокера - гораздо лучше.
P.S. сам клиент альфы.. не сочтите за антирекламу.
Если "что-то случится" с Альфой ничего переписывать не придется. МТС можно создать на связке Метасток-АльфаДирект. Главное в МТС это Торг.Система, т.е. формулы определяющие моменты входа/выхода из позиций. Обычно формулы пишутся в Метастоке и с помощью библиотеки и модуля, описанных на сайте http://stockgraphics.narod.ru/autotrading_complex.htm заявки по сигналам из Метастока можно посылать в Альфа-Директ. Если "что-то случится" с Альфой, то можно будет созданную в Метастоке ТС использовать с терминалом Quik или другими терминалами, "в зависимости от конкретного брокера" :) МТС испытанная и дающая прибыль в Альфа-Директ также хорошо будет работать и с другими терминалами, так что ничего не пропадет.
 

Juveman

New member
С тем, что главное - это сама стратегия - никто не спорит. Однако техническая реализация самого робота - момент очень важный. И, главное, система ввода транзакций в альфе и квике слишком разная, чтобы быстро и безболезненно переделать одного робота в другого. Даже при наличии работающей в метастоке стратегии.
 

Dim_plus

New member
С тем, что главное - это сама стратегия - никто не спорит. Однако техническая реализация самого робота - момент очень важный. И, главное, система ввода транзакций в альфе и квике слишком разная, чтобы быстро и безболезненно переделать одного робота в другого. Даже при наличии работающей в метастоке стратегии.
Система ввода транзакций действительно разная (в Альфе удобнее :) Но скоро, я думаю, использовать одну и ту же ТС на Метастоке, и для Альфа-Директа и для Квика, будет очень просто. Вот только доделаю функцию и модуль для Квика :)
 

Dymytry

New member
(1) Dim_plus,
а есть где-то описание API альфы и пример кода простейшей системы?
Какой комплилятор надо использовать для этого?

(2) Есть ли комбинация терминала и программы - анализатора где не надо программировать (имеется ввиду не надо программировать связь между ними а не сам код сигнала)
?
 

klado.ru

New member
насколько я знаю у альфа-директа уже есть открытый апи.. Ничего писать не нужно, просто по их же примерам использовать этот апи. У меня работало полтора года назад вполне сносно.
Однако, на мой взгляд создавать мтс на базе альфа-директа - неправильно. Поскольку если что-то случится с альфой или конкретно с альфа-директом - переписывать предется всю систему. С этой точки зрения любой другой более распространенный терминал, разрабатываемый независимо от конкретного брокера - гораздо лучше.
P.S. сам клиент альфы.. не сочтите за антирекламу.
Не совсем с этим согласен. Главное в МТС это идея, а написать ее может программист нанятый за деньги.
В целом Альфе РЕСПЕКТ они первые кто эту тему стал развивать, если не ошибаюсь еще с 2003 года. Жаль что у них это все замерзло на текущий момент.
Еще важный момент, что бы МТС нормально работала нужно или желательно что бы софт сервера брокера поддерживал такую функцию, как запрашивать исторические данные по инструментам (сервер котировок). В самом распространенном в России терминале КВИК этого нет . А все остальные софтины принадлежат конкретным брокерам. Альфа – дирек Альфа брокеру и Смарт Трейд АйТи Инвесту, есть еще Нет Инвестор, но в нем я лично не копался.
Так же еще отмечу, что самым оптимальным вариантом будет не связка терминал программа ТА а связка по СОМ интерфейсу. Для примера выкладываю часть описания COM-интерфейса SmartTrade. До раздела (Запрос исторических интервальных данных производится методом)
Если кому потребуется подробнее , скачивайте у них с сайта. Если не найдете где пишите я дам ссылку

Краткое описание COM-интерфейса SmartTrade (в стиле «у зайца длинные уши»).

Наблюдение за торгами 1
Наблюдение за счетом 3
Выставление приказов 4

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

Интерфейс не автономен: взаимодействие с сервером осуществляется программой SmartTrade (Pro), а интерфейсная библиотека (stcln.dll) исполняет роль посредника и работоспособна только при установленном в SmartTrade соединении.

Программно интерфейс представляет собой COM класс StServer реализующий интерфейс IStServer и генерирующий события в диспетчериземый интерфейс _IStClient.

Для выставления и отмены приказов необходимо изменить настройки SmartTrade:

1. В меню Настройки->Основные->Внешний приказы установить переключатель в положение WealthLab Developer
2. При необходимости снять галочку напротив «При постановке внешнего приказа выводить сообщение для подтверждения».

Наблюдение за торгами
Для получения информации по инструменту в реальном времени необходимо «подписаться» на прослушивание вызвав соответствующий метод IStServer:
HRESULT ListenQuotes(
BSTR symbol); -- котировки
HRESULT ListenBidAsks(
BSTR symbol); -- очередь заявок (стакан)
HRESULT ListenTicks(
BSTR symbol); -- сделки

symbol – код ЦБ на бирже

В результате подписки _IStClient начнет получать события:
1. Обновление котировок
HRESULT UpdateQuote(
BSTR symbol,
DATE datetime,
double open,
double high,
double low,
double last,
double volume,
double size,
double bid,
double ask,
double bidsize,
double asksize);

2. Обновление стакана
HRESULT UpdateBidAsk(
BSTR symbol,
long row,
long nrows,
double bid,
double bidsize,
double ask,
double asksize);

Полый «стакан» сортируется и передается построчно за несколько вызовов. Каждая строка содержит цены и объемы предложений или нули, если предложения на покупку или продажу исчерпаны. Лучшие предложения имеют меньший номер строки (row), общее количество строк (nrows) в процессе передачи стакана не меняется.

3. Все сделки
HRESULT AddTick(
BSTR symbol,
DATE datetime,
double price,
double volume);

Отменить подписку можно вызовами
HRESULT CancelQuotes(
BSTR symbol);
HRESULT CancelBidAsks(
BSTR symbol);
HRESULT CancelTicks(
BSTR symbol);

Запрос исторических интервальных данных производится методом
HRESULT GetBars(
BSTR symbol,
StBarInterval interval,
DATE since,
long count);

Если количество запрашиваемых интервалов положительно, сбор идет «назад» по времени в прошлое от указанной даты; если отрицательно – то «вперед». Данные поинтервально возвращаются в событии
HRESULT AddBar(
BSTR symbol,
StBarInterval interval,
DATE datetime,
double open,
double high,
double low,
double close,
double volume);

Отменить запрос истории можно методом
HRESULT CancelBars(
long cookie);
 

Juveman

New member
Еще важный момент, что бы МТС нормально работала нужно или желательно что бы софт сервера брокера поддерживал такую функцию, как запрашивать исторические данные по инструментам (сервер котировок). В самом распространенном в России терминале КВИК этого нет .
вы ошибаетесь. В самом квике такая возможность уже есть. Вопрос только в том, подключил ли брокер на сервере эту функцию.
 

Dimus

New member
Еще важный момент, что бы МТС нормально работала нужно или желательно что бы софт сервера брокера поддерживал такую функцию, как запрашивать исторические данные по инструментам (сервер котировок). В самом распространенном в России терминале КВИК этого нет .
вы ошибаетесь. В самом квике такая возможность уже есть. Вопрос только в том, подключил ли брокер на сервере эту функцию.
у БКС на Quik есть. у Alor на Alor-trade нет. это из того что мне известно.
 

klado.ru

New member
Еще важный момент, что бы МТС нормально работала нужно или желательно что бы софт сервера брокера поддерживал такую функцию, как запрашивать исторические данные по инструментам (сервер котировок). В самом распространенном в России терминале КВИК этого нет .
вы ошибаетесь. В самом квике такая возможность уже есть. Вопрос только в том, подключил ли брокер на сервере эту функцию.
Проблема в том что это не сервер котировок. вытянуть из квика данные исторические таким способом не получится. Эта штука тока графики позволяет строить . Она бесполезна для наших задач. (информация на середину лета) , если что то изменилось расскажите.
Обратите внимание на то что Церих и Открытие использует отдельные программы для этих целей клиентам они их за отдельную плату предоставляют . В свое время меня и это и двинуло в сторону Смарт Трейда .
 

Ser

New member
Еще важный момент, что бы МТС нормально работала нужно или желательно что бы софт сервера брокера поддерживал такую функцию, как запрашивать исторические данные по инструментам (сервер котировок). В самом распространенном в России терминале КВИК этого нет .
вы ошибаетесь. В самом квике такая возможность уже есть. Вопрос только в том, подключил ли брокер на сервере эту функцию.
Проблема в том что это не сервер котировок. вытянуть из квика данные исторические таким способом не получится. Эта штука тока графики позволяет строить . Она бесполезна для наших задач. (информация на середину лета) , если что то изменилось расскажите.
Обратите внимание на то что Церих и Открытие использует отдельные программы для этих целей клиентам они их за отдельную плату предоставляют . В свое время меня и двинуло в сторону Смарт Трейда .
Сделать мне что-ли свой сервер котировок на основе имеющейся у меня проги и продавать всем желающим за деньги? Как Церих и Open.
Брокер если узнает убьет :)
 

Dim_plus

New member
(1) Dim_plus,
а есть где-то описание API альфы и пример кода простейшей системы?
Какой комплилятор надо использовать для этого?

(2) Есть ли комбинация терминала и программы - анализатора где не надо программировать (имеется ввиду не надо программировать связь между ними а не сам код сигнала)
?
Пока есть такая реализация терминала и программы анализатора: АльфаДирект-Метасток. Но скоро будет сделана доп.библиотека для Метастока, реализующая связь Квик-Метасток. Программировать здесь ничего не придется, достаточно написать в Метастоке МТС и вызывать по ее сигналам спецмодуль для формирования заявок в АДирект или Квик.
 

Dim_plus

New member
Еще важный момент, что бы МТС нормально работала нужно или желательно что бы софт сервера брокера поддерживал такую функцию, как запрашивать исторические данные по инструментам (сервер котировок).
зачем нужна эта функция, если можно экспортировать реал-тайм котировки в дополнение к имеющейся истории в Метастоке и по сигналам из Меты подавать заявки непосредственно в терминал????

Так же еще отмечу, что самым оптимальным вариантом будет не связка терминал программа ТА а связка по СОМ интерфейсу. Для примера выкладываю часть описания COM-интерфейса SmartTrade.
Приведенный COM-интерфейс все равно требует програмирования специалистом и не каждый трейдер сможет это сделать. У Альфа-Директа тоже есть COM-интерфейс (называемый почему-то API) и мне тоже пришлось писать на Дельфи специальный модуль для работы связки Метасток-АльфаДирект.
 

Dymytry

New member
Dim_plus,
а можно теоретически обойтись без метастока?

Ведь в Альфе уже есть встроенный теханализ. По его сигналам ставить заявки. Нет?

И все-таки, есть ли где-то в сети описание того как программировать для Альфа-директа?
 

Dim_plus

New member
Dim_plus,
а можно теоретически обойтись без метастока?
ну еще можно использовать Excel

Ведь в Альфе уже есть встроенный теханализ. По его сигналам ставить заявки. Нет?
В терминале АДирект теханализ пока очень маломощный, и также пока нет выставления заявок по его сигналам.

И все-таки, есть ли где-то в сети описание того как программировать для Альфа-директа?
Описание API-интерфейса с примерами использования в Excel, а также на VB, C++, Дельфи Альфа-суппорт высылает свои клиентам по запросам.
 

Dymytry

New member
Парни,
а как обычно в роботах реализуется главный цикл, то есть регулярная проверка входящих данных и выводы из этого?

На уровне программирования.

Мне в голову приходит только простейшее:
while (время торговли не кончилось) do (закачать данные - сделать что-то)

Есть какие еще варианты?
 

Dymytry

New member
а зачем нужны еще какие-то?
Ну мало ли, может быть я недостаточно прогрессивен в своих догадках.

А еще волнует вопрос прекращения торговли по кнопке: как нажатием кнопки "Хорош торговать" повлиять на такой цикл.
 

mehanizator1

New member
а зачем нужны еще какие-то?
Ну мало ли, может быть я недостаточно прогрессивен в своих догадках.

А еще волнует вопрос прекращения торговли по кнопке: как нажатием кнопки "Хорош торговать" повлиять на такой цикл.
прекратить цикл по условию (кнопка "хорош торговать" нажата)
 
Your email address will not be publicly visible. We will only use it to contact you to confirm your post.
Сверху