<HELP> for explanation

Блог им. Svips

Дело было вечером, делать было нечего. Или торгуем из под Linux

dirextrade
Всем привет.

Рынок сейчас скучный для нас. Ручная торговля стала  настолько медленной, что в голову стали лесть всякие дурные мысли )))
Если вы помните, то с начала года мы запустили проект по пересадки наших роботов на ARM процессоры и работу их под операционной системой Linux. Эта миссия завершилась успешно.

И вот, сидя очередной день и смотря на то, как РТС пилит в коридоре 500пп мы стали мечтать и вспоминать как хотелось бы изначально торговать из под Linux. Ну гики мы, что поделать ))) Помнится, как многие юзвери на каждом форуме брокера задают один и тот же вопрос. Есть ли терминал под Linux? Да и шеф тут недавно озадачился тем, что оси наши winXP как бы уже устарели. А пересаживаться на десятку или что то другое из мира виндовс уже ну совсем не хочется...

Прикинув палец к носу, и поняв, что 60% для осуществления этой мечты у нас уже готово, стали думать. Считать. Сравнивать. Оказалось, что в офисе всего две машины под виндой. Это непосредственно сервер рискменеджера с квиком. И одна машина с приводом на которой совершаются сделки руками. Хм…

Рискменеджер это собственно связка квик + программа на дотнете.
Торговый терминал это связка квик + привод на дотнете.

Как то не шибко все… Но пересесть на Linux уже захотелось принципиально. Конечно, можно запустить квик под Wine и радоваться жизни. И это была первая идея. И даже опробована на ноутбуке. Все работает отлично, и это радует. Но дело не в квике, а в программе рискменеджера и привода.

Что делать? Все запустить под вайном? Слишком просто и не по гиковски )) Решили так:
  — Оставляем Квик под вайном.
  — Правим на питоне сервер который сейчас готовый для роботов, что бы мог работать и с приводом и с чартом.
  — Пишем Lua скрипт TCP клиент к серверу, который будет давать и получать все нужные биржевые данные и размещать заявки
  — Пишем консольный привод на питоне. Да да, именно консольный ) что бы по полной жести. Что бы можно было по ssh залезть на сервер с мобилки и торговать без всяких там андроидквиков.

Ну и конечно это не было бы полным *****, если бы мы не попытались запустить это все на малинке! Так и сделаем. Квик на малинке под вайном и сервер на питоне! Консольный привод на рабочей машине под Linux. Ибо 4 моника надо )) а к малинке напряхно их цеплять.

Цель — К концу года 100% осей в офисе Linux.

Если интересно, что получится, ставьте плюсы, будем постить ход дел )
Всем профитов!
 

слово дотнет прозвучало. имелось ввиду шарп? или новое направление шарпа для линуха?
avatar

Андрей К

Андрей К, Да шарп. Все написано было еще в 2011 году.
Новое направление дотнет коре смотрели. Даже ставили студию под линухой новую. Потыкали. Но не стали углубляться. Так как цель как раз уйти от продуктов фирмы, которая так яро борется за монополию и закрытый код. Да и вообще уже надоели эти мелкомягкие ( Гибкости с ними мало. Если уж уходить на Linux то полный натив или интерпретаторы. Так как натив долго писать и отлаживать. Решили взять второе. Все па питоне. Да и написано на нем уже достаточно под наши нужды. И править удобно ) Был случай, что обнаружилась ошибка в одном роботе. Так я прямо из дома с мобилки по ssh залез, открыл в редакторе код, поправил, сохранил и перезапустил робота. Красота. Об этом можно целую отдельную историю написать.
avatar

Svips

Svips, на коре теперь тоже открыто все =)) тоже можно по ssh за коннектиться и поменять. gui у меня нет. Но если открыть список запущенных процессов и сверить ресурсы процессов шарпа против ресурсов си, это просто провал =))
зато всякие рюшечки фреймворков доступны =). 
avatar

Андрей К

