Мы приступаем к реализации связи между Excel и MetaTrader 5, но сначала необходимо понять некоторые важные моменты, так вам не придется ломать голову, пытаясь понять, почему что-то работает или нет. И прежде, чем вы нахмуритесь, глядя на интеграцию Python и Excel, давайте посмотрим, как с помощью xlwings можно (в некоторой степени) управлять MetaTrader 5 через Excel. То, что мы покажем здесь, будет в основном сконцентрировано на образовательных задачах. Но не думайте, что мы можем делать только то, что будет рассмотрено здесь.
Теперь вспомните, что сервер мини-чата будет использовать порт 27015 и что эхо-сервер, который будет работать на Excel, также будет его использовать. Поэтому, теоретически, у нас здесь будет конфликт интересов. Можно подумать, что операционная система не позволит серверу вмешиваться или пытаться прослушивать один и тот же порт, используя один и тот же протокол. В данном случае мы используем протокол TCP. Но мы можем использовать TCP на одном сервере и UDP на другом. В этом случае не будет проблем с использованием одного и того же порта.
Однако, когда мы используем один и тот же порт, один и тот же протокол и на одном и том же хосте, всё становится немного сложнее.
Я хочу подчеркнуть этот момент, чтобы те, кто хочет стать продвинутым пользователем сокетов, поняли, что при работе с сокетами необходимо соблюдать определенные меры предосторожности. Я хочу, чтобы вы, прежде чем увидеть, как реализована связь между Excel и MetaTrader 5, поняли, что происходит, когда два разных сервера используют одни и те же ресурсы. В этом случае используется один и тот же протокол, один и тот же порт и один и тот же хост. Чтобы понять это, сначала нужно открывать сервер мини-чата и дать ему дождаться соединения.
Теперь открываем эхо-сервер в Excel и оставим его в ожидании соединения. То есть у нас получится нечто похожее на это:
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Опубликована статья Моделирование рынка (Часть 11): Сокеты (V):
Теперь вспомните, что сервер мини-чата будет использовать порт 27015 и что эхо-сервер, который будет работать на Excel, также будет его использовать. Поэтому, теоретически, у нас здесь будет конфликт интересов. Можно подумать, что операционная система не позволит серверу вмешиваться или пытаться прослушивать один и тот же порт, используя один и тот же протокол. В данном случае мы используем протокол TCP. Но мы можем использовать TCP на одном сервере и UDP на другом. В этом случае не будет проблем с использованием одного и того же порта.
Однако, когда мы используем один и тот же порт, один и тот же протокол и на одном и том же хосте, всё становится немного сложнее.
Я хочу подчеркнуть этот момент, чтобы те, кто хочет стать продвинутым пользователем сокетов, поняли, что при работе с сокетами необходимо соблюдать определенные меры предосторожности. Я хочу, чтобы вы, прежде чем увидеть, как реализована связь между Excel и MetaTrader 5, поняли, что происходит, когда два разных сервера используют одни и те же ресурсы. В этом случае используется один и тот же протокол, один и тот же порт и один и тот же хост. Чтобы понять это, сначала нужно открывать сервер мини-чата и дать ему дождаться соединения.
Теперь открываем эхо-сервер в Excel и оставим его в ожидании соединения. То есть у нас получится нечто похожее на это:
Автор: Daniel Jose