Практическое использование Виртуального Частного Сервера (VPS) для автоторговли

20 июня 2007, 13:54
Nick Revych
58
3 408

Постановка задачи: поиск рабочего места для роботов

У каждого автотрейдера есть торговые роботы, которые торгуют на финансовых рынках, и есть компьютер, на котором эти советники запущены и работают. Кто-то запускает советники дома, кто-то - на работе, кто-то - у друзей на сервере, а еще кто-то арендует выделенный сервер. Ясно одно - советникам нужно место работы (офис), а трейдерам – поменьше головной боли, связанной с этим офисом.

Все описанные выше офисы имеют свои плюсы и минусы, поэтому не буду останавливаться на этом подробно. Предложу свой вариант. Итак, мы ставим себе цель - найти офис для работы торговых роботов, который отвечал бы следующим требованиям: удаленная установка, подключение из любой точки планеты, быстрая настройка, быстрое восстановление при сбоях, быстрый перенос, целостная архивная копия, желательно первоклассное "железо", защита, наращивание системы дополнительными сервисами - такими, как публикация отчетов о торговле, котировки и прочее. Желательно еще, чтобы он не был слишком дорогим.


Выбор офиса для автоторговли

Цель поставлена. Начинаем поиск. Домашний компьютер не подходит. Компьютер на работе совсем не подходит, да и начальство "мешает". Друзья предлагают терминальный доступ к серверу, но они его часто перегружают, да и не хочу я ни от кого зависеть. Остается арендовать выделенный сервер. Арендовать или купить собственный сервер – классное решение. Но за ним нужно смотреть, а мне, честно говоря, лень это делать. Выделенный сервер требует значительных затрат времени и сил. Поэтому мы более подробно остановимся на новой возможности - VPS. VPS (virtual private server) – виртуальный частный сервер. Мощный сервер делит свои ресурсы на 30-40 пользователей, у каждого из которых имеется своя виртуальная копия или имитация полноценного компьютера (сервера). Честно говоря, я сразу остановился на VPS. Он выделялся среди других возможностей и отвечал моим требованиям к офису для советников. Оставалось только выбрать, на какой платформе разместиться - Windows VPS или Linux VPS? Здесь у меня не было раздумий. Я имел опыт работы с обеими операционными системы. Первую я возненавидел, вторую полюбил. Жаль, что у меня нет MetaTrader 4 для Линукса, тогда не было бы никаких проблем. Но в жизни все просто не бывает…

(Общая схема компонентов торговой площадки)



Подготовка удаленного офиса

Теперь необходимо запустить MetaTrader 4 под Линуксом. Итак, под Wine (эмулятором среды Windows) MetaTrader 4 заработал, но интерактивно не все кнопки функционируют. То есть система пока работает ненадежно. Значит, будем запускать MetaTrader 4 под VMWare, Xen или QEMU на виртуальном частном сервере. Если ничего не получится, будем арендовать Windows VPS.


Установка виртуальной машины QEMU

VMWare, Xen не заработали на VPS, так как им нужно было загрузить свой модуль в kernel (ядро линукса), а VPS этого не позволяет. QEMU сработал без ускорителя. На нем и остановимся:

  1. покупаем Linux VPS с предустановленной операционной системой Ubuntu Dapper (к примеру, здесь);
  2. скачиваем себе SSH-клиент (все линуксовые системы удаленно управляются через такие клиенты) отсюда;
  3. подключаемся к нашему серверу:





  4. устанавливаем виртуальный QEMU из репозитария (хранилища программ, которое подключено по умолчанию) командами:
    aptitude search qemu,
    aptitude install qemu

    (в Линуксе все дистрибутивы программ хранятся в репозитарии и устанавливаются очень просто, в соответствии с указанными выше процедурами)



Создание образа Windows 2003 Server + Terminal Services

Виртуальная машина готова к запуску. Все, что нам нужно, – это образ Windows Server 2003 с активированными терминальными службами для виртуального QEMU. Создание образа Windows Server 2003+ Terminal Services является достаточно сложной процедурой.

Создание образа состоит из следующих шагов :

  1. создание файла размером в несколько гигабайт;
  2. запуск QEMU с ключом загрузки с CD-привода;
  3. установка Windows 2003 Server;
  4. активация терминальных служб;
  5. установка драйверов сетевой карточки.

Это - самый сложный этап, но его можно пропустить и взять готовый образ отсюда :

http://fileshare.in.ua/2050851

Для входа в Windows надо использовать:


  • login: 1CMaster
  • password: 123

Загрузите файл w2k3.img с http://fileshare.in.ua/2050851 (образ Windows 2003 Server для виртуальной машины) на ваш частный сервер в любую папку. Для обмена файлами с вашим сервером вам понадобится программа WinSCP. Она может закачивать файлы прямо на ваш виртуальный сервер.



Запуск удаленного офиса

Запустить образ Windows 2003 Server под виртуальной машиной на удаленном частном сервере вы можете через планировщик задач AT или поместив его в автозапуск (/etc/rc.local). Для начала установите планировщик заданий для Линукса командой aptitude install at. И еще - установите себе Миднайт-Командер (аналог Нортон-Командера) командой aptitude install mc. Запуск Миднайт-командера производится командой mc, после чего на экране появится следующее окно:



Через планировщик задач виртуальная машина с образом Windows запускается командами:



Автозапуск виртуальной машины

По окончании запуска необходимо нажать на Enter, а потом - на Ctrl-D. Я бы рекомендовал поместить запуск виртуальной машины в автозапуск (файл /etc/rc. local). Но перед этим нам еще потребуется дополнительная программа разделенных сеансов (screen). Установите эту программу командами:

  • aptitude search screen
  • aptitude install screen

После этого откройте файл /etc/rc.local и можете туда прописать автозапуск виртуальной машины с образом сервера Windows.



Проверьте, что виртуальная машина запущена командой ps ax.



Все, виртуальная машина запущена с образом Windows. Завершите работу с сервером командой exit:



Подключение к удаленному офису

Подключение к удаленному терминальному серверу осуществляем обычным путем : Пуск – Программы – Стандартные – Связь – Подключение к удаленному рабочему столу.




В результате получаем такой вот сервер с запущенным МетаТрейдером 4.0:



На VPS вы можете установить также ФТП- и Веб-серверы, собственный Форум и другие сервисы. В данной статье не приводится информация об их установке.


Список использованных сайтов

  1. Предоставление личного частного сервера (VPS) http://prostohosting.com/services/vps.html
  2. SSH-клиент http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
  3. Обмен файлами с VPS, программа WinSCP : http://www.listsoft.ru/programs/16038/
  4. Официальный сайт QEMU для Linux http://fabrice.bellard.free.fr/qemu/
  5. Официальный сайт QEMU для Windows http://www.h7.dion.ne.jp/~qemu-win/
  6. Установка QEMU в Linux : http://mydebianblog.blogspot.com/2006/07/qemu.html
  7. Описание виртуальной машины QEMU http://jack.kiev.ua/docs/qemu-doc-ru.html#SEC8
  8. Бесплатный планировщик задач nnCron http://www.nncron.ru/download_ru.shtml
Последние комментарии | Перейти к обсуждению на форуме трейдеров (58)
Sergey
Sergey | 12 апр 2010 в 10:46
Так может кто-то всё-таки перевыложит образ? На "том" сервисе его нет. Не в архивах, нигде.
[Удален] | 29 сен 2011 в 23:20
Извините пожалуйста, я только что за спичками, совета прошу у знающих людей,можно ли на одном хостинге сделать так, чтобы и сайт открыть и советник чтобы работал, есть же хостеры дающие два домена на одном сервере?))) Или можно прямо на хостинге разместить второго или там третьего уровня, если объём позволяет? Заранее спасибо!
Alexey Volchanskiy
Alexey Volchanskiy | 29 фев 2012 в 13:41
solandr:
Полезная и нужная статья! Только вот редактору стоило бы её малость подкорректировать на предмет устранения не красящего её сленга, например вот в этой фразе: "Все же придется извращаться, чтобы запустить MetaTrader 4 под Линуксом". Всё-таки статья - это не сообщение на форуме и некоторые общепринятые стандарты она должна выполнять.

Статья на данный момент уже устарела. За 5 лет Windows VPS практически сравнился по цене с линуксовым. Например, вот хороший хостинг под линуксы http://fastvps.ru/vds/, у меня там сайты на тарифе OVZ-2, техподдержка там просто отличная, нигде такой не встречал. А вот на виндах, тоже хвалят, цена такая-же + параметры сервера получше http://www.burstnet.eu/winvps.shtml

Так что нет уже смысла часать правой пяткой левое ухо

Ivan Lokhvitskiy
Ivan Lokhvitskiy | 16 янв 2015 в 05:29
Попробуйте 
Amazon Web Services Один год \ 750 часов в месяц использования бесплатно (условно, 2 $ при регистрации )  пробуйте инфа вся есть ! 
luckyr
luckyr | 16 янв 2015 в 11:29
mql4_comments:

Можно ли запустить МТ4 в Макинтоше? Заранее спасибо! Алексанр:mav53@mail.ru

немного попарившись запустил мт4 на виртуальной машине playonmac   на макбук-  работает намного лучше чем на долбаном мастдае
Прогнозирование цен с помощью нейронных сетей Прогнозирование цен с помощью нейронных сетей

Многие трейдеры говорят о нейронных сетях, но что это такое и на что они в реальности способны - мало кто представляет. Данная статья немного приоткрывает дверь в мир искуственного интеллекта. В ней рассказывается о том, как нужно правильно подготавливать данные для сети, а также приводится пример прогнозирования средствами программы Matlab.

Отправка SMS из торгового советника через Skype Отправка SMS из торгового советника через Skype

В статье рассматривается способ отправки внутренних сообщений и SMS из торгового советника на мобильные телефоны через Skype .

Язык MQL4 для "чайников". Сложные вопросы простым языком Язык MQL4 для "чайников". Сложные вопросы простым языком

Это вторая статья из цикла "Язык MQL 4 для "чайников"". В ней мы будем разбираться в более сложных и продвинутых конструкциях языка, изучим новые возможности и посмотрим, как их можно применять в ежедневной практике. Сейчас вы узнаете про новый вид циклов while, новый вид условий switch, операторы break и continue. Кроме того вы научитесь писать собственные функции и работать с многомерными массивами. На десерт я подготовил для вас разъяснения о препроцессоре.

ZUP - зигзаг универсальный с паттернами Песавенто. Часть 2 ZUP - зигзаг универсальный с паттернами Песавенто. Часть 2

ZUP - зигзаг универсальный с паттернами Песавенто. Часть 2 - описание встроенных инструментов