Андрей К, Ну это да… За рюшечками мы как таковыми не гонимся. Наобород фанатеем от консоли )) Сегодня закончил наброски привода. Заглядение )
Вобщем копаем в сторону простоты. Код питона можно запускать почти на всем, видна, мак, линукс, арм процы… это сейчас вжно. Так как мы плотно подсели на малики. Очень зачетные девайсы. Боюсь дот нет для них тяжеловат, если вообще взлетит.
avatar

Svips

авантюристы. в хорошем смысле )
avatar

kotmatroskin

kotmatroskin, Чего не сделаешь от скуки ;)
avatar

Svips

Как linux-админ с 16-тилетным стажем — плюсану!
avatar

Lev

Lev, + + + )
avatar

Svips

абалдеть — трейдеры под линуксом! Они существуют))
avatar

AlexStringer

AlexStringer, Еще пока нет )) Пока только роботы. Но этим никого не удивишь. Но надеюсь через месяц, другой к НГ и мы пересядем и вот тогда… )) Скриншотами поделимся, может видео запишем. А может и еще чего )))
avatar

Svips

Svips, Переодически торгую на втором компе с линуха) Правда использую не квик) В свое время так и не получилось его прикрутить в вайне, скок не старался.
avatar

AlexStringer

AlexStringer, Странно, у нас с первого раза взлетел. Аж сами удивились. А что за софт на котором торгуете из под линухи? Мы сколько не искали, ничего не нашли внятного — живого.
avatar

Svips

Svips, изискальп использую вместе со смартиксом, торговым терминалом. Под вайном конечно. Квик пытался давно прикрутить, года четыре назад, демку для ознакомления с самим терминалом. Не помню уже в чем была проблема. Знаю еще что есть форексовский терминал под названием РУМУС, писаный спецом под линь. От какой то русской кухни.
avatar

AlexStringer

AlexStringer, Да, про Румус слышали. Если не ошибаюсь, то он благополучно и загнулся… А возможно жаль. По поводу смартХ, ясненько. Мы, кстати, именно из-за смартТрейда и смарткома, так долго и не переходили на линуху. Но как только брокер сказал что сервера смартТрейда и смарткома2 глушит мы уже и решились окончательно. Сначала за пару недель полностью пересели на Квик. А теперь и на линуху. Ибо переходить на смартХ вообще не хотелось, совсем он не для нас (((( Да и сервера у них одно падают, одно слово — матрица )))
avatar

Svips

Svips, может быть и загнулся, не следил) честно говоря, в те времена накатывалось на линь все маломальски связанное с торговлей. На тему заработает не заработает. Ради эксперемента)) МТ какой то вроде был еще под линь кстати.
avatar

AlexStringer

AlexStringer, Хм, про МТ только под вайном слышали. Интересно.
avatar

Svips

Svips, я наврал, сорь. под вайном. 


www.roboforex.ru/trading-accounts/download/metatrader4-mt4-for-linux
avatar

AlexStringer

AlexStringer, МТ5 вообще никак не хочет под Линукс идти. Из за ssh и сертификатов. Буду благодарен, если эту проблему кто решил.
avatar

Андрей К

Андрей К, http://smart-lab.ru/blog/241756.php

Единственное что худо бедное нашел на тему МТ5 и линукс. Можт хоть как то поможет)
avatar

AlexStringer

AlexStringer, у меня quik в wine сразу  заработал, но надо правильно ему кодировку передать (там внутри какой-то говнокод, кусками на юникоде, кусками на 1251). Ну и очень сильно жрёт проц, все 100%.
К счастью нет нужды больше использовать quik
avatar

Lev

Lev, да я уже понял, что дело было в моем недостатке желания) 
avatar

AlexStringer

Lev, Да, кодировку решили скриптом запуска *.sh который сразу ему прописывает кодировку. А по поводу 100% проца. Это да, почему то иногда, не стабильно возспроизводится, один из процессов winros уходит в разнос и утягивает за собой одно ядро. Решается тупым убийством этого процесса. На работу квика никак не сказывается. Коньки на рабочий стол с загрузкой ЦП и как только видим 100% ядра, то грохаем его и все.
avatar

