Дайте, пожалуйста, больше свободы по управлению окнами графиков

 

На данный момент средствами MQL5, без применения WinAPI, нельзя управлять окнами графиков:

  • нельзя изменять размер окна графика программно
  • нельзя делать любое окно графика активным
  • нельзя программно размещать окна графиков каскадом, мозаикой, горизонтально и т.д.

Можно-ли ожидать в дальнейшем появление свойств и методом для работы с размерами окон графиков?

Как пример - переключение вкладок, но реализация при помощи WinAPI:

 

В процессе реализации "хотелки" по управлению окнами стали появляться решения: 

  1. Применение шаблонов к OBJ_CHART 
  2. Установка статусной строки (OHLC) в OBJ_CHART
 
Сосбно один вопрос -- зачем?
 
TheXpert:
Сосбно один вопрос -- зачем?

Например переключение окон графика для показа текущей ситуации по инструменту при полуавтоматической торговле - эксперт будет делать активным график на котором появился сигнал по входу в рынок. Человеку остается проанализировать и подтвердить или отвергнуть операцию. 

А вот доступ к размерам окон графиков позволит размещать рядом несколько (например два) графиков:

Два графика рядом 

Два графика рядом

Такое сочетание графиков даст возможность реализовать утилиты и анализаторы с более удобным интерфейсом. На рисунке выше, окно правого графика не перекрывает левое окно и в левом окне можно выводить дополнительную информацию или другой таймфрейм. 

 

Вот пример как можно располагать два окна:

 

 

Для этого есть объект OBJ_CHART

А основной график должен быть контейнером, и менять его программно не надо.

А то дойдет до переноса окна МТ на другой монитор )

 
komposter:

Для этого есть объект OBJ_CHART

А основной график должен быть контейнером, и менять его программно не надо.

А то дойдет до переноса окна МТ на другой монитор )

Было бы не плохо. Надоело ютиться на одном мониторе когда второй свободен.
 
komposter:

Для этого есть объект OBJ_CHART

А основной график должен быть контейнером, и менять его программно не надо.

А то дойдет до переноса окна МТ на другой монитор )

   Объект OBJ_CHART можно отлично разместить в дополнительном подокне - но это подокно нельзя разместить вертикально.
   И пока подокно нельзя разместить вертикально, приходится изворачиваться применяя WinAPI для размещения окон.
   А если бы подокно можно было разместить вертикально, то площадь основного графика использовалась бы намного эффективнее.
 
Переключение вкладок оказалось можно реализовать с помощью CHART_BRING_TO_TOP. Вот только переключения идут неравномерно, с задержками. Такое ощущение, что это связанно с поступлением тиков. Скрипт переключения графиков прилагаю.
Файлы:
 
barabashkakvn:
Переключение вкладок оказалось можно реализовать с помощью CHART_BRING_TO_TOP. Вот только переключения идут неравномерно, с задержками. Такое ощущение, что это связанно с поступлением тиков

Для решения проблемы задержек используй ChartRedraw();

bool ChartBringToTop(const long chart_ID=0)
  {
//--- сбросим значение ошибки
   ResetLastError();
//--- покажем график поверх всех других
   if(!ChartSetInteger(chart_ID,CHART_BRING_TO_TOP,0,true))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты"
      Print(__FUNCTION__+", Error Code = ",GetLastError());
      return(false);
     }
   ChartRedraw(chart_ID);
//--- успешное выполнение
   return(true);
  }
 
komposter:

А то дойдет до переноса окна МТ на другой монитор )

Давно пора, вот приборы на автомобиле же не делают в одном окне, чтоб перелистывать на ходу, а шесть графиков на одном мониторе - это перебор.

Давно замечена прямая корреляция между успешностью трейдера и размером окон инструментов 

 

https://www.mql5.com/ru/forum/9156

 

КОРРЕЛЯЦИЯ [correlation] — величина, характеризующая взаимную зависимость двух случайных величин, X и Y, безразлично, определяется ли она некоторой причинной связью или просто случайным совпадением (ложной К.).

slovari.yandex.ru 

 

Не верю я в случайные совпадения

 
Kos:

Для решения проблемы задержек используй ChartRedraw();

Спасибо. Теперь работает.
Причина обращения: