Re: "Мой первый 'грааль' или Программирование на языке MQL4
Цитата:
Сообщение от FairyPrince
Каким кодом можно открывать окно редактирования(модификации) ордера ?
|
Есть средства MQL, а есть средства самой платформы MT.
Если бы с MT шла dll-ка, которая предоставляла бы возможность "вытаскивать" функции открытия соответствующих окон MT, то реализовать подобное можно было бы простым импортом функции из этой dll-ки и обращение к ней в MQL коде. Естественно, на входе надо было бы иметь тикет ордера и т.п. Но такого "в природе" нет (насколько мне известно). Поэтому путь писать самому dll-ку, которая будет открывать windows-окно с такими же параметрами стандартного окна модификации ордера (можно его даже скомпоновать окно в таком виде), как бы эмулируя стандартное окно модификации ордера. Т.е. здесь окно "делается" через средства разработчика Visual C++. Рисуем там окно с соответствующими параметрами, дополняем соответствующим кодом, прописав функцию вызова этого окна, и компилируем в dll. Параметры ордера передаем в это окно из MQL и в том же MQL принимаем параметры от этого окна, а уже через функции работы с ордерами (OrderModify) модифицируем средствами MQL ордер.
Также теоретически возможен вызов стандартного окна средствами эмуляции двойного клика по конкретному ордеру на вкладке "торговля" МТ, т.е. в коде (тот же dll) эмулируем двойной клик по соответствующей позиции экрана (там где наш "нужный" ордер). Данный способ будет трудоемким и менее гибким нежели первый способ с классическим окном windows через dll.
А вообще, не понятно, к чему такие "выкрутасы"? Какую задачу Вы хотите решать таким способом? Может, есть другие, более простые варианты, легко реализуемые стандартными средствами MQL?
Реализовать два эти способа возможно также напрямую в MQL стандартными средствами WinApi, т.е. путем импорта из user32.dll соответствующих функций и работы с ними.