love_to_trade
love_to_trade личный блог
23 января 2016, 14:51

Язык R - стандарт для обработки данных

Недавно столкнулся с таким феноменом — про язык программирования R слышали многие. Но знают что это такое очень мало людей.

Язык R - стандарт для обработки данных

Поскольку являюсь носителем этого языка и заинтересован в его популяризации, попытаюсь немного раскрыть тему в этом посте. Будет интересно!

План простой:

1) Что такое язык R

2) Популярность в России

Что такое язык R

R (вики) — язык программирования для статистической обработки данных и работы с графикой, а также свободная программная среда вычислений с открытым исходным кодом в рамках проекта GNU.

По нашему: Язык идеально подходящий для поиска рыночных закономерностей. Бесплатный, быстрый и свободный.

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

Это САМЫЙ популярный язык программирования алготрейдеров на западе. Это передовая того что сейчас доступно в области машинного обучения и статистики.
Язык R - стандарт для обработки данных

Для того чтобы писать программы на R, достаточно скачать R-Studio и всё

 Язык R - стандарт для обработки данных

Некоторое время назад, в рамках популяризации языка, записал мини-курс «R для каждого». Бесплатный. Посмотрите как просто всё это работает и как быстро на нём писать скрипты. Это просто великолепно!

Популярность в России

Оставляет желать лучшего.

Если на западе 90% всех исследований проводиться с помощью этого языка, то в России редкая неделя проходит на СмартЛабе, в которой можно найти хоть одно упоминание о нём. Т.е. число людей знающих R — критически мало.

В числе причин такой ситуации: отсутствие пособий на русском до недавнего времени, отсутствие обучающий курсов, низкая грамотность трейдеров и ещё много чего. Не будем об этом.

Важно лишь то, что популярность этого языка в России и СНГ неуклонно растёт.

Российские пользователи устали от неработающих АПИ и дорогих торговых систем. Бесплатный язык R, в контексте трейденга, очень скоро займёт достойное место в их инструментарии. Присоединяйся!

На этом сегодня всё. Надеюсь было интересно.

Смотрите мой бесплатный курс, чтобы понять, как просто писать код. Пишите роботов!

Тестируйте Ваши торговые идеи при помощи лучшего для этого инструмента!

Ссылки:

1) Википедия про R

2) Мой бесплатный мини-курс по R

3) Прекрасная возможность выучить его за два месяца




81 Комментарий
  • StockChart.ru
    23 января 2016, 15:14
    саму статистику ведь все равно надо знать?
      • Евгений Черных
        23 января 2016, 17:41
        love_to_trade, На фига нужен этот курс? Лично мне для исследований рынка до сих пор WLD4 хватает за глаза.
    • AlexeyTikhonov
      23 января 2016, 17:19
      Ru-Ticker.com, не обязательно,
      если тестировать какие-нибудь простые стратегии (не статистические), типа купить когда объем болльше такого то, а ма такая-то, то нет необходимости.
  • Niktesla (бывш. Бабёр-Енот)
    23 января 2016, 15:33
    То есть вы хотите сказать, что на нем СУЩЕСТВЕННО легче написать бектестер стратегии с нуля чем скажем на Delphi или C# ?
    А что насчет гибкости? обычно ведь когда есть заточенность подо что-то определенное, то гибкость страдает.
    • Алексей
      23 января 2016, 16:11
      Бабёр-Енот, сам только вчера до R добрался. он больше подходит для тестов стратегии на истории. очень много финансовых формул которых тебе не нужно кодить, дал данные на вход одной строчкой отфильтровал другой и всё. реально быстро получаешь результат. опять же графики строит на раз. в общем сделал вывод интересно, быстро, но синтаксис ужасный, точнее необычный очень сильно отличается от классических языков, попроще конечно чем асемблер от ++ но всё равно, придётся мозг напрягать.
      p.s.: вот как после этого не поверишь в теорию заговоров :-)
    • AlexeyTikhonov
      23 января 2016, 17:20
      Бабёр-Енот, да, бектестеры на нем писать намного проще относительно ЯВУ
  • Igoron
    23 января 2016, 15:34
    Тормозной только, если понадобится отходить от векторных вычислений
  • Андрей К
    23 января 2016, 15:39
    А вы до R программировали? Если не секрет, сколько лет?
      • Андрей К
        23 января 2016, 15:49
        love_to_trade, я правильно понял. Что с вашим опытом на R ушло несколько месяцев? Я спрашиваю с прицеливанием на себя.

        Много вакансий в серьезных структурах стало требовать R
          • Андрей К
            23 января 2016, 16:31
            love_to_trade, Примерно каждая четвертая среди разработчиков алгоритмов.
      • Изя 3%
        23 января 2016, 18:52
        love_to_trade, те после 3-х лет уже можно называться old school algo. Ну ок.  ) А ценник на курсы 59р это не в рублях же да?
  • zip3n
    23 января 2016, 15:51
    вот ещё по R:
    1)http://eclass.cc/courses?search=R+progra&category=&certificate=&language=&price=&provider=&fmt=
    2)http://www.analyticsvidhya.com/learning-paths-data-science-business-analytics-business-intelligence-big-data/learning-path-r-data-science/
    3)http://theasder.github.io/learning/2015/04/13/step-by-step-guide-for-learning-data-science-using-r.html
    4)https://www.rstudio.com/resources/training/online-learning/
    5)https://www.datacamp.com/
    6)http://r-analytics.blogspot.co.uk/
    7)http://www.skilledup.com/articles/5-free-courses-learning-r-programming
    8)http://tryr.codeschool.com/
    9)http://rforfinance.ru/

  • owner
    23 января 2016, 15:59
    Для целей трейдинга, в большинстве случаев, достаточно возможностей питона с его стат. библиотеками, у R порог входа выше, для чистого аналитика данных маст хэв, конечно, но для трейдера с точки зрения время/выхлоп — неочевидный выбор.
    • sortarray sortarray
      23 января 2016, 17:11
      owner, 
      для чистого аналитика данных маст хэв, конечно
      А почему? Посмотрел пример на википедии, ничего особенного не увидел. Там просматривается заточенность на форматирование текста, на табличное представление. Но это для любой среды тривиальная задача. В целом — не впечатлило. Не понимаю, какие там преимущества в плане аналитики.
      • owner
        23 января 2016, 17:47
        sortarray sortarray, дело в первую очередь в богатой экосистеме R с большим кол-вом библиотек для стат.анализа (там и машинное обучение, датамайнинг,...) — не нужно писать самому, плюс, поскольку это топ язык при работе с данными, вокруг него сформировалось обширное коммьюнити и всегда можно обратиться за помощью.
    • AlexeyTikhonov
      23 января 2016, 17:23
      owner, не считаю что у R порог выше, чем у python, наоборот.
  • Niktesla (бывш. Бабёр-Енот)
    23 января 2016, 15:59
    а сколько оно оперативки жрет при тестировании/анализе?  
    Например на mt4 можно на 3-х выделенных под процесс гигах прогнать бектест на минутках за последние 15 лет...
    А вот в tslab может и сам, от нечего делать 3 гига спокойно отожрать… а уж сколько он отожрет при тестированиичего-то вычислительно-ёмкого на минутках за несколько лет мне даже думать не хочется.

    как в R c этим обстоят дела?
    • AlexeyTikhonov
      23 января 2016, 17:30
      Бабёр-Енот, все расчеты в памяти,
      какой у вас объем данных, минимум такой и будет в памяти
      прикинул что ваш пример это где-то 200-300 метров, ну вот минимум столько отъест, если еще преобразования будут, то еще а увеличится. Для 99% задач 1 ГБ на обычном компе достаточно.
      Если пользоваться экзотикой (caret например), то там надо 2-4 (для выделения памяти)
  • shprots
    23 января 2016, 16:25
    R на Западе, конечно, — это стандарт :) в РФ как-то мало кто про него слышал.
  • arn11555
    23 января 2016, 16:41
    приветствую
    у меня прикладная задача
    1) искать базы (3-5 свечей ) по 35 инструментам  ММВБ сразу и выводить их в таблицу
    2) рисовать базы на графиках
    все это надо в моменте делать во время торговли
    3) как к нему подключить котировки/датафид?
    4) как из него торговать?
    а то реально начал под квик что-то делать изучать — так там чтобы линию на графике нанести горизонтальную от свечи до свечи (базу визуализировать ) — еп-ся можно
    вот например ответ на мой вопрос - https://forum.quik.ru/forum10/topic1253/
    forum.quik.ru/forum10/topic118/

     или тоже танцы с бубнами
    кстати 
    поиск этого и вывод в таблицу решается в 25 строк атф финам но жутко тормозит
    а в thinkscript тоже строчек 15
    а здесь как?
    • AlexeyTikhonov
      23 января 2016, 17:47
      arn11555,
      1. брать инструменты можно из разных мест
      а. с сайта mfd
      б. с сайта finam
      в. из базы в которую до этого они будут добавлены каким-то способом
      г. из текстового файла, который можно формировать например из quik
      все эти способы реализуются из R

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

      3. см. п.1

      4. гипотеттически можно сделать и робота, но это не очень верно
  • asteroid
    23 января 2016, 16:53
    R крут. Но python + pandas + numpy +… Ещё круче
    • Mr. Bean
      23 января 2016, 16:58
      asteroid, ваще пох какой язык. до того места где они начинают различаться в трейдинге в 99% случаев не доходит.
  • Mr. Bean
    23 января 2016, 16:57
    Для того чтобы писать программы на R, достаточно скачать R-Studio и всё

    А чтобы программировать на C# нужно просто установить вижл студию. лол.
  • sortarray sortarray
    23 января 2016, 17:00
    А про машинное обучение — это откуда такая инфа?
  • Mr. Bean
    23 января 2016, 17:05
    ну курсере есть хорошие курсы по  R, for free. правда про трейдинг не встречал.
  • The0bald
    23 января 2016, 17:08
    С матлабом мог ли бы написать сравнение?
  • Shadow
    23 января 2016, 17:19

    Напридумают десятки разных языков с различным синтаксисом, а потом программисты вынуждены изучать их — то один, то другой и держать всю эту кашу в голове! Ну сколько ж можно!

    Программирование — это особая область решения задач, где требуется определенный склад ума! Но сейчас, к сожалению, многие реализации языков программирования идут по схеме упрощения: так, чтобы «даже школьник смог разобраться». Отсюда и появляются многочисленные фреймворки и огромное количество дилетантов, не понимающих элементарных принципов построения алгоритмов! Что уж говорить про ООП!

    Не имею ничего личного против «R» и его создателей. Я против такого количества языков программирования в принципе. Почему бы не написать библиотеку для того же C# или С++ (на asm [шутка]), как вариант? Зачем создавать отдельный язык? Выпендрежники...

    P.S.: Негодующий программер с 15-летним стажем. :-(

    • StockChart.ru
      23 января 2016, 17:22
      Shadow, я так понял это не язык, а нечто вроде маткада или mathematica
      • AlexeyTikhonov
        23 января 2016, 17:32
        Ru-Ticker.com, нет, это полноценный язык, полный
        • StockChart.ru
          23 января 2016, 19:43
          AlexeyT, ок, я имел в виду это по крайней мере не язык общего назначения, в любом случае, что штука, которая не работает без внешней среды.
            Или на R пишутся библиотеки и модули для коммерческих приложений?
          • AlexeyTikhonov
            23 января 2016, 19:54
            Ru-Ticker.com, да, специализированный, но локально или в инете может работать без внешней среды (через свой web-сервер)
            для таких же как он (коммерческих приложений — MS SQL, Azure, MS BI, и прочих стат. приложений) есть интеграция с его модулями, функциями.
            Ну а так наоборот, для R пишут библиотеки на C (фортране), которыми уже оч. удобно пользоваться в R
    • AlexeyTikhonov
      23 января 2016, 17:37
      Shadow, в R большая часть высокопроизводительных функций написана на C, да и самому можно их написать, а так в нем намного удобнее.
    • sortarray sortarray
      23 января 2016, 18:01
      Shadow, собственно, хрен редьки не слаще, изучать библиотеки тоже придется. А язык не всгда хорошо подходит, универсальных языков нет. На самом деле, решением этого вопроса мог бы быть такой подход: есть среда, которая предоставляет минимальный АPI — сотню вторую определений, а прогер пишет маленький DSL под задачу. Это было бы идеально, тут выкидывается прослойка необходимости учить язык. Но ясно, что  не взлетит в современных условиях.
    • А. Г.
      23 января 2016, 18:34
      Shadow,
       
      Да есть хорошая библиотека: alglib. Немного знаний в теории вероятностей и с ее помощью все, что хочешь можно запрограммировать. Если конечно миллисекунды не важны.
  • Fillio
    23 января 2016, 17:23
    а как в R с бд, архивами котировок? Данные нужно самому собирать или есть встроенный сервис по закачке?
    • AlexeyTikhonov
      23 января 2016, 17:35
      Максим Дмитриевский, с бд отлично,
      ко всем есть коннекторы,
      также есть коннекторы к основным сервисам,
      у нас mfd, и finam, а по миру и quandl, и yahoo и все такое
    • _landy
      23 января 2016, 17:36
      Максим Дмитриевский, есть пакет для закачки и анализа котировок - http://www.quantmod.com/
  • nbvehrfr
    23 января 2016, 17:57
    scala + mlib 
    на spot инстансах амазона
    меньше чем за бакс прогнать ночью весь сток маркет (интрадэй)
  • Изя 3%
    23 января 2016, 18:04

    Если на западе 90% всех исследований проводиться с помощью этого языка

    Российские пользователи устали от неработающих АПИ и дорогих торговых систем.

    Да ладно… )))

    R конечно не для роботов совсем. Для анализа да. Коннектор к плазе на R не написать ;)
    • AlexeyTikhonov
      23 января 2016, 19:15
      Изя Квикович, да нет, написать можно, но нерационально
  • Shadow
    23 января 2016, 18:05
    В первую очередь меня интересовал вопрос — как компилируется исходный код на языке «R». Полез в инет, но быстрый поиск ответа не выдал. Зато нашел пару интересных моментов:

    1) «R — … в тоже время это свободная программная среда с открытым исходным кодом ...».
    Есть отличная бесплатная кроссплатформенная IDE «Eclipse» (почему-то про нее забыли), но надо создать еще одну, свою! :))

    2) «R возник как свободный аналог среды S-PLUS, которая в свою очередь является коммерческой реализацией языка расчётов S.»
    Вот с этого и нужно начинать. Почему-то вспоминается Microsoft Office и его бесплатный аналог LibreOffice (или OpenOffice).

    Ситуация: имеется качественный, но дорогой коммерческий продукт с хорошей поддержкой. Но есть и другие аналоги, со своими особенностями (косяками и прочими «артефактами»), устанавливаемые на свой страх и риск, не имеющие полноценной поддержки на русском языке, но полностью бесплатные! :))

    Видимо, это среда на любителя, для очень специфических задач при ограниченном бюджете. Хорошо подходит для людей, кто не знаком с другими языками программирования или не готов разбираться с ними, но хочет решить свою проблему быстро и недорого (затраты по времени не рассматриваю).

    R-знатоки, поправьте меня, пожалуйста. :)
    • AlexeyTikhonov
      23 января 2016, 19:23
      Shadow, он не компилируется, он интерпретируемый,
      но он может интерпретироваться и как веб-сервис (как передача в строке, так и полноценный графический)
      есть R бесплатный с огромным комьюнити (с вопросами ответами и документацией) и большим числом пакетов, которые решают многое число задач, это более чем достаточно.
      и есть R enterpise (есть и бесплатная версия и платная), которую купил год назад Microsoft (и активно интегрирует R в продукты — MS SQL, Azure, BI), в ней большая заточенность на высокопроизводительные вычисления, но по факту, все тоже самое, те же пакеты можно использовать.
      А так да, это среда для своих задач (обработка данных, стат. модели, машинное обучение, визуализация)
      • Shadow
        23 января 2016, 19:44
        AlexeyT, Ок, благодарю за это пояснение. Ну тогда для меня открылся еще один минус: допустим, придумал я некий алгоритм, который своими «инновационными» расчетами экономит массу времени другим людям (аналитикам) и реализовал его через систему «R». В случае с компиляцией в бинарный файл, я, как правообладатель, был бы немного спокоен за свой продукт, ведь его можно продать и заработать! А когда код хранится в виде открытого скрипта — то это мягко говоря, небезопасно. Могут украсть код, переписать и выдать за свой. :( Хотя, проблема авторских прав сейчас мало кого волнует наверное…
        • AlexeyTikhonov
          23 января 2016, 19:56
          Shadow, а вы можете сделать веб-сервис на R (см. мои посты про анализ ЛЧИ), которым все будут пользоваться, а исходников не видно
  • Shadow
    23 января 2016, 18:12
    Вдогонку, вот что еще нашел:

    «Есть одна, важная для всех операционных систем особенность: R (в отличие от того же S-PLUS) держит все свои вычисления в оперативной памяти, поэтому если в процессе работы, скажем, выключится питание, то результаты сессии, не записанные явным образом в файл, пропадут.»

    — Замечательно! Что тут еще сказать…
  • MTrader
    23 января 2016, 18:37
    поставил + за Р, но не согласен что не по чем его учить, есть хорошие емкие ресурсы по его изучению, благо язык легкий, и больше запоминать надо чем учить. Есть бесплатные курсы, кому надо — самостоятельно выучить дело плевое, кому не надо тот и не знает про Р
    • zip3n
      23 января 2016, 18:53
      MTrader, согласен, реклама обучения за 70 тыс НИПРАЙДЁТ)))) 
        • Blade
          18 ноября 2016, 12:52
          love_to_trade, Может быть ты знаешь: существуют ли какие-нибудь коннекторы R к Quik/SmartCOM/Transaq/Alor/MT5/AlfaDirect...?
    • Shadow
      23 января 2016, 19:36
      MTrader, тут скорее вопрос рациональности. Как написали выше, есть библиотека «alglib» (спасибо А. Г. за пример) и другие решения.

      И тут [внезапно] предлагается что-то новое. Основной вопрос состоит в том, а стоит ли отказываться от старых программ или языков (проверенных временем) и переходить на этот новый продукт (назовем его так). Пусть даже бесплатный. Стоит ли овчинка выделки?

      Из плюсов я увидел разве что «продвинутую визуализацию» (как это нам преподносится). Да, с этим бывают сложности на других платформах. Но и они решаются.
      • asteroid
        23 января 2016, 20:09
        Shadow, это не новое. Уже столько всего написано и переписано. Загляните на cran. Там немеряно либ разного рода. Если нужно крутитьвертеть массивы данных, работать с ними как векторами, то пожалуй лучше и проще чем r или python+numpy+pandas я не встречал. А если конечно делать бэктесты итерациями или на основе событийных моделей то лучше выбрать что-то более быстрое.
  • StockChart.ru
    23 января 2016, 19:47
     Я че-то не въезжаю, как он котировки анализирует. Он сам запросы сроит что ли. Вот в базе рутикера миллиарды сделок. Любая внешняя система захлебнется, анализируя их в лоб. Поэтому приходится писать обработку сразу на SQL — таблицы с кешированными данными, строить индексы специальные и т.п.
       
    • AlexeyTikhonov
      23 января 2016, 20:00
      Ru-Ticker.com, если данных немного, до нескольких гигабайт (чтоб в память поместились), то не захлебнется, так как функции векторизованы с учетом на это, и написаны на С, плюс многоядерность, а если больше, то надо делать map-reduce.
      Плюс он может и в себе все это делать, и кешировать и индексировать.
  • StockChart.ru
    23 января 2016, 19:48
     Наверное если поставить вопрос более обще, как R заточен на работу с bigdata
  • AntiTrader
    23 января 2016, 20:24
    По функционалу R  — аналог Matlab, бесплатный (против 100 000 $), нет многих дополнительных пакетов (качественных,  очень дорогих). Отсюда все понятно.
  • alexKa
    23 января 2016, 21:09
    R тормознутый… в нем по идее можно подключать собственные модули написанные на С, внутри модуля он обрабатывает данные быстро,  но когда у тебя несколько модулей подключено, и выполняешь скрипт сначала из одного модуля, потом из другого, и все это в цикле то будет тормозить.
    Если допустим написать перебор какого нибудь массива данных по индексу с помощью скрипта R то будет в несколько раз тормознутее, чем обычная программа на нормальном языке. Быстро будет только если перебор по индексу сделать внутри модуля какого нибудь.

    И потом если без подключения собственных модулей на С не хватит гибкости, а если уж ты пишешь модули на С, то тогда уж можно и собственную программу писать, и R уже особо не нужен
  • Murad Muslimov
    23 января 2016, 22:23
    Скажите, а стратегии на тиковых данных, используя R, можно тестировать? Если да, хотелось бы узнать сколько времени потребуется чтобы протестировать стратегию за 1 год по 1 инструменту на тиках (для Si например)? Спасибо.
    • AlexeyTikhonov
      23 января 2016, 23:34
      nvse, смотрите, один день тиковых данных (с открытием, мин-макс, закрытием) около 40 МБ, следовательно за год 10 ГБ.
      Объем памяти должен быть не меньше, или же если не нужны мин-макс, а только какие-то одни цены, то следовательно раз в 5 поменьше, то 2 ГБ достаточно, или же делать кусками, так что да, даже без увеличения памяти, вполне возможно
      • Murad Muslimov
        23 января 2016, 23:56
        AlexeyT, хм, интересно, а почему думаете весь этот объем данных надо обязатнльно держать в памяти? Можно ведь, например брать данные за какой то интервал (до 1 месяца например, а потом делать сброс данных и брать за следующий месяц, т.е загружать данные кусками) и использовать многопоточность (в случае если алгоритм можно распаралелить по временным промежуткам и они друг от друга никак не завсият). У меня просто сейчас дилема. Либо писать свой тестер-«велосипед» на С#, но на это уйдет время, либо попытаться найти что-то уже готовое. Но R как я понял мне для этого не подойдет, т.к он, как язык интерпретируемый, скорее всего будет проигрывать в скорости + нужно время на его изучение. Но наверное для тестирования свечных стратегий он подойдет. Имхо, конечно.
        • AlexeyTikhonov
          24 января 2016, 00:30
          nvse, по умолчанию, R все объекты и расчеты держит в памяти (поэтому быстро), поэтому если потоком читать тики (например с finam или mfd) ну или из базы, то весь объект будет в памяти, но разумеется можно делать кусками, как вы пишете. В скорости он проигрывать сильно не будет, так как все такие функции так и так написаны на С или Фортране (и выполняются в памяти), поэтому они выполняются быстро.
          Посмотрите посты с блога rforfinance,
          rforfinance.ru/
          там есть несколько тестов на дневках, но можно их переделать и на тики, там подход похожий.

        • AlexeyTikhonov
          24 января 2016, 01:01
          nvse, ааа, и помимо варианта как указано в постах rforfinance (добавлять колонки как бы продажи и покупки и по ней считать прибыль), можно делать по другому, к таблице всех сделок (любого типа), сделать отдельную таблицу как бы сделки (по своим условиям), с тем же таймштампом, и функции из пакета blotter их сматчат, и посчитают статистику, графики красивые, так даже намного проще будет (так сделано у меня в анализе ЛЧИ, см. мои пред. посты)
        • AlexeyTikhonov
          24 января 2016, 09:37
          nvse, вот еще пример, с ручками
          profitraders.com/Rlang/CrossMA.html
          • Murad Muslimov
            24 января 2016, 15:26
            AlexeyT, спасибо за информацию. Теперь наверное попробую сделать тестирование одного и того же большого объема данных на R и С#, будет интересно сравнить их результаты. В R как я понял есть много всяких плюшек и это конечно подкупает(открытый, бесплатный, много готовых решений, ui понравился, удобно работать с данными и т.д). Для полноты сравнения наверное имеет смысл потом еще с Python(Cython) сравнение сделать. И уже после этого делать какие либо выводы. Хотя может такие исследования уже проводились, надо поискать будет.
            • AlexeyTikhonov
              24 января 2016, 15:58
              nvse, да, на R в частности для трейдинга,
              есть много полезных пакетов, которые уже все делают,
              строят графики, рассчитывают разнообразнейшую статистику, индикаторы и все такое, достачно подать на вход 2 таблички (все сделки и твои сделки), не уверен, что такое, в таком кол-ве есть даже для python, тем более для прочих языков.
              в R еще плюс, что он с нуля до конца (web-сервис, например) можно сделать все на нем, в рамках единого синтаксиса, без доп.  фреймворков со своими нюансами
  • Ivor
    24 января 2016, 14:05
    18р 29р 59р — это что? цены? 
  • Иван Коваль-Зайцев
    25 января 2016, 14:30
    Как R подключить к торгам на ФОРТС?

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

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