Как выполнить программу MQL4 на сервере?

Я реализовал советник на языке MQL4 для исполнения в MetaTrader.

Теперь, если мне нужно его выполнить, мне всегда нужно запускать MetaTrader и прикреплять в нем свою программу советника к графику валютной пары в реальном времени.

Я хочу знать, существует ли метод выполнения скриптов MQL4 на серверах, чтобы мне не приходилось постоянно держать компьютер включенным. Я гуглил этот вопрос, но не нашел на него подходящего ответа.

Я нашел способ передачи данных из MetaTrader на веб-сервер (MQL в PHP), но понятия не имею, полезен ли он для решения моего вопроса (http://mql4-php.iinuu.eu/)

Заранее спасибо.


person tnishada    schedule 23.12.2014    source источник


Ответы (3)


Да, существует несколько методов на основе DLL для передачи «просто» ДАННЫХ.

ZeroMQ DLL для подходов к обмену сообщениями на основе сокетов.

Windows raw-sockets для низкоуровневого программирования сокетов.

Несколько других инструментов на основе DLL для передачи данных в/из удаленных или параллельных процессов.

Нет, неизвестны способы запуска MQL4-CODE на сервере.

Каждый исходный код MQL4 сначала компилируется в файл .EX4. Такие «исполняемые» файлы загружаются и исполняются в аналогичном проприетарном программном обеспечении — в Терминале MetaTrader4. На данный момент нет известных реализаций серверных процессов для этой функциональности, и MetaQuotes, Inc. не продает и не разрабатывает каких-либо видимых усилий по выпуску какого-либо такого программного обеспечения. По юридическим причинам вряд ли найдутся какие-либо программы с открытым исходным кодом, которые работали бы в этом направлении, так как любые подобные попытки начинали юридические последствия, инициированные во имя защиты интеллектуальной собственности в любом случае, когда неопубликованный характер передача данных и/или операции, распределенные между программами терминала MetaTrader4 [локальный хост] и/или сервер MetaTrader4 [сторона брокера], должны были быть затронуты или иным образом проанализированы и/или переработаны.

Но есть способ решить ваше желание

Существует обычная практика использования части программного обеспечения на стороне локального хоста — Терминала MetaTrader4 — размещенного на удаленной машине, которая работает в режиме 24/7/365 в профессиональный дата-центр.

При таком подходе ваш MQL4-код по-прежнему выполняется в собственном режиме внутри программного процесса MetaTrader4 Terminal, однако машина (на основе ОС Windows машина) виртуализируется в виртуальную машину и размещается в инфраструктуре центра обработки данных.

Тем не менее, есть некоторые шаги и меры, необходимые для защиты вашей конфиденциальности и ваших прав на интеллектуальную собственность, когда вы думаете о режиме работы виртуальной машины/хостинга вашего советника/скрипта.

Применение этого режима операций позволит вам подключаться с вашего локального хоста к DataCenter как раз в то время, когда вы хотите визуально проверить и/или вручную исправить и/или изменить ваш постоянно работающий код в MetaTrader4. Терминал в режиме нон-стоп.

person user3666197    schedule 28.12.2014

Отмечая следующее требование:

"Я хочу знать, есть ли способ запуска MQL4-скриптов на серверах, чтобы мне не приходилось постоянно держать компьютер включенным".

Вы можете подписаться на услуги VPS (Virtual Private Server), к которым вы можете прикреплять файлы EA (.ex4). По сути, он действует как сервер-хостинг (но очень маленький, которого достаточно для запуска вашего терминала MT4).

Есть много предложений VPS. Просто погуглите Metatrader4 VPS. Фактически, сама Metaquotes также предлагает эту услугу прямо с вашего MT4. После того, как вы подпишетесь на эту услугу и прикрепите свой .EX4, вы можете выключить свой компьютер, и советник будет по-прежнему работать на VPS. Подробности можно найти здесь Ссылка.

person Joseph Lee    schedule 04.03.2015

В настоящее время большинство брокеров предлагают решения Virtual Private Server, также известные как VPS, которые направлены на сокращение задержек и проскальзываний в ваших сделках. Это означает, что ваша система будет «виртуально» ближе к службам брокера, что сократит время, необходимое для ценообразования и выполнения ордеров, чтобы добраться от вашего VPS до серверов брокера.

person Community    schedule 23.04.2016
comment
Возможно, вы захотите знать, что первоначальный вопрос немного двусмысленен. Во-первых, MetaTrader Server — это серверное средство на стороне брокера, которое может работать с дополнительным кодом плагина, в то время как это не является чем-то открытым для развертывания кода на стороне клиента. Далее, предложения VPS чаще всего предлагаются в качестве опции, в то время как брокерская компания, как правило, не хочет нести юридическую ответственность за любые убытки (+большинство предложений VPS почти бесплатны, что означает отсутствие каких-либо гарантий). Как правило, сначала проверьте задержку RTT, чтобы понять, находится ли VPS где-нибудь рядом с колокацией сервера (не уверен). - person user3666197; 25.04.2016
comment
Видел VPS-провайдеров, которые начали патчить ВМ-операционную систему с перезагрузкой в ​​середине недели, зависали все операции EA, просто показывая вам ex-post a Нажмите [Ctrl] + [Alt] + [Del] для входа экран приветствия - person user3666197; 25.04.2016
comment
Встречались брокеры с превосходными предложениями VPS, у которых задержки L3-RTT превышали 340 мс (!!!). Далее следует проверить возможности Broker Server-Farm, задержка L3-RTT ничего не говорит о задержках обработки на стороне Broker... Используйте телеметрию SONAR и TAMARA -инструменты для измерения этих задержек в режиме реального времени. Вряд ли можно порекомендовать что-то лучше, чем предварительное доказательство QoS ... попробуйте перед покупкой. (Обновления Java + сертификаты с истекшим сроком действия заблокировали доступ и т. д. и т. д.). - person user3666197; 25.04.2016