Привет, 2 вопроса по mt5:
1. Есть ли скрипт для удаления границ чарта? Есть для мт4, на мт5 не мгу найти? На форуме есть похожий вопрос(https://www.mql5.com/en/forum/444812), о там скрипт не работает.
Если под границами чарта имеется в виду шкала цены и времени, то тут все просто:
void OnStart() { ChartSetInteger(0, CHART_SHOW_DATE_SCALE, false); ChartSetInteger(0, CHART_SHOW_PRICE_SCALE, false); }
Если что-то другое, то поясните.
2. Как настроить открытие нового чарта не на весь теминал(maximize)? У меня например уже открыто пару чартов в нужном мне расположении, но когда открываю новое, то оно открывается на весь экран и приходится заново настраивать расположение.
Скорее всего, дело в шаблоне default.tpl. В нем есть данные о размерах открываемого графика. Попробуйте перезаписать шаблон в этот файл с окна графика, которое не максимизировано.
Если под границами чарта имеется в виду шкала цены и времени, то тут все просто:
Если что-то другое, то поясните.
Скорее всего, дело в шаблоне default.tpl. В нем есть данные о размерах открываемого графика. Попробуйте перезаписать шаблон в этот файл с окна графика, которое не максимизировано.
Нет, речь идет о самих границах окна, приложил скрин. У меня есть скрипт для mt4(также приложил файл), который удаляет эти границы, а для mt5 не нашел.
По второму вопросу все сработало, спасибо.
#include <WinAPI\WinAPI.mqh> #define GWL_STYLE -16 #define WS_CAPTION 0x00C00000 #define WS_BORDER 0x00800000 #define WS_SIZEBOX 0x00040000 #define WS_DLGFRAME 0x00400000 #define SWP_NOSIZE 0x0001 #define SWP_NOMOVE 0x0002 #define SWP_NOZORDER 0x0004 #define SWP_NOACTIVATE 0x0010 #define SWP_FRAMECHANGED 0x0020 void OnStart() { const HANDLE iChartParent = user32::GetParent(ChartGetInteger(0, CHART_WINDOW_HANDLE)); const int iNewStyle = (int)(user32::GetWindowLongW(iChartParent, GWL_STYLE) & (~(WS_BORDER | WS_DLGFRAME | WS_SIZEBOX))); if ((iChartParent > 0) && (iNewStyle > 0)) { DebugBreak(); // В терминале сделать окно внутренним. user32::SetWindowLongW(iChartParent, GWL_STYLE, iNewStyle); user32::SetWindowPos(iChartParent, 0, 0, 0, 0, 0, SWP_NOZORDER | SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE | SWP_FRAMECHANGED); DebugBreak(); // Посмотреть результат. } }
Переделал под пятерку, работает только по F5.
Интересно, зачем было тогда искать такой способ, если он "бесполезен на практике"? То есть изначально на вопрос "Как убрать границы окна?" можно было ответить, что это бесполезно (не нужно). Таким образом, тема вырождается сама собой. ))
Интересно, зачем было тогда искать такой способ, если он "бесполезен на практике"? То есть изначально на вопрос "Как убрать границы окна?" можно было ответить, что это бесполезно (не нужно). Таким образом, тема вырождается сама собой. ))
Я ищу способ, который работает не только в отладке, но и в реальной работе. Только в отладке бесполезно изначально. Тема актуальна.
Тоже интересно. В MT4 можно было убрать через Windows API. Почему в MT5 прикрыли лавочку? Сделали бы хотя бы штатную возможность тогда: очень экранное место экономит.
конкуренты (не буду показывать пальцем, говорят неприлично) сделали иначе - меню поместили в декор (верхнюю рамку) окна, а всякие доп.панели только справа или слева..оказалось очень удобно
При том что современные мониторы более широкие чем высокие, то разумная экономия места по вертикали довольно важна

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Привет, 2 вопроса по mt5:
1. Есть ли скрипт для удаления границ чарта? Есть для мт4, на мт5 не мгу найти? На форуме есть похожий вопрос(https://www.mql5.com/en/forum/444812), о там скрипт не работает.
2. Как настроить открытие нового чарта не на весь теминал(maximize)? У меня например уже открыто пару чартов в нужном мне расположении, но когда открываю новое, то оно открывается на весь экран и приходится заново настраивать расположение.