Svips
Svips личный блог
14 октября 2016, 16:51

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

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

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

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

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

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

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

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

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

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

Если интересно, что получится, ставьте плюсы, будем постить ход дел )
Всем профитов!
81 Комментарий
  • Андрей К
    14 октября 2016, 17:00
    слово дотнет прозвучало. имелось ввиду шарп? или новое направление шарпа для линуха?
      • Андрей К
        14 октября 2016, 17:11
        Svips, на коре теперь тоже открыто все =)) тоже можно по ssh за коннектиться и поменять. gui у меня нет. Но если открыть список запущенных процессов и сверить ресурсы процессов шарпа против ресурсов си, это просто провал =))
        зато всякие рюшечки фреймворков доступны =). 
  • kotmatroskin
    14 октября 2016, 17:04
    авантюристы. в хорошем смысле )
  • Lev
    14 октября 2016, 17:14
    Как linux-админ с 16-тилетным стажем — плюсану!
  • абалдеть — трейдеры под линуксом! Они существуют))
      • Svips, Переодически торгую на втором компе с линуха) Правда использую не квик) В свое время так и не получилось его прикрутить в вайне, скок не старался.
          • Svips, изискальп использую вместе со смартиксом, торговым терминалом. Под вайном конечно. Квик пытался давно прикрутить, года четыре назад, демку для ознакомления с самим терминалом. Не помню уже в чем была проблема. Знаю еще что есть форексовский терминал под названием РУМУС, писаный спецом под линь. От какой то русской кухни.
              • Svips, может быть и загнулся, не следил) честно говоря, в те времена накатывалось на линь все маломальски связанное с торговлей. На тему заработает не заработает. Ради эксперемента)) МТ какой то вроде был еще под линь кстати.
        • Lev
          14 октября 2016, 18:21
          AlexStringer, у меня quik в wine сразу  заработал, но надо правильно ему кодировку передать (там внутри какой-то говнокод, кусками на юникоде, кусками на 1251). Ну и очень сильно жрёт проц, все 100%.
          К счастью нет нужды больше использовать quik
          • Lev, да я уже понял, что дело было в моем недостатке желания) 
            • Lev
              14 октября 2016, 21:53
              Svips, дада, вы всё точно описали, у меня аналогичная картина
            • Lev
              15 октября 2016, 00:02
              Svips, да какие там секреты! Я торгую в SaxoBank, использую веб-терминал, так что нативно под linux
    • kotmatroskin
      14 октября 2016, 17:31
      AlexStringer, даёшь трейдинг из консоли Free BSD!
  • CloseToAlgoTrading
    14 октября 2016, 17:28
    Звучит оно хорошо… только вот питон, скрипты, связки, как то все это не тру… :)
  • Goreloff
    14 октября 2016, 17:35
    что за птичий язык? Ничего не понятно
  • Алексей Курт
    14 октября 2016, 17:37
    tradernet.ru и торгуй с чего угодно)
  •  i78.fastpic.ru/big/2016/1014/7e/7e1ba50821291ed40fe7e6061143257e.png

    рабочий стол с ярлыками приводов. год 2013 вроде.
  • broker25
    14 октября 2016, 17:47
    Ну я так понимаю, вам просто удобнее под Линуксом. Но я слабо представляю, зачем прочим роботописателям линукс. Неужели прога на плюсах под Линуксом даст выигрыш хотя бы  100 микросекунд по сравнению с виндой? что-то сомневаюсь
    • CloseToAlgoTrading
      14 октября 2016, 17:55
      broker25, смотря какая архитектура, если на машине только роботы крутятся, то можно :) сервер замутить на распбери пи запустить %)
    • broker25, общаюсь с компьютерами со времен доса. Видел много осей. естессно, как и любой ламер на линь пришел с винды. С хрюши. лет 10 проработал в линуксе. После чего пересев однажды на семерку понял, что я не могу в ней нормально разобраться. И по сути познавал все заново.
        • Svips, ну семерку я поборол, худо-бедно. пришлось, некрософт заставил)) 

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

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

        • Анатолий И.
          14 октября 2016, 21:39
          Svips, семерка нормальная система ничем не хуже xp.
  • П М
    14 октября 2016, 17:52

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

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

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

     

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

    • ch5oh
      14 октября 2016, 18:46

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

       

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

    • Mister KoK
      14 октября 2016, 20:27
      ПBМ, playonlinux можно вместо вайна еще попробовать =)
      RDP там много разных приложений, можно на свой вкус выбрать.
      • ch5oh
        14 октября 2016, 22:55
        Svips, VNC тормозит ужасно. Увы, не вариант.
  • Алексей Никитин
    14 октября 2016, 17:58
    круто чё!  молодцы!
  • Cristopher Robin
    14 октября 2016, 18:44
    Хотел сперва плюс поставить, но рука дрогнула когда дочитал до конца.
  • ch5oh
    14 октября 2016, 18:44

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

     

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

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

  • baron_samedi
    14 октября 2016, 19:33
    а мы с сыном уже сделали ботов (гоняю пока на демо, ищу фокусы) под линуксом (моно, си шарп) в Алоре. На Атентисе.
    Разумеется консольных!!! (не жрут НИЧЕГО!!!)
    ЮЮЮЮха!!!
  •  Линуксоида встретить в России — возможно. Но встретить трейдера-линуксоида, это как слона на Красной площади в Москве))

    Ребят, вы молодцы, успехов вам и не сдаваться!   
      • Svips, А если попробовать выйти на создателей того же Румуса?) И на его основе, изобразить чтото стоящее. Для чего то же они его написали)
        На самом деле понятно почему мало подобных людей как вы. Уж больно многие считают, что есть только одна операционная система) И этот самокат им не нужен.
  • 🗝Багатенький Буратина
    14 октября 2016, 22:23
    Шрифты на линуксе как были говенного качества так и остались.
  • Изя 3%
    14 октября 2016, 22:34
    Если прям по серьезному, подключитесь по нативным интерфейсам плаза, астс. под линукс есть сейчас все библиотеки. от винды даже духа в виде вайна не останется. :)
  • Cheshire Cat
    15 октября 2016, 15:46
    Svips, вдохновился полным переездом на Linux в контексте трейдинга: просто респект!
    Сам планировал заняться похожей задачей, только хотел забирать данные из Quik'а через библиотечку на C, которая бы данные передавала моему серверу черерз shared memory.
    Поэтому стало интересно как клиентом на QLua, который работает через http, получает заявки от сервера? Клиент периодически опрашивает сервер на наличие торговых комманд или используется COMET?
    • Cheshire Cat
      16 октября 2016, 20:21
      Svips, интересное решение — вместо периодических запросов к серверу получать команды в ответ на постоянно передаваемые данные ;-) Плюсую! Да, http тут не нужен, соглашусь.
  • ELab
    16 октября 2016, 12:44
    Торговля — консоль CentOS, C++, onload — все чтобы выжать минимум latency и обезопасить себя от фризов.
    Разработка в Visual Studio.
    • Cheshire Cat
      16 октября 2016, 20:24
      ELab, а как данные передаются из события onLoad к «серверу», который выполняет вычисления? Тоже через сетевой интерфейс?
      • ELab
        17 октября 2016, 09:35
        Cheshire Cat, onload это команда для карт Solarflare, которая загружает Solarflare карту и позволяет максимально снизить задержки
      • ELab
        17 октября 2016, 09:33
        Svips, да. графического интерфейса на сервере нет — только командная строка. кнчно, не ручная — какой смысл так заморачиваться?
  • Nepall
    25 января 2017, 20:28
    Я думал цель у трейдера — прибыль а не подрочить в Линукс и кончить в малинку…

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн