Блог им. AndreiSk

Один робот хорошо, а два еще лучше

Доделал второго робота под SmartCom и стал торговать на ФОРТС сразу двумя роботами (у разных брокеров).
Парадокс,  но профит повысился… видимо в какой-то момент один из роботов притормаживается у одного из брокеров, второй робот доделывает его работу.
Один робот через квик пашет, нашел еще один способ быстрого экспорта стакана, доходит до 80-90
раз в секунду поймать стакан в своей программе на C#. Слушает стаканчики 12 инструментов.  
Почему теперь SmartCom? Не успел доделать соединение через плазу2, а сезон уже начинается.
Поскольку с БКС не удалось договориться о нормальных, а не конских тарифах,
то был вынужден искать альтернативу. Я финменеджера уговаривал 1.5 месяца одуматься,
приводил в пример конкурентов. Мне было прямо заявлено, что дескать, у тебя не рубли. И заработать мы на тебе не можем, овернайт доллары не прокрутить. Поэтому БКС не двинется такому клиенту навстречу. Я ему говою — уйду же, вон ITInvest тоже самое предлагает. Ну мне сказали — иди… странно, да?
Я и пошел. В ITInvest не стали мне делать никаких ограничений по валютному ГО для ФОРТС.
Если в БКС не хотели ничего слышать о сумме ниже $50000, то в ITInvest сумма на десятку ниже вполне устроила. Из приятных плюшек ITInvest — можно выбрать тариф по своему усмотрению, начиная от 0.56р/контракт и ниже. В БКС от 1р/контракт и выбора тарифов, по большому счету, нет.
Либо 1000контрактов в день, тогад 0.5р/контракт. 
А у ITInvest тариф «нормальный» — уже 0.56/контракт без ограничения объема. Со следущего месяца возьму наверное «форсаж», комиссия брокера=1/2биржи, но не менее 5000р, что вполне меня устроит.
Также, у ITInvest интересный риск-менеджмент. Если у вас определенное сочетание контрактов
или опционов (а я торгую синтетические фьючи), то ГО фактически раза в 2.5 ниже. В БКС это услуга «пониженное ГО», но там не все инструменты можно тогда торговать, и кажется она иногда отключается на ночь (т.е. интрадейная штука). Короче, если кто заинтересован в торговле на ФОРТС имея баксы в качестве ГО и чуть рублей на покрытие возможно минуса по вар.марже - гоу в ITInvest. Там правда свой терминал, не квик, но похож на него. И данные точно такие же, я сравнивал (роботы то одинаковые). Если в каментах будут желающие узнать больше, распишу как стать клиентом ITInvest побыстрее и куда нести баксы.

Полагаю, что сейчас прибегут товарищи и начнут кидаться помидорками в мою сторону и кричать что это наглая реклама. Но мы говорим твердое нет таким клеветническим нападкам.
★10
36 комментариев
ну чет действительно много про айтинвест… лучше бы больше про бота рассказал, коли начал уж…
avatar
Юрий Елисов, так бота же доделал под SmartCom, а это API от ITInvest, поэтому и много про него, куда деваться то. А про какого бота интересует (их два)?
Счастливый Конец, про обоих рассказывай, коли такую пьянку замутил...:)Желательно в отдельном топике...
Я вообще за трансформеров, мне про них интересно почитать...:)
avatar
Это наглая реклама !!!111 (но сам то я давно уже в ит инвесте).
avatar
Действительно, давайте больше про роботов!
avatar
А сложно было переделывать то, что сделано под quik (если я не ошибаюсь, то там нет API) под Смартком?
Я вот подумывал обратную операцию проделать чтобы тоже было два брокера, но не знаю с какой стороны подступаться к этому квику.
avatar
Alexand77, нет, не так уж и сложно. Я профессиональный программист, 15+ лет стажа, так что все было несложно. Если говорить про SmartCom, то это штука не требует терминала чтобы залогиниться к брокеру. Она сама логинится на сервер ITInvest. На сайте ITInvest есть пример соединения, получения данных и выставления заявки. Пример на C#. На его основе я и сделал ту часть, которая поставляет стакан, таблицу инструментов и выставление заявок. А больше ничего и не надо.
Alexand77, под квик нету API, но есть обходные пути. Например из QUIK в C# можно передать по DDE (не быстро), через базу данных (не пробовал), через DebugOutputString (очень быстро). Последнее мое изобретение — квик пишет стакан (встроенным скриптом Lua) в файл, а я читаю этот файл из своей программы. Из C# в квик можно передать заявки через trans2quik.dll
Счастливый Конец, по смарткому и c# у меня вопросов нет, я все это использую. А вот тот огород что вы описали про квик меня и пугает после смарткомовского API.
avatar
Alexand77, тогда лучше всего из Quik делать экспорт через Lua куда нибудь, в файл например (ram диск в памяти). А заявки отсылать через trans2quik.dll (пример на C# есть в сети). Файлы можно слушать через FileSystemWatcher. Сейчас у меня так и сделано. FileSystemWatcher асинхронная штука, а квик успевает записать много файлов для каждого стакана каждого инструмента. Короче, очень быстро все работает теперь. DDE это был мой первый опыт экспорта из QUIK, сейчас бы все через Lua+файлы сделал, да времени особо нет на это, есть куча других идей.
Alexand77, если вы используете SmartCom, не знаете случаем, как уменьшить стакан? А то 40 значений мне не надо, достаточно и 5, а 40 значений передаются через 40 вызовов. Если по 50 в секунду*40 значений*12 инструментов, то это 24000 вызовов. Ну понятно что не все стаканы 50 раз в секунду приходят, но даже если 3 стакана, то это уже 6000 вызовов в секунду… много однако.
Счастливый Конец, мне тоже такой их дизайн не нравится, но вроде никак, просто игнорируйте вызовы при row>=5. К тому же все стаканы заведомо передаются в одном общем потоке, это позволяет немного оптимизировать логику.
avatar
Счастливый Конец, думаю что никак, что вывалилось в UpdateBidAsk то и забирай. Либо спросите в суппорте, они довольно быстро отвечают.
avatar
Счастливый Конец, Почему Lua на SmartCom не катит ?
Какая специализация C# ?
У меня сейчас Quik, есть плюсы написания программы для Quik на C#, а не на Lua.
avatar
Ярик, не понял если честно «Почему Lua на SmartCom не катит». SmartCom это грубо говоря, .Net DLL, которую используешь в своей программе на .Net (VB.Net,C#). А Lua (точнее QLua) это язык для написания скриптов внутри Quik. QLua работает очень быстро внутри квика, но писать геморно по сравнению с C#.
тема гуд пиши есчо
говорят ЕДП под смартком 3 не работает…
avatar
ves2010, всмысле баланс отображается криво или сделки не дает делать?
avatar
ves2010, а как ее отличить, ЕДП или нет? Вроде ЕДП, в любом случае робот пашет, сделки идут. А вот баланс и правда кривовато показывает, или я чего то не понял. Но мне баланс не особенно нужен, я лимиты сам выставляю. Робот не может сделать больше чем я лимитов поставлю. А я их ставлю заведомо меньше чем полная котлета.
Счастливый Конец, ну если вы недавно пришли в ит инвест, то у вас точно ЕДП. Раньше просто было разделение счетов — ФОРТС на одном счете, ММВБ на другом и все это не сальдировалось. Потом ввели ЕДП и стало все крутиться на одном счете и фортс и ммвб.
avatar
ves2010, работает, только состояние счета криво отображается, давно уже обещали поправить, может даже в следующем релизе (текущий от 22 апреля).
Тут надо заметить, что и основном их терминале SmartX состояние счета тоже иногда «плавает», не всегда верно отображается, потом приходит в норму.
avatar
смартком 2 или 3?
avatar
Кот Матроскин, последний, третий с сайта от 22 апреля.
в каментах есть желающие узнать больше, распиши как стать клиентом ITInvest побыстрее и куда нести баксы :)
Винету Карабасович Монетка, Последовательность такая:
I. Открываем брокерский счет дистанционно.
а) звоним в ITInvest и диктуем email
б) приходит письмо от менеджера
в) отсылаем ей сканы паспорта с мордой лица и страницы с регистрациями-прописками.
Заодно и тариф напишете какой вы хотите. Тариф можно поменять, но только будет с начала месяца.
г) приходит письмо с несколькими pdf файлами в архиве. Их распечатываем и
только подписываем. У меня было 15 листов, просто подписать без указания дат (они сами поставят).
д) отсылаем ей просьбу выслать курьера (в пределах МКАД)
е) приходит курьер и забирает бумаги
ж) они там все делают и вам приходит логин и пароль для доступа в личный кабинет
и он же для SmartX (это терминал в ITInvest). Квика у ITInvest нет.

II. Пополнение счета
По реквизитам указанным на сайте (ссылки вам в каждом email будут)
перечисляете немножко рублей для ФОРТС. Я делаю это из Авангарда (10р перевод).
Потом в SmartX можно увидеть вашу сумму.
Рубли нужны чтобы вариационную маржу (убыток) можно было откуда то вычесть.

Далее как перечислить доллары.
а) идем в Межтопэнергобанк (МТЭБ). Головной офис на м.Красные ворота, выходим из метро
и направо по садовому кольцу (по часовой). Там пройти два дома по садовому кольцу
и зайти в банк
б) подойти к девушке и сказать:
1. хочу открыть текущий счет физ.лица в долларах США. Рублевый не надо — не требуется.
2. можно сделать интернет банк чтобы смотреть, хотя он не нужен — доллары не перевести через
интернет банк (проверено)
3. не отходя от девушки, сказать что пополняешь текущий счет баксами. Она делает платежку и идете в кассу.
4. как только деньги в кассу внесены, тут же, не отходя от девушки, делаем заявку на перевод
баксов со своего текущего счета на счет ITInvest в этом же банке. Стоит внутрибанковский перевод 5 долларов.
Счет ITInvest для долларов: 40701.840.2.10201547327

Назначение платежа:
«Перевод средств для участия в торгах по договору на брокерское
обслуживание № BPxxxxx от xx.xx.2015г. НДС не облагается.»

На следующий день у вас будут доллары на ФОРТС и немножко рублей.

Результат: вы на ФОРТС имеете ГО в виде долларов и не зависите от скачков курса.
Наверняка можно и из других банков перевести межбанком, но у меня были наличные и
все равно куда-то надо было идти вносить и перечислять. Это как минимум $15 в банках или до 1% от суммы.
А тут перевод всего за пять баксов.

Прежде чем торговать, надо проверить, правильно ли вам выставили тариф. Личный кабинет->Подать документ->Тарифный планы и там поглядеть. У меня слегка напутали, но исправили по звонку. Видимо по умолчанию оставили.
Винету Карабасович Монетка, всё просто, заходишь на сайт, оставляешь заявку и тебе позвонят и подготовят все документы для открытия счёта если пришлёшь скан паспорта по почте.
avatar
если не трудно, киньте пример соединения на сайте Айти! спасибо! :)
avatar
shprots, вот здесь: www.itinvest.ru/software/smartcom/

нужно скачать (если win7 64битная):
SmartCOM 3.0.146 x64 от 22.04.2015 (скачать-поставить)
Исходный код TestConnect (C# код, запускается в VS, в частности VS2013 у меня), билдить как x64

чтобы работало, надо получить тестовый доступ логин+пароль через сайт ITInvest. Чтобы проверить тестовый доступ — скачать SmartX и увидеть тестовые 200тр.
Потом в TestConnect вводите тот login+пароль и соединяеетесь. Мне нужно был тлько стакан, котировки и отправка-отмена заявок. Бары не нужны.
Счастливый Конец, спасибо. В целом понятно. Я начинающий программер, но вообщем разобрался. Спасибо.
avatar
Это не ваши роботы покупают\продают в сторону крупной лимитной заявки, а потом перед ней кроются?))
avatar
2upse, нее… а что за инструмент, я бы глянул на него.
Счастливый Конец, да много какие инструменты реагируют на большие плотностя в стакане, особенно по моему фьючи
avatar
2upse, :)))… для таких вещей смарта не хватит...:)
avatar
В отличие от Квика за Смартком нужно платить, вроде 600 рублей в месяц. Что при депозите 30'000 рублей составляет 24% годовых)))
Правда, оплата покрывается из брокерской комиссии.
avatar
Макс, ну да. Если комиссия брокеру будет меньше 600р, то возьмут разницу как я понял. Но 600р брокерской комиссии я думаю каждый роботорговец делает. Иначе непонятно зачем ему SmartCom…
Занимаетесь фигней. IDA в руки, раздебажил квик, написал DLL, заинжектил и смотри котировки синхронно раньше чем все предложенные варианты в комментах. Если нужен .NET, то подгрузил быстренько рантайм в тот же процесс, сборку и дергай…
avatar

теги блога Счастливый Конец

....все тэги



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