Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2721

 

Спасибо за полезную ссылку.

Google AI посоветовал при открытии счета в Metatrader5 в поле Сервер установить IP надежного Access Server.

И прислал инструкцию, как определить этот IP.
На всякий случай привожу ее ниже.
Может кому-нибудь это поможет.

Пошаговая инструкция

Подключитесь к нужному серверу Access server.

В терминале MT5 нажмите на индикатор связи в правом нижнем углу и выберите Access server UK. 

Убедитесь, что связь установилась (индикатор стал зеленым/синим).

Откройте командную строку (CMD): Нажмите клавиши Win + R на клавиатуре, введите cmd и нажмите Enter.

Введите команду для поиска соединений

В черном окне консоли введите следующую команду и нажмите Enter:

netstat -n -b

(Или просто netstat -n, если первая команда требует прав администратора).

Найдите процесс терминала

В появившемся списке ищите строку, где в колонке «Исполняемый файл» указан metatrader5.exe или terminal64.exe.

Смотрите на колонку «Внешний адрес» (Foreign Address).

Вам нужен адрес, который заканчивается на порт :443 (стандартный порт MT5 для связи с сервером).

Пример: Если вы видите 193.218.144.55:443, то 193.218.144.55 — это и есть нужный IP-адрес.

Зафиксируйте адрес в MT5

Вернитесь в терминал: Файл -> Подключиться к торговому счету.

В поле Сервер удалите старое название и вставьте полученный IP-адрес.

Нажмите ОК. Теперь терминал будет пытаться соединиться напрямую по этому адресу, 

минуя автоматический поиск точек доступа. [1, 2, 3, 4]


Чтобы понять, какой именно адрес принадлежит MetaTrader 5, 

когда в списке нет названия процесса, нам нужно сопоставить открытые соединения с ID программы.

Вот как это сделать:

Шаг 1: Узнаем ID процесса (PID)

   1. Откройте Диспетчер задач (Ctrl + Shift + Esc).

   2. Перейдите на вкладку Подробности (Details).

   3. Найдите в списке terminal64.exe (это и есть MetaTrader 5).

   4. Посмотрите число в колонке ИД процесса (PID). Например, пусть это будет 2672


Шаг 2: Находим IP через командную строку

Теперь вернитесь в командную строку, где вы вводили netstat, но используйте расширенную команду:

netstat -ano | findstr 2672

Результат: 

  TCP    192.168.1.102:57196    23.106.59.251:443      ESTABLISHED     2672


23.106.59.251    IP Access server UK

 
klycko #:

Как подключиться к моему счету, я знаю.
Я спрашивал, как исключить проблемный Access server Fin?

Чтобы работа продолжилась только с Access server UK. 

Ну же, у тебя же один терминал, так, зайди под тем  логином, который тебе нужен.
 
Andrei Sokolov #:
Привет. Объясните, пожалста, что такое 

Справку читал, но смысла не понял. У отложек этот параметр возвращает нули.

Этот идентификатор называется ORDER_POSITION_ID (в контексте MetaTrader 5) или просто Position ID.
Он связывает конкретный ордер с позицией, которую этот ордер открыл или изменил. В отличие от тикета ордера, который уникален для каждой заявки, Position ID остается неизменным на протяжении всей «жизни» позиции — от открытия до полного закрытия, даже если она корректировалась несколькими промежуточными сделками.
Нужно ли вам узнать, как программно получить этот идентификатор через MQL5 или Python?
Ответы ИИ могут содержать ошибки.
 
Roman Shiredchenko #:
По строчкам разберите - поймёте я всё закоментил.... время сработки смотрите - в течение бара! 
У вас была жёсткая  привязка к дневному таймфрейму
Просто в коде разберитесь - поймёте - там всё элементарно!
Привязка к таймфрейму нужна для определения закрытия в том или ином таймфрейме 
Ваш вариант я тоже привязал к таймфрейму 
Ваш вариант сразу распечатался верно и работает верно 
Мой вариант в тестере работал хорошо, но вот на реале заметил не срабатывание, не сразу заметил, и было бы познавательно понять ошибку 
 
VVT #:
Привязка к таймфрейму нужна для определения закрытия в том или ином таймфрейме 
Ваш вариант я тоже привязал к таймфрейму 
Ваш вариант сразу распечатался верно и работает верно 
Мой вариант в тестере работал хорошо, но вот на реале заметил не срабатывание, не сразу заметил, и было бы познавательно понять ошибку 
В реале по другим символам или с другим магиком были сделки?
 
VVT #:
Нужно ли вам узнать, как программно получить этот идентификатор через MQL5 или Python?

Спасиб. Через MQL5.

Вопрос в том что у неисполненных ордеров ORDER_POSITION_ID возвращает 0. Будет ли ID позиции, после исполнения ордера всегда равен тикету ордера? Если нет, то как их отслеживать?

В общем вопрос в том как правильно отследить от какого ордера какая позиция.

 

Добрый день!

Как сделать чтоб в тестере мт5 отрывались несколько разных валютных пар?

Нужно для тестирования робота который торгует на нескольких парах. Пробовал ChartOpen, но это работает только в терминале, а в тестере нет.

 
Trader3000 #:

Добрый день!

Как сделать чтоб в тестере мт5 отрывались несколько разных валютных пар?

Нужно для тестирования робота который торгует на нескольких парах. Пробовал ChartOpen, но это работает только в терминале, а в тестере нет.

В тестере  нажми на выбор символы, там с верху будет "Все символы Образа рынка"
 
VVT #:
Привязка к таймфрейму нужна для определения закрытия в том или ином таймфрейме 
Ваш вариант я тоже привязал к таймфрейму 
Ваш вариант сразу распечатался верно и работает верно 
Мой вариант в тестере работал хорошо, но вот на реале заметил не срабатывание, не сразу заметил, и было бы познавательно понять ошибку 
Вот по строкам и разбирайте и отладчиком в таком случае и смотрите - какой переменной и когда какое значение присваивается. С заходом в ф-ии смотрите - для этого отладчик  и создан. По какой строке не понятно - тогда спрашивайте.... там и так всё закоментировано  подробно.
 
Igor Nagorniuk #:
В тестере  нажми на выбор символы, там с верху будет "Все символы Образа рынка"
Попробовал, тогда получается не тестирование а оптимизация в терминале. А можно сделать чтоб именно в тестере открывались вкладки с другими парами на которых торгует?