Author

Topic: Торговая платформа Trade Studio. (Read 5678 times)

legendary
Activity: 1912
Merit: 1020
September 06, 2013, 12:21:32 AM
#35
При попытке закачать файл ГуглеХром сообщает, что не стоит загружать, опасность может представлять файл.
И отсылает на https://support.google.com/chrome/answer/99020?p=ib_download_scan&rd=1.

Терминалов загрузил и запустил не мало, но с этим какая то засада.

Спасибо за сообщение. Признаться, я не понимаю почему параноит хром - никаких подробностей сообщение не содержит.
Проверка файла показывает что вирусов нет даже по оценкам самых подозрительных анализаторов:
https://www.virustotal.com/ru/file/4a139cc6b4cfa7ae2d958b09f24b72acf7d4c654f91d257628270d5b647741e9/analysis/1378444649/
legendary
Activity: 2128
Merit: 1019
Обновил дистрибутив бета-версии для btc-e. Теперь запрос

При попытке закачать файл ГуглеХром сообщает, что не стоит загружать, опасность может представлять файл.
И отсылает на https://support.google.com/chrome/answer/99020?p=ib_download_scan&rd=1.

Терминалов загрузил и запустил не мало, но с этим какая то засада.
legendary
Activity: 1912
Merit: 1020
Обновил дистрибутив бета-версии для btc-e. Теперь запрос публичных данных осуществляется фоновыми потоками и в меньшей степени тормозит транзакции. Платой за ускорение стал заметный избыточный трафик (тысячи процентов), что к сожалению не получиться улучшить без уменьшения частоты запросов данных. Кстати сама частота запросов прекрасно регулируется из сценария btc-e.lua, через параметр функции interloop_message в миллисекундах.

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

На данном скриншоте программа подключилась к биржам BTC-E и ICBIT, и после некоторых доработок я уже смогу реализовать котировального бота (частный случай арбитража) для фьючерса на лайткоин.
legendary
Activity: 1912
Merit: 1020
Готова первая сборка для btc-e.com, пока ещё с очень ограниченными возможностями.

Дистрибутив можно скачать здесь. По умолчанию программа работает в просмотровом режиме, для торговли надо отредактировать файл btc-e.conf (ярлык на него создается в меню "Пуск"), записав API-key и secret голым текстом. Относительно работы с ICBIT не стоит удивляться сильно уменьшившейся производительности, все-таки запросное API против потокового слабовато. Видимо этот вопрос будет решаться через десятки параллельных ниток, постоянно запрашивающих публичные данные и заявки/сделки, а значит трафик будет очень заметный... но иначе остается мириться с задержками. Во время минимальной нагрузки на облако btc-e заявки должны выставляться меньше чем за секунду.

Отработка торгового API в моей программе реализуется сценариями на Lua, в частности можно посмотреть как это сделано в icbit.lua и btc-e.lua (папка plugins). Там в случае чего можно проводить оптимизацию, отключив скажем не нужные для торговли инструменты или изменив периодику запроса.
legendary
Activity: 1912
Merit: 1020
где его найти уважаемый?

Ссылка на дистрибутив, не меняется с 9 июля. Извините, если не очевидно )
legendary
Activity: 1912
Merit: 1020
Сейчас ещё раз обновил дистрибутив, в связи с небольшими исправлениями. Так-же расширил набор доступных для торговли инструментов.
legendary
Activity: 1912
Merit: 1020
В связи с добавлением/экспирацией фьючерсных контрактов, дистрибутив был обновлен.
hero member
Activity: 742
Merit: 500
Пока не opensource никому не надо, какие гарантии что это не троянец?

Потому такая вещь - мало кому нужна. Лучше проще, но с исходниками.

Надо же, народ до сих пор не отучился говорить за всех :)
Автор старался, делал работу и поделился ей с вами бесплатно, так что заслужил хотя бы уважение, пока не доказано обратное.

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

* Сам я к терминалу этому отношения не имею и его истинность не гарантирую, просто высказал мнение.
hero member
Activity: 674
Merit: 500
legendary
Activity: 1912
Merit: 1020
Опытным программистам, проще написать своего робота, что будет решать ИХ задачи. А не заморачиваться потерей времени на разборках с чужой недоделкой.
А неопытным - ВЭБ интерфейса хватает, во многих случаях.

Исходники людям нужны, сами и допилят.

Конечно я не могу утверждать, что мое решение достаточно универсальное, чтобы любые задачи решать. Но в защиту скажу, что функционала для упрощенного создания роботов уже немало:
1. Cкриптовая система для автоматической торговли, на языке Lua. Используется так-же для script orders, например запланированных заявок.
2. Скриптовая система защиты позиций, в частности реализованы гибкие трейлинг-стопы.
3. Поддержка COM-интерфейсов для торговли из внешней программы.

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

То что вы говорите про опытных программистов, вроде-бы и верно. Но когда разработчик МТС начинает вести партнерство с таким программистом, затраты на поддержку легко влетают в миллионы рублей/год. А случаев когда опытный программист сам создает качественную МТС, достаточно мало. Поэтому большинство трейдеров используют те или иные конструкторы, или торговые терминалы, причем зачастую стоящие немалых денег (Trade Station к примеру). Серьёзные продукты в исходных кодах опять-же чрезвычайное редкое исключение.
legendary
Activity: 2128
Merit: 1019
Пока не opensource никому не надо, какие гарантии что это не троянец?
С другой стороны, опытные программисты могут косвенно оценить объем вложенного труда, и понять что ради разовой троянской атаки никто так не выкладывается. У программы есть история, это не первая публичная раздача AS IS.

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

Исходники людям нужны, сами и допилят.
legendary
Activity: 2128
Merit: 1019
Пока не opensource никому не надо, какие гарантии что это не троянец?

Ну да, примерно так.
Даже если и не троянец, программа делает ту работу, что задумал ее автор.
Исправить ее под себя - без исходников не получится.

Потому такая вещь - мало кому нужна. Лучше проще, но с исходниками.
(желательно на Си Шарп  Smiley )
legendary
Activity: 1912
Merit: 1020
Обновил дистрибутив, были исправлены небольшие проблемы с автоматической торговлей.
Теперь можно пробовать запускать тестовый сценарий котировщика grid_maker на боковом рынке (позиция набирается против движения). С настройками по умолчанию будут выставлять 5 заявок по 1 контракту в бидах и асках, через шаг цены 0.1 USD.
legendary
Activity: 1912
Merit: 1020
Обновил дистрибутив, в связи с исполнением контракта BUN3. Так-же изменилась сборка оболочки (теперь 1.7.4945), подлечил мелкий баг.
В принципе можно самостоятельно отредактировать словарь инструментов в файле instrDict.conf, заменив описание для BUN3 следующим:
Code:
[BTC/USD-8.13]
Alias=BTC-MX
Board=ICBIT_1
ShortName=BUQ3
IsFuture=1
LotSize=10
Decimals=2
MinStep=1
PriceCoef=100
VolumeDecimals=0
VolumeCoef=1
TradeMoney=100
Flags=$1000
legendary
Activity: 1912
Merit: 1020
Пока не opensource никому не надо, какие гарантии что это не троянец?
Как недавно слышал в Crysis, кому нужны гарантии - покупает тостер. Весь исходный код я уж точно не смогу выложить, т.к. он не мне принадлежит (в всяком случае сама оболочка).
С другой стороны, опытные программисты могут косвенно оценить объем вложенного труда, и понять что ради разовой троянской атаки никто так не выкладывается. У программы есть история, это не первая публичная раздача AS IS.
sr. member
Activity: 322
Merit: 250
Пока не opensource никому не надо, какие гарантии что это не троянец?
legendary
Activity: 1912
Merit: 1020
Предварительная версия программы для ICBIT выложена для тестирования.
Для работы с программой необходимо ввести при первом запуске API-ключ и id пользователя. В дальнейшем каждый понедельник ключ нужно будет обновлять в файле icbit.conf, для которого создается ярлык (Auth. configuration).
Замечу что сейчас ключи авторизации попадают в логи, поэтому перед отправкой мне для изучения проблем эти логи нужно будет очищать или сразу менять ключ на новый.

legendary
Activity: 1912
Merit: 1020
Сделал сборку бета версии, можно загружать и распаковывать аналогично альфе. Обязательно замените ключ и секрет в mtapi.conf, можно на самый бесправный, иначе программа будет постоянно ошибки выдавать в консоль (с характерным звуком). К сожалению ограничения API MtGox оказались критическими и сделать хоть что-то реалтаймовое пока не получится, даже с стопами есть проблемы из-за слишком долгого получения сделок. В настоящее время буду переделывать программу под работу с ICBIT, поскольку там намного меньше тормозов и больше возможностей.
legendary
Activity: 1912
Merit: 1020
Просьба отписаться всем, у кого программа не запускается или не позволяет выставлять заявки (в нормальное время конечно, когда биржа не тормозит).
Напомню, что для включения режима активной торговли надо установить флажок "Allow orders" в меню "Trading". Для поддержки стопов/тейков осталось добавить перехват собственных сделок (из тиков), что я думаю завершить к следующей сборке.
sr. member
Activity: 421
Merit: 250
Да все заработало, завтра буду разбираться что к чему, спасибо за помощь.
legendary
Activity: 1912
Merit: 1020
avral
Все понятно, этот бы лог раньше ещё увидеть Smiley Забыл указать, что программе требуется OpenSSL Win32, я тестирование проводил с версией 1.0.1e
sr. member
Activity: 421
Merit: 250
Не стартует  Angry.

legendary
Activity: 1912
Merit: 1020
[keys]
TradeKey=TStudio Тут заполняю вместо TStudio данные с пункт 1
[TStudio]
private=20121b7b-e723-4bab-a90e-a5153a55cd71 Тут место ваших данных заполняю пнктом 2 с картинки
secret=JQsANKVC+XC1ZmRa2hnO7wRTPA0OD7AA4PQSnh67m6r14LeJ70s0LrwEcHQzr5K6VoQNcNYTBTaCaDjq+L9btw== Тут пункт 3 с картинки
Так?

В случае TradeKey=TStudio никакой связи с MtGox нет, это название секции из которой считывается private и secret. Можно сделать множество секций с разными ключами, между которыми переключаться:
Code:
[keys]
TradeKey=key1
[key1]
private=20121b7b-e723-4bab-a90e-a5153a55cd71 [color=red]Тут место ваших данных заполняю пнктом 2 с картинки[/color]
secret=JQsANKVC+XC1ZmRa2hnO7wRTPA0OD7AA4PQSnh67m6r14LeJ70s0LrwEcHQzr5K6VoQNcNYTBTaCaDjq+L9btw== [color=red] Тут пункт 3 с картинки[/color]
[key2]
private=************
secret=*******************
А в остальном все верно, если у вас только один ключ - достаточно изменить значение private и secret, ничего более не трогая.
sr. member
Activity: 421
Merit: 250

[keys]
TradeKey=TStudio Тут заполняю вместо TStudio данные с пункт 1
[TStudio]
private=20121b7b-e723-4bab-a90e-a5153a55cd71 Тут место ваших данных заполняю пнктом 2 с картинки
secret=JQsANKVC+XC1ZmRa2hnO7wRTPA0OD7AA4PQSnh67m6r14LeJ70s0LrwEcHQzr5K6VoQNcNYTBTaCaDjq+L9btw== Тут пункт 3 с картинки
Так?
legendary
Activity: 1912
Merit: 1020
avral
Мне из лога собственно нужен стек вызовов и сообщение об ошибке. Как правило оно пишется в bin\bugreport.txt и дублируется в логах программы в logs
Убедитесь, что загрузили самый свежий архив с программой, в последнем содержимое файла mtapi.conf уже определено:
Code:
[keys]
TradeKey=TStudio
[TStudio]
private=20121b7b-e723-4bab-a90e-a5153a55cd71
secret=JQsANKVC+XC1ZmRa2hnO7wRTPA0OD7AA4PQSnh67m6r14LeJ70s0LrwEcHQzr5K6VoQNcNYTBTaCaDjq+L9btw==
Это мой старый ключ, вам соответственно нужно лишь заменить его своим ключом.
sr. member
Activity: 421
Merit: 250
Я лог то могу почитать, но я не программист.

[keys]
TradeKey=
[TStudio]
private=
secret=

Две нижние строчки я правлю под себя ключами с моего аккаунта с гокса, скажите пожалуйста что еще нужно сделать что бы программа запустилась? А то она при запуске сразу же вылетает. Может еще какой файл править кроме mtapi.conf?
legendary
Activity: 1912
Merit: 1020
Вот такое получается:
пробовал с двух компьютеров под win7 32, и под win7 64 тоже самое.
В логах могут быть подробности. Ошибки с filemapping по идее должны обрабатываться.
Как оказалось с самой последней сборкой, я по забывчивости расшарил свой API ключ. Теперь все права касающиеся торговли с него убраны, рекомендую использовать собственные ключи.
Несколько заявок выставил какой-то анонимус, даже удивился поначалу что-то это. Видимо у кого-то запускается программа )
Окно с позициями по деньгам и валютным парам можно открыть через меню View->Show Instruments.
sr. member
Activity: 421
Merit: 250
Вот такое получается:

пробовал с двух компьютеров под win7 32, и под win7 64 тоже самое.
legendary
Activity: 1912
Merit: 1020
Вопрос: только эти строки нужно править в mtapi.conf

private=
secret=
Пока только эти. Логин и пароль в дальнейшем будут расшифровывать ключ и секрет, а то меня не радует когда такие вещи открытым текстом хранятся. В любом случае стоит помнить, если злоумышленник имеет доступ к вашей системе, он не только файл может вытащить, но и кейлоггер поставить скрытый.

Если программа продолжит вылетать, закинь содержимое папки logs архивом мне на . API ключ при этом можно забанить, чтобы не было подозрений (подписанные сообщения выводятся в лог). Так-же от вылетов могут возникать отчеты в папке bin, вроде bugreport.txt
sr. member
Activity: 421
Merit: 250
Апну тему, актуально
sr. member
Activity: 421
Merit: 250
Вопрос: только эти строки нужно править в mtapi.conf

private=
secret=

или же еще нужно править вот это в connections.conf

Login=
Password=
?
Или еще что то нужно сделать, а то никак не стартует.
legendary
Activity: 1912
Merit: 1020
Ни в чем не обвиняю, просто интересно на что ругается?
Действительно интересно, у меня стоит Microsoft Security Essentials и никаких жалоб нет. В 10:00 обновил архив, устранены некоторые проблемы с запуском под Windows XP.
На tstudio.exe ругнулся один Clam.AV, так-же и на библиотеку MtGoxBTI что наверное можно списать на ошибку эвристического анализа. Но на всякий случай стоит запускать программу с ограниченными правами пользователя, и наблюдать за сетевой активностью (по идее только к mtgox должны подключения инициироваться). Если стоит достаточно продвинутый антивирус, он должен подозрительную деятельность выявить: попытка чего-либо с автозагрузкой сделать, модификация исполняемых файлов.
sr. member
Activity: 421
Merit: 250
Ни в чем не обвиняю, просто интересно на что ругается?
legendary
Activity: 1912
Merit: 1020
Файлы программы были обновлены, теперь содержимое стаканов сбрасывается при переподключении (а они к сожалению довольно частые). В первой сборке происходило некрасивое перемешивание бидов и асков, теперь-же такого практически не происходит.

Для тех кто не разобрался с запуском: надо запустить файл C:\Trade\TStudio\bin\tstudio.exe
В случае каких-либо проблем с запуском, просьба сообщить. Уже известны случаи, когда программа не запускается в Windows XP.
Для ознакомления с интерфейсом рекомендую вводный ролик, который снимался ещё во времена работы исключительно с FORTS.


Сообщения программы можно мониторить в консоли, потоки которой переключаются из меню:

Например в консоли 1 выводятся сообщения от библиотеки MtGoxBTI, в частности дампятся все сделки биржи:



legendary
Activity: 1912
Merit: 1020
До недавнего времени программа позволяла торговать только фьючерсы, и только на бирже FORTS. Теперь реализован протокол MtGox, пускай с минимальной функциональность, и вероятно отчасти программа совместима так-же с биржей ICBIT, а протокол BTC-E будет проработан несколько позже. Соответственно требуется альфа-тестирование, по мере дальнейшей разработки.

Дистрибутив пока не стал делать, выложил архив который нужно распаковать в корень диска C: (чтобы получилось C:\TStudio), или любое другое место и тогда придется в tstudio.conf поправить путь.
Чтобы из программы можно было торговать, нужно задать API ключ и Secret в файле mtapi.conf. Все конфигурационные файлы хранятся в TStudio\conf и редактируются блокнотом. Рекомендую экспериментировать с отдельного аккаунта MtGox, на минимальных деньгах.
Когда биржа перегружена, программа может сбоить весьма и весьма часто, вплоть до полного вылета. В такие моменты бесполезно пытаться торговать из неё, ибо теряются заявки из-за внутренних таймаутов.
В продукте Trade Studio разделяется моя интеллектуальная собственность (библиотека MtGoxBTI.TDR) и корпоративная - собственно сама оболочка. В составе MtGoxBTI используется библиотека sgcWebSockets, в которую мной были внесены изменения для работы Socket.IO через IndySSL (купил исходники для этого). Для своей библиотеки я в обозримом времени выложу большую часть исходного кода, при том что часть обработки протокола и без того открытая в скрипте MtGoxBTI.lua. Сама программа останется вероятно закрытой надолго. В любом случае все распространяется бесплатно, по принципу AS IS и без каких-либо гарантий. Помочь разработке можно будет донейтами на кошельки компании и мой личный.

Документации на программу ещё нет, поэтому некоторую информацию можно найти в ветке форума старой версии программы. Стаканы сейчас заполняются только в режиме обновления, поэтому медленному заполнению их котировками не стоит удивляться (получение full depth в проекте). Согласно текущим настройкам заявки агреггируются, чтобы цена имела всего два знака после запятой - таким образом избыточность маленького шага цены MtGox хотя-бы отчасти компенсируется.

Все вопросы пожалуйста задавайте сюда, атаковать ЛС бессмысленно.

[edited]
Важно: Для работы программы необходимо установить OpenSSL Win32, например версии 1.0.1e

Jump to: