Как сделать чтобы в окне "Новый ордер" терминала МТ5 первая строка была "Отложенный Ордер", а не "Исполнение по рынку", как сейчас по умолчанию?
Владимир, а скрипт не подойдёт или обязательно нужно, чтобы только в окне "Новый ордер"? В скрипте можете сразу задать по умолчанию все нужные Вам параметры. Со скриптом гораздо удобней, чем мучится с этим окном. Допустим в какой-то момент сложилась ситуация на рынке для установки отложенного ордера, тогда Вы просто берёте этот скрипт и бросаете его на график. Делов-то на 1-2 секунды.
С уважением, Владимир.
Можно сделать только через автоматизацию WinApi. Например, так:
#include <WinAPI/WinUser.mqh> int ItemType = 0; bool Showing = false; HANDLE Wnd = 0; #define MAX_STRING 256 #define CB_GETCURSEL 0x0147 #define CB_SETCURSEL 0x014E #define WM_KEYDOWN 0x0100 #define VK_DOWN 0x28 void FindWindow() { HANDLE h = GetForegroundWindow(); if(h != Wnd) { ushort name[MAX_STRING], title[MAX_STRING]; GetClassNameW(h, name, MAX_STRING); GetWindowTextW(h, title, MAX_STRING); const string strName = ShortArrayToString(name); const string strTitle = ShortArrayToString(title); PrintFormat("%llx %s %s", h, strName, strTitle); Showing = (strName == "#32770" && StringFind(strTitle, "Position:") == 0); } if(Showing) { HANDLE type = GetDlgItem(h, 0x2862); if(h != Wnd) { SendMessageW(type, CB_SETCURSEL, 0, 0); for(int i = 0; i < ItemType; i++) SendMessageW(type, WM_KEYDOWN, VK_DOWN, 0); } else { int newType = (int)SendMessageW(type, CB_GETCURSEL, 0, 0); if(newType != ItemType) { ItemType = newType; Print("New type: ", ItemType); } } } Wnd = h; }
Функцию FindWindow вызывать по таймеру раз в секунду из индикатора или в цикле из сервиса.
Функция запоминает позицию в выпадающем списке и восстанавливает её при последующем открытии диалога.
Владимир, а скрипт не подойдёт или обязательно нужно, чтобы только в окне "Новый ордер"? В скрипте можете сразу задать по умолчанию все нужные Вам параметры. Со скриптом гораздо удобней, чем мучится с этим окном. Допустим в какой-то момент сложилась ситуация на рынке для установки отложенного ордера, тогда Вы просто берёте этот скрипт и бросаете его на график. Делов-то на 1-2 секунды.
С уважением, Владимир.
Скрипт не подойдет. Очень много графиков и на каждом разные настройки, которые надо менять на ходу. В ручную через отложенный ордер удобнее.
Спасибо всем за ответы. Вопрос решён ответом в другой моей теме.
Отложенные ордера удобно устанавливать через контекстное меню на графике. Даже если их по алгоритму нужно выставлять много. Цена и тип автоматически выставляются в месте нахождения курсора мыши. Недостающие СЛ, ТП и время можно дополнить советником или скриптом.
Вот так как-то...
Пожалуй, ничего нового по данной теме и придумывать не надо...
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Как сделать чтобы в окне "Новый ордер" терминала МТ5 первая строка была "Отложенный Ордер", а не "Исполнение по рынку", как сейчас по умолчанию?