Svips

Svips, дада, вы всё точно описали, у меня аналогичная картина
avatar

Lev

Lev, А на что ушли с квика? Если не секрет.
avatar

Svips

Svips, да какие там секреты! Я торгую в SaxoBank, использую веб-терминал, так что нативно под linux
avatar

Lev

Lev, А, ясно. Да, тоже решение.
avatar

Svips

AlexStringer, даёшь трейдинг из консоли Free BSD!
avatar

kotmatroskin

kotmatroskin, если там есть питон, то без вопросов )

avatar

Svips

kotmatroskin, Только Юникс — Только Хардкор!!!
avatar

AlexStringer

Звучит оно хорошо… только вот питон, скрипты, связки, как то все это не тру… :)
avatar

Denis

Denis, Да, от части так оно и есть. Но у нас временем проверено на роботах. Вроде стабильно. Благо в квике появился Lua, он очень выручил.
avatar

Svips

что за птичий язык? Ничего не понятно
avatar

Goreloff

Goreloff, Вы про наш русский? Сорри )
avatar

Svips

tradernet.ru и торгуй с чего угодно)
avatar

Алексей Курт

Алексей Курт, Спасибо, но вебплатформы не рассматриваем. TradingView предлагали уже ) Они круче )
avatar

Svips

 i78.fastpic.ru/big/2016/1014/7e/7e1ba50821291ed40fe7e6061143257e.png

рабочий стол с ярлыками приводов. год 2013 вроде.
avatar

AlexStringer

Ну я так понимаю, вам просто удобнее под Линуксом. Но я слабо представляю, зачем прочим роботописателям линукс. Неужели прога на плюсах под Линуксом даст выигрыш хотя бы  100 микросекунд по сравнению с виндой? что-то сомневаюсь
avatar

broker25

broker25, Да, дело именно в удобстве. Выигрыша никакого нет, уже темболее в микросекундах ))) Ну и плюс более защищена сама ось. В остальном кому как.
avatar

Svips

broker25, смотря какая архитектура, если на машине только роботы крутятся, то можно :) сервер замутить на распбери пи запустить %)
avatar

Denis

Denis, Уже работает ;)
avatar

Svips

broker25, общаюсь с компьютерами со времен доса. Видел много осей. естессно, как и любой ламер на линь пришел с винды. С хрюши. лет 10 проработал в линуксе. После чего пересев однажды на семерку понял, что я не могу в ней нормально разобраться. И по сути познавал все заново.
avatar

AlexStringer

AlexStringer, Такая же проблема. Поэтому и сидим на ХП, ни семерка и уж тем более 8 или 10 винда ну вообще никак не идет нам (
avatar

Svips

Svips, ну семерку я поборол, худо-бедно. пришлось, некрософт заставил)) 

8ку как увидел так плохо стало) всем знакомым устанавливаю 7ку где эт возможно. Где нет, там хозяев посылаю лесом ибо ничто не заставит меня прикоснуться к этому исчадию ада) 

10ку даж не видел, и не хочу)))

avatar

AlexStringer

Svips, семерка нормальная система ничем не хуже xp.
avatar

Анатолий И.

Анатолий И., Не спорю. Просто привыкнуть надо.
avatar

Svips

Анатолий И. Хоть и линуксоид, но соглашусь)

avatar

AlexStringer

10ка винды меня тут расстроила внезапным перезагрузом.
оказывается он теперь принудительный при обновлениях и просто так его не отключить.
а когда я стал спрашивать об этом на форуме винды и сказал что у меня винда стоит на компьютере куда я подключаюсь только удалённо
мне заявили что я пират, потому что лицензионное соглашение для 10ки содержит строки
1. безусловное согласие пользователя на установку любых обновлений windows
2. безусловный запрет пользователю на использование windows только из под удалённых подключений (remote desktop)
так что windows 10, даже Pro — теперь это просто для ноутбуков и всё. причём я бы сказал что для корпоративных, которые веерами обновления устанавливают.

тоже задумался о Wine, Docker и прочих штуках.
а TCP сервер под Lua я уже сделал. и даже переписал его с Lua на С++ чтоб избавиться от накладных расходов интерпретатора.
заявки правда пока отправляю по старинке, через trans2quik.dll

но это не главное сейчас.

 

из всего этого перехода концептуально интересно
а) будет ли квик хоть чуточку быстрее или всё-таки ещё медленнее
б) как нормально работать с линуксом удалённо из под винды, а ля RDP, хотя кажется я так делал, через X-Server, но тыщу лет назад
в) чёрная тема квика под Wine нифига не работает. а без неё грустно

avatar

ПBМ

ПBМ, да, подключение к Linux чтобы была нормальная граф. оболочка — это основной гемор сейчас.

 

Если найдете толковый хауту — скиньте линк плиз.

avatar

ch5oh

ПBМ, playonlinux можно вместо вайна еще попробовать =)
RDP там много разных приложений, можно на свой вкус выбрать.
avatar

Mister KoK

ПBМ, +100500
avatar

Svips

ПBМ, б) как нормально работать с линуксом удалённо из под винды, а ля RDP, хотя кажется я так делал, через X-Server, но тыщу лет назад

на линухе поднимаете vnc сервер, на винде ставите vnc клиент. И впуть.
avatar

Svips

Svips, VNC тормозит ужасно. Увы, не вариант.
avatar

ch5oh

ch5oh, Есть такое. Видно потому что, все картинками шлет. Мы поэтому и пишем отдельно привод и чарт, что бы могли сами по TCP забирать все что нужно. ЧТо бы не нужно было получать доступ к рабочему столу линукс.
avatar

Svips

ch5oh, Как вариант может еще попробовать линуху как терминальный сервер… Но хз, это уже в полубреде пишу. Наверное не пойдет.
avatar

Svips

ПBМ, в) чёрная тема квика под Wine нифига не работает. а без неё грустно

нам с этим проще. Квик используем непосредственно как датафид. Чарт свой написанный для анализа, привод свой для ввода заявок и отслеживания позиций. Квик стоит на рискменеджер сервере. На рабочей машине даже видеть его небудем.
avatar

Svips

круто чё!  молодцы!
Алексей Никитин, Спасибо. )
avatar

Svips

Хотел сперва плюс поставить, но рука дрогнула когда дочитал до конца.
avatar

Cristopher Robin

Если у Вас всего две утилиты под дотнетом, Вы можете переписать интерфейс взаимодействия с Квиком на TCP и потом попробовать запустить их под Mono.

 

По моему опыту Mono очень прилично работает даже в таких извращенных сценариях, про какие я бы ни в жизнь не подумал.

Кроме WPF, конечно.

avatar

ch5oh

ch5oh, Да, и такие мысли были. Но желание переписывать под моно отвалилось когда узнали, что моно вроде как еще не поддерживает GDI. А также, что наши прилаги отлично работают и под вайном, как оказалось. Поэтому чарт мы оставим дотнетовский под вайном. А привод перепишем, чтобы можно было им пользоваться по ssh. Ну и риск перепишем тоже под консоль. Ибо нефиг ему ))
avatar

Svips

а мы с сыном уже сделали ботов (гоняю пока на демо, ищу фокусы) под линуксом (моно, си шарп) в Алоре. На Атентисе.
Разумеется консольных!!! (не жрут НИЧЕГО!!!)
ЮЮЮЮха!!!
avatar

baron_samedi

baron_samedi, Зачет! )
avatar

Svips

:), Зачет! ))))
avatar

Svips

 Линуксоида встретить в России — возможно. Но встретить трейдера-линуксоида, это как слона на Красной площади в Москве))

Ребят, вы молодцы, успехов вам и не сдаваться!   
avatar

AlexStringer

