Скачать MetaTrader 5

WindowHandle()

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
mt4trade
399
mt4trade  

Привет всем!

Функция WindowHandle(Symbol(),Period()) в тестере возвращает 0,

хотя окно в самом терминале точно открыто (даже несколько) и тестирование производится на том же инструменте и периоде.

В хелпе об этом ничего.

Незадокументированная фича? ;)

Slava
Модератор
6932
Slava  

https://www.mql5.com/ru/articles/1512

Особенности работы тестера стратегий на истории

  • Некоторые функции отрабатываются/пропускаются без вывода

    Это Sleep(), Alert(), SendMail(), SpeechText(), PlaySound(), MessageBox(), WindowFind(), WindowHandle(), WindowIsVisible()

mt4trade
399
mt4trade  

Понятно, спасибо!

Но подскажите тогда как из тестера получить дескриптор окна терминала, pls.

Slava
Модератор
6932
Slava  
mt4trade:

Понятно, спасибо!

Но подскажите тогда как из тестера получить дескриптор окна терминала, pls.


Средствами MQL4 - никак.

При помощи Win API.

mt4trade
399
mt4trade  
stringo:

Средствами MQL4 - никак.

При помощи Win API.

Ну это и не из тестера приходится использовать Win API.

Но вне тестера это хотя бы GetAncestor(hWnd,...) благодаря WindowHandle(...).

Что легче, чем искать по FindWindowW(...). Ведь наименование окна "плавает", а нужна однозначность.

Есть еще какие-то способы точно "найти себя" (получить дескриптор окна терминала) из тестера (и вообще)?

Естественно с помощью Win API.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий