Не получается чтение данных из окна "Терминал" со вкладки "Торговля" с помощью dll

 
Пытаюсь прочесть данные из окна "Терминал" с помощью функций GetCurrentProcess, VirtualAllocEx и ReadProcessMemory. На вкладках "Новости", "Эксперты", "Журнал" и др. это получается, а на вкладках "Торговля" и "История торговли" не получается: функция из dll (созданная мной) правильно определяет количество строк во вкладках, а вместо текста выдает пустые строки. В чем тут дело? Может быть разработчиками запрещено чтение из этих вкладок? Спасибо.
 
foxmag:
Пытаюсь прочесть данные из окна "Терминал" с помощью функций GetCurrentProcess, VirtualAllocEx и ReadProcessMemory. На вкладках "Новости", "Эксперты", "Журнал" и др. это получается, а на вкладках "Торговля" и "История торговли" не получается: функция из dll (созданная мной) правильно определяет количество строк во вкладках, а вместо текста выдает пустые строки. В чем тут дело? Может быть разработчиками запрещено чтение из этих вкладок? Спасибо.

Там, по-моему, виртуальный список сделан. Поэтому не получится прочитать.

Да и непонятно, зачем так делать, если все эти данные можно прочитать при помощи MQL, а потом, если нужно, передать в DLL.

 
Ihor Herasko:

Там, по-моему, виртуальный список сделан. Поэтому не получится прочитать.

Да и непонятно, зачем так делать, если все эти данные можно прочитать при помощи MQL, а потом, если нужно, передать в DLL.

Читать с помощью виртуальной памяти получается. Беда в том, что не все вкладки. А это "...все эти данные можно прочитать при помощи MQL..." для меня новость. Подскажите, как... Меня интересует вкладка "Торговля". Спасибо.

 
foxmag:

Читать с помощью виртуальной памяти получается. Беда в том, что не все вкладки. А это "...все эти данные можно прочитать при помощи MQL..." для меня новость. Подскажите, как... Меня интересует вкладка "Торговля". Спасибо.

а как торгуют ваши ЕА, не проверяют ордера, баланс, эквити...?

 
Taras Slobodyanik:

а как торгуют ваши ЕА, не проверяют ордера, баланс, эквити...?

Все так. Но не все. Не знаю способа прочитать по номеру ордера комментарий брокера "Комментарий" со вкладки "Торговля" в окне "Терминал".

 
foxmag:

Все так. Но не все. Не знаю способа прочитать по номеру ордера комментарий брокера "Комментарий" со вкладки "Торговля" в окне "Терминал".

string  OrderComment();

а перед этим сделать OrderSelect()

 
foxmag:

Все так. Но не все. Не знаю способа прочитать по номеру ордера комментарий брокера "Комментарий" со вкладки "Торговля" в окне "Терминал".

if (OrderSelect(nTicket, SELECT_BY_TICKET) && OrderCloseTime() == 0)   // Ордер с номером nTicket выбран в списке рабочих ордеров
{
   sOrderComment = OrderComment();
}

В sOrderComment получаем комментарий к ордеру.

 
Taras Slobodyanik:

а перед этим сделать OrderSelect()

Не совсем правильно. Эта функция выдает комментарий, содержащийся в собственном ордере, отправленном на исполнение. Однако брокеры имеют право этот комментарий изменять. Измененный получить этой функцией невозможно.

 
Ihor Herasko:

В sOrderComment получаем комментарий к ордеру.

Спасибо. Я уже ответил чуть выше. )

 
foxmag:

Не совсем правильно. Эта функция выдает комментарий, содержащийся в собственном ордере, отправленном на исполнение. Однако брокеры имеют право этот комментарий изменять. Измененный получить этой функцией невозможно.

Можно.

 
Ihor Herasko:

Можно.

Приношу всем извинение. Еще раз проверил. Все получается. Спасибо за помощь. А я наказан за свою небрежность ненужной работой.

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