AlexStringer, Спасибо! Будем стараться. Кто знает, возможно народ подтянется и на нашем опыте и движение какое сформируется. Да брокеры наконец возьмутся за нормальный нативный терминал под линукс. Кстати, мы не однократно писали некоторым, которые свое апи предоставляют, что мы готовы взяться за натив под линукс. Но в ответ тишина ((
avatar

Svips

Svips, А если попробовать выйти на создателей того же Румуса?) И на его основе, изобразить чтото стоящее. Для чего то же они его написали)
На самом деле понятно почему мало подобных людей как вы. Уж больно многие считают, что есть только одна операционная система) И этот самокат им не нужен.
avatar

AlexStringer

Шрифты на линуксе как были говенного качества так и остались.
Багатенький Буратина, Мы это решаем просто. Просто берем папку fonts из winXP и копируем ее в папку юзверя линукса .fonts и вуаля… Так как наш чарт юзает шрифты винды, и мы тоже к ним привыкли, то таким простым способом для нас визуально ничего не изменилось.
avatar

Svips

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

Изя come изя go

Изя Квикович, Да, смотрели в эту сторону еще в 2014 году, когда серьезно встал вопрос об использовании квика. Но тут как это часто бывает, перевесила финансовая составляющая вопроса. Для нашей целей скоростя, которые дает плаза, не важны. Роботы и уже темболее ручная торговля справляется нормально и с квиком. А платить от 4000 до 7000р в месяц только за полный натив на линуксе, ну как то не хочется. Возможно вбудущем, когда квик сделает очередное обновление, после чего поломается все… Так и поступим. Это действительно хорошее, профессиональное решение.
avatar

Svips

Svips, вдохновился полным переездом на Linux в контексте трейдинга: просто респект!
Сам планировал заняться похожей задачей, только хотел забирать данные из Quik'а через библиотечку на C, которая бы данные передавала моему серверу черерз shared memory.
Поэтому стало интересно как клиентом на QLua, который работает через http, получает заявки от сервера? Клиент периодически опрашивает сервер на наличие торговых комманд или используется COMET?
avatar

Cheshire Cat

Cheshire Cat, Ответил ниже )
avatar

Svips

Клиент на луа шлет кучу данных серверу, начиная с ленты и заканчивая стаканом. В этом плане, получается достаточно плотно пингует сервер. После кажой транзакции смотрит что ему ответил сервер. Если ничего то переходит к следующей транзакции. Если что-то есть, то обрабатывает. На данный момент так. Дальше посмотрим, возможно что то поменяем, если не будет устраивать. Клинет не совсем через http работает. Даже скорее совсем  не через http. Сервер на питоне, клиент налуа поднимает свой сокет и конектится к серверу на питоне прямо из под квика.
avatar

Svips

Svips, интересное решение — вместо периодических запросов к серверу получать команды в ответ на постоянно передаваемые данные ;-) Плюсую! Да, http тут не нужен, соглашусь.
avatar

Cheshire Cat

Торговля — консоль CentOS, C++, onload — все чтобы выжать минимум latency и обезопасить себя от фризов.
Разработка в Visual Studio.
avatar

ELab

ELab, а как данные передаются из события onLoad к «серверу», который выполняет вычисления? Тоже через сетевой интерфейс?
avatar

Cheshire Cat

Cheshire Cat, onload это команда для карт Solarflare, которая загружает Solarflare карту и позволяет максимально снизить задержки
avatar

ELab

ELab, Робот или ручная торговля? Если ручная, и не секрет «графического интерфейса», то рады были бы взглянуть на скриншот. Свои тоже выложим в следующей статье.

И я так понимаю, пишете в студии а потом просто компилите отлаженный код под линухой?
avatar

Svips

Svips, да. графического интерфейса на сервере нет — только командная строка. кнчно, не ручная — какой смысл так заморачиваться?
avatar

ELab

Я думал цель у трейдера — прибыль а не подрочить в Линукс и кончить в малинку…
avatar

Nepall


Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

Залогиниться

Зарегистрироваться
....все тэги
Регистрация
UPDONW