технический вопрос по List-View Controls в МТ5 - список открытых позиций

 

такая вот, друзья, задача.

список открытых позиций в МТ5 организован как List-View Controls.

каждая строка - это item, который состоит из subitems,

каждый  subitem - это элемент одного из столбцов

хандл окна соответсвующего данному List-View Controls, я нахожу,

далее мне надо пробежаться по всем строкам для item,

найти строку с заданным тикетом и 

1. раскрыть окно для операции Modify position для заданного тикета

или

2. раскрыть окно для операции Close position для заданного тикета

как рабоать с этими раскрытыми окнами я разберусь,

а вот с тем что выделено красным - опыта совершенно нет.

может у кого-то есть какие-то наработки в этом направлении ?

время поджимает....

Совершение сделок - Торговые операции - MetaTrader 5
Совершение сделок - Торговые операции - MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
Denis Sartakov:

такая вот, друзья, задача.

список открытых позиций в МТ5 организован как List-View Controls.

каждая строка - это item, который состоит из subitems,

каждый  subitem - это элемент одного из столбцов

хандл окна соответсвующего данному List-View Controls, я нахожу,

далее мне надо пробежаться по всем строкам для item,

найти строку с заданным тикетом и 

1. раскрыть окно для операции Modify position для заданного тикета

или

2. раскрыть окно для операции Close position для заданного тикета

как рабоать с этими раскрытыми окнами я разберусь,

а вот с тем что выделено красным - опыта совершенно нет.

может у кого-то есть какие-то наработки в этом направлении ?

время поджимает....

Нахрена чесать правой ногой левое ухо? Все это проще сделать через торговые функции или 

 #include <Trade\PositionInfo.mqh>

СБ->

 
Alexey Volchanskiy:

Нахрена чесать правой ногой левое ухо? Все это проще сделать через торговые функции или 

 #include <Trade\PositionInfo.mqh>

СБ->

ты, друг, смотрю, не понял о чем речь.

клиент хочет эмулировать ручное открытие/закрытие/модификацию позиций в МТ5 на хеджинг счетах.

1. когда его прога выдает PositionOpen(....), я должен открыть соответствующее окно, заполнить его, и нажать ОК,

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

2. то же самое для PositionClose(.....)

3. то же самое для PositionModify(....)

сама оригинальная прога изменению не подлежит.

 
Denis Sartakov:

ты, друг, смотрю, не понял о чем речь.

клиент хочет эмулировать ручное открытие/закрытие/модификацию позиций в МТ5 на хеджинг счетах.

1. когда его прога выдает PositionOpen(....), я должен открыть соответствующее окно, заполнить его, и нажать ОК,

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

2. то же самое для PositionClose(.....)

3. то же самое для PositionModify(....)

сама оригинальная прога изменению не подлежит.

а-а-а, ну цель была непонятна из начального поста

посмотрите в сторону autoit, там много чего по работе с виндовым интерфейсом.

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

 
Denis Sartakov:

такая вот, друзья, задача.

список открытых позиций в МТ5 организован как List-View Controls.

каждая строка - это item, который состоит из subitems,

каждый  subitem - это элемент одного из столбцов

хандл окна соответсвующего данному List-View Controls, я нахожу,

Сам не пробовал, но где-то проскакивала информация от тех, кто пытался получить доступ к ListView. Не получилось потому, что данных в списке фактически нет, они хранятся в памяти приложения, а в контрол выводятся посредством собственной прорисовки (тип OwnerDraw). Это все касается МТ5. В МТ4, вроде бы, контрол получает реальные значения своего содержимого.

 
Ihor Herasko:

Сам не пробовал, но где-то проскакивала информация от тех, кто пытался получить доступ к ListView. Не получилось потому, что данных в списке фактически нет, они хранятся в памяти приложения, а в контрол выводятся посредством собственной прорисовки (тип OwnerDraw). Это все касается МТ5. В МТ4, вроде бы, контрол получает реальные значения своего содержимого.

в мт4, как и в мт5,  в контроллере тоже ничего нет.

но выход вроде имеется - ListView имеет возможность послать родителю

сообщение с просьбой заполнить соответствующую  структуру, которая собственно и будет содержать

всю инфу, отображаемую в ListView  "посредством собственной прорисовки", как вы пишите.

буду пробовать.

 
Denis Sartakov:

в мт4, как и в мт5,  в контроллере тоже ничего нет.

но выход вроде имеется - ListView имеет возможность послать родителю

сообщение с просьбой заполнить соответствующую  структуру, которая собственно и будет содержать

всю инфу, отображаемую в ListView  "посредством собственной прорисовки", как вы пишите.

буду пробовать.

А что-то из серии "распознавание текста" попробовать? Наверняка есть библиотеки, да и шрифт стандартный.

ЗЫ: Погуглил, их целая куча

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