Работа WinApi в Mql5

 

здравствуйте коллеги, такой вопрос:

как с помощью WinApi сделать кнопку "Новый ордер" не активной в MT5?

и есть возможность отменить отправку ордера с помощью обработчика TradeTransaction?

заранее спасибо

 

написать Hook, перехватывающий событие нажатие на кнопку "новый ордер",

в этом хуке - отжимать кнопку и возвращать управление...

 
Dmitry Melnichenko:

здравствуйте коллеги, такой вопрос:

как с помощью WinApi сделать кнопку "Новый ордер" не активной в MT5?

и есть возможность отменить отправку ордера с помощью обработчика TradeTransaction?

заранее спасибо

где WinApi раздобыли, если не секрет? //ссылку можно в личку?
 
Dmitry Melnichenko:

здравствуйте коллеги, такой вопрос:

как с помощью WinApi сделать кнопку "Новый ордер" не активной в MT5?

и есть возможность отменить отправку ордера с помощью обработчика TradeTransaction?

заранее спасибо


Есть простой способ без WinAPI - дать человеку инвест-пароль. Итог тот же самый.
 

1. Кнопку Бай и Селл отжимать не нужно. Нажимать кнопку "отменить ордер" в большинстве случаев уже поздно.

2. Как использовать WInAPI - читай MSDN. Там надо подключить пару dll. 

3. отслеживать придется чуть ли не каждые несколько милисекунд секунд активность кнопок продать и купить и пеерхватывать кнопку мыши.  И это не 100% вариант. 

 
Изменить кредитное плече до минимума. 
 
Dmitiry Ananiev:

1. Кнопку Бай и Селл отжимать не нужно. Нажимать кнопку "отменить ордер" в большинстве случаев уже поздно.

2. Как использовать WInAPI - читай MSDN. Там надо подключить пару dll. 

3. отслеживать придется чуть ли не каждые несколько милисекунд секунд активность кнопок продать и купить и пеерхватывать кнопку мыши.  И это не 100% вариант. 


так просто, свежо еще в памяти, с месяц назад писал ДЛЛ, менял функциональность  toolbar Timeframes,

надо было сделать так, чтобы при нажатии на  ToolButtonID[i]  на всех чартах 

устанавливался  один и тот же соответствующий таймфрейм.

внедрился в терминал таким вот хуком

gh_Hook = SetWindowsHookEx(WH_CALLWNDPROC,
                               (HOOKPROC)CallWndProc, 
                                (HINSTANCE) gh_InstanceDLL, 
                                gui_TimeFramesToolBar_Window_ThreadId
                           );

то же самое и в данном случае, вот здесь  CallWndProc(...)  смотреть, если получил управление по нажатию кнопки "Новый ордер",

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

 
Denis Sartakov:


так просто, свежо еще в памяти, с месяц назад писал ДЛЛ, менял функциональность  toolbar Timeframes,

надо было сделать так, чтобы при нажатии на  ToolButtonID[i]  на всех чартах 

устанавливался  один и тот же соответствующий таймфрейм.

внедрился в терминал таким вот хуком

то же самое и в данном случае, вот здесь  CallWndProc(...)  смотреть, если получил управление по нажатию кнопки "Новый ордер",

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


спасибо, буду пробовать!

 
Denis Sartakov:


так просто, свежо еще в памяти, с месяц назад писал ДЛЛ, менял функциональность  toolbar Timeframes,

надо было сделать так, чтобы при нажатии на  ToolButtonID[i]  на всех чартах 

устанавливался  один и тот же соответствующий таймфрейм.

внедрился в терминал таким вот хуком

то же самое и в данном случае, вот здесь  CallWndProc(...)  смотреть, если получил управление по нажатию кнопки "Новый ордер",

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

Если не секрет, почему так сделали? Ведь задачу можно решить на чистом mql.
 
Alexey Kozitsyn:
Если не секрет, почему так сделали? Ведь задачу можно решить на чистом mql.


ха, ха, наверное по привычке, кроме того,

слышал, что на VPS  подобные решения на "чистом" mql  вроде как глючат...

а нужно было именно для VPS...

 
Renat Akhtyamov:
где WinApi раздобыли, если не секрет? //ссылку можно в личку?
WinApi это формат ДЛЛ. И не более того. Вы можете сами сделать WinApi DLL возвращающую Hello...
Причина обращения: