Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 966

 
kopeyka2:


А ещё лучше - чётко сформулируйте, что Вы хотите получить. Вероятно я покажу полный пример.

 
jdjahfkahjf:

Как это понимать?


Читайте справку: режимы оптимизации.

 

Подскажите, пожалуйста. Как происходит переинициализация эксперта (например, при исполнении ChartSetSymbolPeriod() )?

Правильно ли понимать, что собственно переинициализация касается только локальных переменных в функциях.

А каковы правила для глобальных переменных?

По моим наблюдениям после прохода OnDeinit - OnInit глобальные переменные наследуют свои значения.

Так и должно быть?

 
User_mt5:

Подскажите, пожалуйста. Как происходит переинициализация эксперта (например, при исполнении ChartSetSymbolPeriod() )?

Правильно ли понимать, что собственно переинициализация касается только локальных переменных в функциях.

А каковы правила для глобальных переменных?

По моим наблюдениям после прохода OnDeinit - OnInit глобальные переменные наследуют свои значения.

Так и должно быть?

Инициализация глобальных переменных программы и другие полезные знания.
Инициализация глобальных переменных программы и другие полезные знания.
  • 2016.11.29
  • www.mql5.com
Встал на форуме недавно вопрос по поводу верной/неверной инициализации глобальных переменных в программах...
 
Artyom Trishkin:

Спасибо.

Беда с этим mql в том, что он интуитивно не предсказуемый:

- ни в вопросе разницы глобальные-локальные

- ни в вопросе разницы индикаторы-эксперты.

(в приведенном обсуждении по ссылке оч. полезной также была последняя копия переписки с СД, спасибо)

 
Может кто подскажет, как программно выставить окна в терминале? (ширина, высота и привязка)
 
User_mt5:
Может кто подскажет, как программно выставить окна в терминале? (ширина, высота и привязка)

Открепить окно от терминала и тогда попробовать (я лично устанавливать эти свойства ещё не пробовал):

MQL5: Добавлены новые свойства для прикрепления/открепления графиков от основного окна терминала и управления их положением.

В перечисление ENUM_CHART_PROPERTY_INTEGER добавлены:

  • CHART_IS_DOCKED — окно графика закреплено. Если установить значение false, то график можно перетащить за пределы терминала.
  • CHART_FLOAT_LEFT — левая координата открепленного графика относительно виртуального экрана.
  • CHART_FLOAT_TOP — верхняя координата открепленного графика относительно виртуального экрана.
  • CHART_FLOAT_RIGHT — правая координата открепленного графика относительно виртуального экрана.
  • CHART_FLOAT_BOTTOM — нижняя координата открепленного графика относительно виртуального экрана.


В перечисление ENUM_TERMINAL_INFO_INTEGER добавлены:

  • TERMINAL_SCREEN_LEFT — левая координата виртуального экрана. Виртуальным экраном является прямоугольник, охватывающий все мониторы. Если в системе имеются два монитора и их порядок задан справа налево, то левая координата виртуального экрана может оказаться на границе двух мониторов.
  • TERMINAL_SCREEN_TOP — верхняя координата виртуального экрана.
  • TERMINAL_SCREEN_WIDTH — ширина терминала.
  • TERMINAL_SCREEN_HEIGHT — высота терминала.
  • TERMINAL_LEFT — левая координата терминала относительно виртуального экрана.
  • TERMINAL_TOP — верхняя координата терминала относительно виртуального экрана.
  • TERMINAL_RIGHT — правая координата терминала относительно виртуального экрана.
  • TERMINAL_BOTTOM — нижняя координата терминала относительно виртуального экрана.
 
Vladimir Karputov:

Открепить окно от терминала и тогда попробовать (я лично устанавливать эти свойства ещё не пробовал):

Спасибо.

Я попробовал. Работает так себе (в частности, окно минимизируется, при сворачивании терминала пропадает, но при разворачивании экрана ранее минимизированное открывается в свой размер, всякий раз нужно его снова минимизировать, чтоб не маячило).

Но это не то. Мне не нужно откреплять графики, нужно просто, например, выставить их мозайкой или как-то иначе по моему усмотрению. Похоже, что такого в МТ5 нету..

(общая идея в том, что в мультивалютном эксперте нужно просматривать торговлю по заранее неопределённым символам;
есть кнопка, открывающая все графики, по которым открыты ордера и позиции;
но окна открываются неконтролируемого размера и приходится вручную их упорядочивать на экране;
а я, ленивый, хотел бы, чтоб это делала моя интеллектуальнонедосягаемая программа :)

 
User_mt5:

Спасибо.

Я попробовал. Работает так себе (в частности, окно минимизируется, при сворачивании терминала пропадает, но при разворачивании экрана ранее минимизированное открывается в свой размер, всякий раз нужно его снова минимизировать, чтоб не маячило).

Но это не то. Мне не нужно откреплять графики, нужно просто, например, выставить их мозайкой или как-то иначе по моему усмотрению. Похоже, что такого в МТ5 нету..

(общая идея в том, что в мультивалютном эксперте нужно просматривать торговлю по заранее неопределённым символам;
есть кнопка, открывающая все графики, по которым открыты ордера и позиции;
но окна открываются неконтролируемого размера и приходится вручную их упорядочивать на экране;
а я, ленивый, хотел бы, чтоб это делала моя интеллектуальнонедосягаемая программа :)

А если при помощи WinAPI? Тем более ввели поддержку в MQL5

MQL5: В стандартную библиотеку добавлена поддержка работы с функциями WinAPI. Теперь для использования функций операционной системы в MQL5-программе нет необходимости вручную импортировать библиотеки и описывать сигнатуры функций. Достаточно подключить заголовочный файл из каталога MQL5\Include\WinAPI.

Функции WinAPI сгруппированы в отдельных файлах по назначению:

  • libloaderapi.mqh — работа с ресурсами
  • memoryapi.mqh — работа с памятью
  • processenv.mqh — работа с окружением
  • processthreadsapi.mqh — работа с процессами
  • securitybaseapi.mqh — работа с системой безопасности ОС
  • sysinfoapi.mqh — получение системной информации
  • winbase.mqh — общие функции
  • windef.mqh — константы, структуры и перечисления
  • wingdi.mqh — работа с графическими объектами
  • winnt.mqh — работа с исключениями
  • winreg.mqh — работа с реестром
  • winuser.mqh — управление окнами и интерфейсом
  • errhandlingapi.mqh — обработка ошибок
  • fileapi.mqh — работа с файлами
  • handleapi.mqh — работа с хэндлами
  • winapi.mqh — подключение всех функций (заголовочных файлов WinAPI)


Обвязка работает только с 64-битной архитектурой.

 
Vladimir Karputov:

А если при помощи WinAPI?

Наверное. Но здесь моя компетенция заканчивается.

Хорошо бы, чтоб была определённость для кого mql5 - для умных или для красивых. Я вот далеко не умный.
Мне, чтоб воспользоваться API, нужно описание и примеры. Без этого золотые горы библиотек останутся для меня невостребованными -
- я не умею и не стану просматривать тысячи строк некомментированного кода с надеждой на авось выловить что-то полезное.

Причина обращения: