Всем привет.
Рынок сейчас скучный для нас. Ручная торговля стала настолько медленной, что в голову стали лесть всякие дурные мысли )))
Если вы помните, то с начала года мы запустили проект по пересадки наших роботов на ARM процессоры и работу их под операционной системой Linux. Эта миссия завершилась успешно.
И вот, сидя очередной день и смотря на то, как РТС пилит в коридоре 500пп мы стали мечтать и вспоминать как хотелось бы изначально торговать из под Linux. Ну гики мы, что поделать ))) Помнится, как многие юзвери на каждом форуме брокера задают один и тот же вопрос. Есть ли терминал под Linux? Да и шеф тут недавно озадачился тем, что оси наши winXP как бы уже устарели. А пересаживаться на десятку или что то другое из мира виндовс уже ну совсем не хочется...
Прикинув палец к носу, и поняв, что 60% для осуществления этой мечты у нас уже готово, стали думать. Считать. Сравнивать. Оказалось, что в офисе всего две машины под виндой. Это непосредственно сервер рискменеджера с квиком. И одна машина с приводом на которой совершаются сделки руками. Хм…
Рискменеджер это собственно связка квик + программа на дотнете.
Торговый терминал это связка квик + привод на дотнете.
Как то не шибко все… Но пересесть на Linux уже захотелось принципиально. Конечно, можно запустить квик под Wine и радоваться жизни. И это была первая идея. И даже опробована на ноутбуке. Все работает отлично, и это радует. Но дело не в квике, а в программе рискменеджера и привода.
Что делать? Все запустить под вайном? Слишком просто и не по гиковски )) Решили так:
— Оставляем Квик под вайном.
— Правим на питоне сервер который сейчас готовый для роботов, что бы мог работать и с приводом и с чартом.
— Пишем Lua скрипт TCP клиент к серверу, который будет давать и получать все нужные биржевые данные и размещать заявки
— Пишем консольный привод на питоне. Да да, именно консольный ) что бы по полной жести. Что бы можно было по ssh залезть на сервер с мобилки и торговать без всяких там андроидквиков.
Ну и конечно это не было бы полным *****, если бы мы не попытались запустить это все на малинке! Так и сделаем. Квик на малинке под вайном и сервер на питоне! Консольный привод на рабочей машине под Linux. Ибо 4 моника надо )) а к малинке напряхно их цеплять.
Цель — К концу года 100% осей в офисе Linux.
Если интересно, что получится, ставьте плюсы, будем постить ход дел )
Всем профитов!
Новое направление дотнет коре смотрели. Даже ставили студию под линухой новую. Потыкали. Но не стали углубляться. Так как цель как раз уйти от продуктов фирмы, которая так яро борется за монополию и закрытый код. Да и вообще уже надоели эти мелкомягкие ( Гибкости с ними мало. Если уж уходить на Linux то полный натив или интерпретаторы. Так как натив долго писать и отлаживать. Решили взять второе. Все па питоне. Да и написано на нем уже достаточно под наши нужды. И править удобно ) Был случай, что обнаружилась ошибка в одном роботе. Так я прямо из дома с мобилки по ssh залез, открыл в редакторе код, поправил, сохранил и перезапустил робота. Красота. Об этом можно целую отдельную историю написать.
зато всякие рюшечки фреймворков доступны =).
Вобщем копаем в сторону простоты. Код питона можно запускать почти на всем, видна, мак, линукс, арм процы… это сейчас вжно. Так как мы плотно подсели на малики. Очень зачетные девайсы. Боюсь дот нет для них тяжеловат, если вообще взлетит.
www.roboforex.ru/trading-accounts/download/metatrader4-mt4-for-linux
Единственное что худо бедное нашел на тему МТ5 и линукс. Можт хоть как то поможет)
К счастью нет нужды больше использовать quik
рабочий стол с ярлыками приводов. год 2013 вроде.
8ку как увидел так плохо стало) всем знакомым устанавливаю 7ку где эт возможно. Где нет, там хозяев посылаю лесом ибо ничто не заставит меня прикоснуться к этому исчадию ада)
10ку даж не видел, и не хочу)))
Анатолий И. Хоть и линуксоид, но соглашусь)
10ка винды меня тут расстроила внезапным перезагрузом.
оказывается он теперь принудительный при обновлениях и просто так его не отключить.
а когда я стал спрашивать об этом на форуме винды и сказал что у меня винда стоит на компьютере куда я подключаюсь только удалённо
мне заявили что я пират, потому что лицензионное соглашение для 10ки содержит строки
1. безусловное согласие пользователя на установку любых обновлений windows
2. безусловный запрет пользователю на использование windows только из под удалённых подключений (remote desktop)
так что windows 10, даже Pro — теперь это просто для ноутбуков и всё. причём я бы сказал что для корпоративных, которые веерами обновления устанавливают.
тоже задумался о Wine, Docker и прочих штуках.
а TCP сервер под Lua я уже сделал. и даже переписал его с Lua на С++ чтоб избавиться от накладных расходов интерпретатора.
заявки правда пока отправляю по старинке, через trans2quik.dll
но это не главное сейчас.
из всего этого перехода концептуально интересно
а) будет ли квик хоть чуточку быстрее или всё-таки ещё медленнее
б) как нормально работать с линуксом удалённо из под винды, а ля RDP, хотя кажется я так делал, через X-Server, но тыщу лет назад
в) чёрная тема квика под Wine нифига не работает. а без неё грустно
ПBМ, да, подключение к Linux чтобы была нормальная граф. оболочка — это основной гемор сейчас.
Если найдете толковый хауту — скиньте линк плиз.
RDP там много разных приложений, можно на свой вкус выбрать.
на линухе поднимаете vnc сервер, на винде ставите vnc клиент. И впуть.
нам с этим проще. Квик используем непосредственно как датафид. Чарт свой написанный для анализа, привод свой для ввода заявок и отслеживания позиций. Квик стоит на рискменеджер сервере. На рабочей машине даже видеть его небудем.
Если у Вас всего две утилиты под дотнетом, Вы можете переписать интерфейс взаимодействия с Квиком на TCP и потом попробовать запустить их под Mono.
По моему опыту Mono очень прилично работает даже в таких извращенных сценариях, про какие я бы ни в жизнь не подумал.
Кроме WPF, конечно.
Разумеется консольных!!! (не жрут НИЧЕГО!!!)
ЮЮЮЮха!!!
Ребят, вы молодцы, успехов вам и не сдаваться!
На самом деле понятно почему мало подобных людей как вы. Уж больно многие считают, что есть только одна операционная система) И этот самокат им не нужен.
Сам планировал заняться похожей задачей, только хотел забирать данные из Quik'а через библиотечку на C, которая бы данные передавала моему серверу черерз shared memory.
Поэтому стало интересно как клиентом на QLua, который работает через http, получает заявки от сервера? Клиент периодически опрашивает сервер на наличие торговых комманд или используется COMET?
Разработка в Visual Studio.
И я так понимаю, пишете в студии а потом просто компилите отлаженный код под линухой?