Как заставить работать быстрее MetaTrader 4 на VPS или обычном ПК???
MetaTrader 4 — широко используемая платформа для трейдинга, но не лишенная недостатков. Основной недостаток — это отсутствие возможности работы в мультипоточном (мультипроцессорном) режиме и 32-х битная архитектура. Ввиду этой "особенности" вся нагрузка ложится на 1 ядро процессора. Современные процессоры имеют 2-4-6-8 и более ядер, но они не используются MetaTrader 4. При сложившемся положении дел часто возникает ситуация, при которой терминал приходится оптимизировать, чтобы высвободить дефицитные мощности ядра для MetaTrader 4. Особенно заметны "подвисания" в моменты сильных и быстрых движений на рынке (в момент выхода статистики — Non-farm Payroll, например).
С чего начать оптимизацию? Нужно отключить все, что не используется в торговле!
1. Выключаем новости (если не нужны). Их зачастую в терминале никто не смотрит. Для этого идем в меню "Сервис - Настройки" (или жмем клавиши Ctrl+O) и на вкладке "Сервер" снимаем галочку "Разрешить новости".
2. Ограничиваем количество используемых баров в истории и в окне! Для этого идем в меню "Сервис - Настройки" (или жмем клавиши Ctrl+O) и на вкладке "Графики" редактируем поля "Макс. баров в истории" и "Макс. баров в окне". Если не используете этот терминал для бэктестов, то значения от 500 до 3000 более, чем достаточно (чем меньше, тем быстрее в итоге будет работать терминал).
3. Сокращаем количество инструментов в окне "Обзор рынка"! Каждый символ, добавленный в окно "Обзор рынка" — это "отдельный" поток данных, требующий ресурсов для обработки. Очень часто в "Обзоре рынка" остаются те символы, которые "настроил" брокер, что в корне не верно! Там должны быть только те инструменты, которые вы используете в своей торговле! Для того, чтобы скрыть лишние инструменты, достаточно перейти в меню "Вид - Обзор рынка" (или нажать Ctrl+M), в открывшемся окне нажать на свободном месте правую кнопку мыши, выбрать пункт меню "Скрыть все символы". Не переживайте, в результате этих действий действительно скроются только те символы, которые не используются, останутся только символы с открытыми графиками или сделками, что вполне логично — терминалу нужны котировки для расчёта текущей прибыли, используемой и свободной маржи и отрисовки графиков.
4. Удаляем "ненужную" и лишнюю информацию из папки данных MetaTrader 4! На просторах интернета есть множество утилит для быстрой и "уникально-чистой" очистки MetaTrader 4. Суть этих "поделок" сводится к одному — удалить накопленную служебную информацию (да, терминал постоянно сохраняет на диск множество информации, котировки, логи, настройки и т.д.). Фактически, задача очень простая и, если быть внимательным, с ней можно справиться руками. Сейчас рассмотрим, как это сделать. В терминале открываем меню "Файл - Открыть каталог данных". Откроется папка с содержимым терминала, далее ОСТАВЛЯЕМ ЭТО ОКНО ОТКРЫТЫМ, но закрываем сам терминал, а в оставшемся окне удаляем (или переименовываем, если вдруг все-таки для чего-то хотите сохранить историю и логи) папки history, log и tester (последнюю папку можно оставить, если терминал не используется для тестирования стратегий). И только после этого запускаем MetaTrader 4. После такой чистки терминал первый раз загружается чуть дольше, так как нужно подкачать недостающую историю. Он может даже "ругнуться", что недостаточно котировок, но не переживайте — после первого старта все будет гораздо быстрее!
В заключении давайте рассмотрим несколько правил:
1. Используйте различные терминалы (по возможности вообще разные компьютеры/VPS) для торговли и оптимизации/тестирования стратегий. Это позволит избежать ненужных казусов при работе "боевых" индикаторов и советников.
2. При подборе VPS/компьютера всегда руководствуйтесь здравым смыслом! Не нужно брать очень мощную VPS — лучше взять несколько недорогих конфигураций, если нужно разместить несколько терминалов. В то же время с компьютером лучше как раз поступить наоборот. Для VPS в среднем расчет такой: 1 процессор на 1 терминал (но не более двух-трех терминалов на 1 VPS) + 1 процессор для OS, RAM рассчитываемся по формуле: 1Gb на 1 терминал + 1Gb для OS. Диска, как правило, хватает в районе 40Gb, но обязательно SSD! При выборе VPS лучше заранее уточнить, какой процессор используется на конкретном тарифном плане! В самом начале мы уже говорили, что Metatrader 4 использует 1 ядро, соответственно, чем оно быстрее, тем быстрее будет работать терминал! Сравнивать производительность лучше по режиму Single Thread — этот показатель дает понимание о производительности CPU в одном потоке.
3. При наличии малейшей возможности — используйте Windows! Конечно, можно использовать и MacOS, и Linux (во всех его прекрасных вариантах(!)), но это будет на ваш страх и риск! Различные системы эмуляции типа Wine (и основанные на нем PlayOnLinux, PlayOnMac и т.д.) не дадут полноценного окружения и производительности! MetaTrader 4 разрабатывался для Windows, все остальное — "костыли". Приоритет в итоге выглядит так: Windows, Bootcamp (с установленной ОС Windows), Parallels (с установленной ОС Windows), Virtualbox (с установленной ОС Windows) и Wine — если других возможностей у вас нет.
4. Копиры всегда работают медленно! Но особенно медленно они работают во время повышенной волатильности! Связано это с архитектурой сетевого стека как на серверной стороне, так и на клиентской MetaTrader 4, в подробности вдаваться не будем, просто поверьте.
5. Соблюдайте риск-менеджмент и мани-менеджмент! Это залог успеха! А не дорогой компьютер или мощный VPS!