Обмен данными между двумя терминалами MT4? - страница 4

 

Я раньше делал такую связь между терминалами через WinAPI. В списке открытых окон искались все запущенные терминалы МТ4. Для получения котировок было 2 варианта:


1. Считывать котировки из "Обзора рынка" (контрол типа ListView) найденных терминалов. Это можно сделать только из внешней DLL.

2. Без применения внешней DLL. В каждом терминале запущенный эксперт записывает свои котировки (по своему инструменту) в текстовый описатель своего окна. А эксперт чужого терминала находит это окно (с названием инструмента) и считывает котировку.


Был один недостаток: если на одном из терминалов обрывается связь с торговым сервером, то эксперт на другом терминале не узнает об этом. Для избежания такой ситуации эксперты на каждом из терминалов должны при наличии связи записывать текущее время в текстовый описатель какого-нибудь окна (при втором варианте можно в своё окно) . Это делается через определённые малые промежутки времени (например 0.5 с). Ну а эксперт чужого терминала считывает это время и сравнивает со своим

 
Meat:

Я раньше делал такую связь между терминалами через WinAPI. В списке открытых окон искались все запущенные терминалы МТ4. Для получения котировок было 2 варианта:


1. Считывать котировки из "Обзора рынка" (контрол типа ListView) найденных терминалов. Это можно сделать только из внешней DLL.

А чуть по подробней можно, крайне интересно. Буду очень признателен
 
Sergey_Murzinov писал (а): А чуть по подробней можно, крайне интересно. Буду очень признателен
К сожалению исходника DLL (да и самой DLL) у меня в данный момент нет под руками. Но общий алгоритм я описывал вот тут: https://www.mql5.com/ru/forum/107435/page3

Если нужно более подробно, то можете найти готовую конструкцию в инете, воспользовавшись поисковиком (что-нибудь типа "получить текст из ListView")

 

Делал такую связку через файлы (до 5 терминалов), тормозов не наблюдал.

Время, необходимое на выполнение торговой операции, на несколько порядков больше времени на обмен информацией.

 
komposter:

Делал такую связку через файлы (до 5 терминалов), тормозов не наблюдал.

Время, необходимое на выполнение торговой операции, на несколько порядков больше времени на обмен информацией.

Понимаю, что уже прошло больше месяца, но может...

Вы затронули здесь тему связки терминалов через файлы, это то, что я хочу реализовать для себя. Два дня уже просидел на форумах, но так и не нашел каким путем мне пойти. Все, что мне нужно, это записанный файл из одного терминала копировать в другие терминалы(experts/files). Я не программист, не знаю как это сделать. Нарыл ф-ю ShellExecuteA, которой можно запустить внешнее приложение из индикатора, но если возможно это, есть и какой-то способ и для копирования сторонними ф-ми (не MQL-скими) из советника, чтобы не создавать дополнительный бат-файл. Помогите, пожалуйста, может есть какая-то ссылка на готовые скрипты. Мне самому наверное будет трудно разобраться, DLL и WinAMI для меня пока не изученная тема. Заранее спасибо.

 
Интересно, а зачем 2 ДЦ, возмите две положительно коррелированные пары, получите тот же результат.
 
iskatel писал (а):Понимаю, что уже прошло больше месяца, но может... Вы затронули здесь тему связки терминалов через файлы, это то, что я хочу реализовать для себя. Два дня уже просидел на форумах, но так и не нашел каким путем мне пойти. Все, что мне нужно, это записанный файл из одного терминала копировать в другие терминалы(experts/files). Я не программист, не знаю как это сделать. Нарыл ф-ю ShellExecuteA, которой можно запустить внешнее приложение из индикатора, но если возможно это, есть и какой-то способ и для копирования сторонними ф-ми (не MQL-скими) из советника, чтобы не создавать дополнительный бат-файл. Помогите, пожалуйста, может есть какая-то ссылка на готовые скрипты. Мне самому наверное будет трудно разобраться, DLL и WinAMI для меня пока не изученная тема. Заранее спасибо.

Посмотрите как реализовано здесь: 'Автоматическая оптимизация торгового робота в процессе реальной торговли'

Копирование при помощи ShellExecuteA.

 
xrust:
Интересно, а зачем 2 ДЦ, возмите две положительно коррелированные пары, получите тот же результат.

2 ДЦ, это из жизненного опыта " не ложить все яйца в одну корзину", мало ли: проблемы с выводом денег, подвисает сервер. Уверен подобных ситуаций Вы знаете по более меня. Ищу скрипты для автоматизации своей работы. На самом деле ДЦ будет не 2, больше. Мне нравится торговать вручную, а при повторении одних и тех же действий хоть где-то да ошибешься. И комп на нескольких терминалах выполнит операции гораздо быстрее чем я. Но похоже уже нашел то, что искал. Спасибо за Ваш форум, хорошую работу делаете.

Кстати, должен признаться, что такое "положительно коррелированные пары" я не знаю. Из всего предложения мне известно только слово "результат".

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

 
Система давно реализована..
хотите получить с подробностями.. стучитесь stu_dent [@]mailcan.com
 
DentStu:
Система давно реализована..
хотите получить с подробностями.. стучитесь stu_dent [@]mailcan.com

Да я уже сделал. Но все равно спасибо.

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