MT5 в качестве сервера для приёма запросов. Как сделать?

 

Добрый день! Прошу совета.

Хочу сделать схему выставления ордеров Источник -> MT5. Источник - это внешний сервер со своей логикой по выставлению ордеров. Брокер не предоставляет своё API для работы с ордерами, есть идея реализовать это через MT5 в качестве API.

Готов заказать разработку, но не понимаю какое решение будет правильным. И как правильно сформулировать ТЗ.

Вопросы пока такие:

- должна быть это библиотека или же советник или же что-то другое

- можно и нужно ли размещение MT5 в облаке

Прошу помочь направлением для изучения и советами с чего начать.

 

Здравствуйте!

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

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

На мой взгляд, первый вариант является более надёжным.

Терминал MT5, который будет заниматься приёмом команд, должен, конечно, работать 24/7. Скорее всего, вам будет удобнее использовать для этого свой сервер или сервер в каком-нибудь облаке.

 
Со стороны источника есть уже что-то готовое? Если нет, то в сервере нет никакой необходимости. Просто пишете советник и запускаете его в МТ5.
 
Yuriy Bykov #:

Здравствуйте!

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

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

На мой взгляд, первый вариант является более надёжным.

Терминал MT5, который будет заниматься приёмом команд, должен, конечно, работать 24/7. Скорее всего, вам будет удобнее использовать для этого свой сервер или сервер в каком-нибудь облаке.

Спасибо большое за ответ.
Если я правильно понял, то вы предлагаете сделать интеграцию через файл. Тоесть схема будет пример такая:
Источник ---> Api для работы с файлом --> Файл

и со стороны MT5 будет схема:  МТ5 <--> Файл .

Так?

У меня тогда такой вопрос, если я размещу всё это на сервере , я имею ввиду МТ5 , Api и файл. Можно ли будет каким-то образом торговать напрямую через МТ5  на том же счете? Или если я размещаю МТ5 на сервере равносильно тому, что нельзя более работать руками на том же счете?

 
Ihor Herasko #:
Со стороны источника есть уже что-то готовое? Если нет, то в сервере нет никакой необходимости. Просто пишете советник и запускаете его в МТ5.

Спасибо за ответ.

Со стороны Источника пока ничего нету, можно написать в любом формате, это не проблема.

Правильно я понимаю, что вы говорите, что можно сделать Советник, который бы слушал внешние запросы, даже если эти запросы приходили бы из внешнего Источника (удаленного сервера) и тогда схема получилась бы такой:

MT5 + Советник <--- Источник (внешний сервер) 

 
laptio #:

Спасибо за ответ.

Со стороны Источника пока ничего нету, можно написать в любом формате, это не проблема.

Правильно я понимаю, что вы говорите, что можно сделать Советник, который бы слушал внешние запросы, даже если эти запросы приходили бы из внешнего Источника (удаленного сервера) и тогда схема получилась бы такой:

MT5 + Советник <--- Источник (внешний сервер) 

Под источником я имел в виду именно то, что генерирует торговые сигналы. Если такого источника еще нет, то нет необходимости "что-то слушать". Достаточно в советнике реализовать расчет необходимых торговых сигналов.

Если же уже есть какой-то алгоритм, генерирующий торговые сигналы, то следует исходить из того, в каком формате они возникают, и уже от этого знания принимать решение. В большинстве случаев (сайт, Telegram-bot, e-mail) чтение таких данных можно реализовать непосредственно в советнике.

Получаем, что в любом варианте советник нужен. 
 
Ihor Herasko #:

Под источником я имел в виду именно то, что генерирует торговые сигналы. Если такого источника еще нет, то нет необходимости "что-то слушать". Достаточно в советнике реализовать расчет необходимых торговых сигналов.

Если же уже есть какой-то алгоритм, генерирующий торговые сигналы, то следует исходить из того, в каком формате они возникают, и уже от этого знания принимать решение. В большинстве случаев (сайт, Telegram-bot, e-mail) чтение таких данных можно реализовать непосредственно в советнике.

Получаем, что в любом варианте советник нужен. 

Сигналы можно обернуть в HTTP запросы и отправлять . Ну тоесть сделать условный POST запрос, в котором будет содержаться вся информация об ордере. Основная сложность, может ли советник слушать такие запросы .

 
laptio #:

У меня тогда такой вопрос, если я размещу всё это на сервере , я имею ввиду МТ5 , Api и файл. Можно ли будет каким-то образом торговать напрямую через МТ5  на том же счете? Или если я размещаю МТ5 на сервере равносильно тому, что нельзя более работать руками на том же счете?

Запуск терминала МТ5 на любом сервере не препятствует запуску терминала МТ5 на любом другом компьютере. В любом терминале можно подключаться к любому торговому счету, если есть логин/пароль от него. Одновременное подключение нескольких терминалов МТ5 к одному торговому счёту разрешено. Поэтому вы вполне можете дополнительно торговать напрямую на том же торговом счёте, на котором через другой терминал торгует советник. Надо только заботиться о том, чтобы вы не мешали друг другу.

 
laptio:

Добрый день! Прошу совета.

Хочу сделать схему выставления ордеров Источник -> MT5. Источник - это внешний сервер со своей логикой по выставлению ордеров. Брокер не предоставляет своё API для работы с ордерами, есть идея реализовать это через MT5 в качестве API.

Готов заказать разработку, но не понимаю какое решение будет правильным. И как правильно сформулировать ТЗ.

Вопросы пока такие:

- должна быть это библиотека или же советник или же что-то другое

- можно и нужно ли размещение MT5 в облаке

Прошу помочь направлением для изучения и советами с чего начать.

реализуется на сокетах

да, это будет DLL-ка

 
Renat Akhtyamov #:

реализуется на сокетах

да, это будет DLL-ка

И DLL будет отдавать торг. приказы? ))

Причина обращения: