Как программно сжать график по вертикали?

 

Для освобождения верхней и нижней горизонтальных полос основного окна с графиком высотой примерно по 10% от высоты окна, где я предполагаю разместить собственные объекты, которые бы не перекрывались графиком и не перекрывали график, график требуется сжать по вертикали. С помощью мыши это делается без проблем. Беда в том, что эту процедуру нужно время от времени повторять, поскольку со временем настройка сбивается.

Нельзя ли программно приподнять нижнюю и опустить верхнюю границы графика до новых фиксированных уровней?

Спасибо.

 
foxmag:

Для освобождения верхней и нижней горизонтальных полос основного окна с графиком высотой примерно по 10% от высоты окна, где я предполагаю разместить собственные объекты, которые бы не перекрывались графиком и не перекрывали график, график требуется сжать по вертикали. С помощью мыши это делается без проблем. беда в том, что эту процедуру нужно время от времени повторять, поскольку со временем настройка сбивается.

Нельзя ли программно приподнять нижнюю и опустить верхнюю границы графика до новых фиксированных уровней?

Спасибо.

https://www.mql5.com/ru/docs/constants/chartconstants/charts_samples#chart_height_in_pixels

Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
  • www.mql5.com
В этом разделе представлены примеры для работы со свойствами графика. Для каждого свойства приведены одна или две законченные функции, которые позволяют задавать/получать значение этого свойства. Эти функции можно использовать в своих MQL5 программах как есть. На рисунке показана графическая панель для наглядной демонстрации того, как изменение...
 
А по горизонтали? Мне не хватает еще 3-4 степени сжатия.
 
Alexander Voronkov:

https://www.mql5.com/ru/docs/constants/chartconstants/charts_samples#chart_height_in_pixels

К сожалению, мне не удалось найти среди свойств функций ChartGetInteger и ChartSetInteger на странице https://www.mql5.com/ru/docs/constants/chartconstants/enum_chart_property#enum_chart_property_integer подходящее моей цели. А цель моя в том, чтобы найти свойство, которое позволило бы сжать график по вертикали так, чтобы самый верхний видимый бар отодвинулся вниз от верхней кромки основного (нулевого) окна, а самый нижний - вверх от нижней кромки. В точности, как это происходит, если поместить курсор мыши в поле цен (при этом появляется двойная стрелка вверх-вниз рядом с курсором) и, удерживая нажатой левую кнопку, потянуть мышь вниз.

Есть ли такое свойство?

Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Свойства графиков
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Свойства графиков
  • www.mql5.com
Признак отрисовки ценового графика. Если установлено значение false, то отключается отрисовка любых атрибутов ценового графика и устраняются все отступы по краям графика: шкалы времени и цены, строка быстрой навигации, метки событий Календаря, значки сделок, тултипы индикаторов и баров, подокна индикаторов, гистограммы объёмов и т.д...
 
foxmag:

К сожалению, мне не удалось найти среди свойств функций ChartGetInteger и ChartSetInteger на странице https://www.mql5.com/ru/docs/constants/chartconstants/enum_chart_property#enum_chart_property_integer подходящее моей цели. А цель моя в том, чтобы найти свойство, которое позволило бы сжать график по вертикали так, чтобы самый верхний видимый бар отодвинулся вниз от верхней кромки основного (нулевого) окна, а самый нижний - вверх от нижней кромки. В точности, как это происходит, если поместить курсор мыши в поле цен (при этом появляется двойная стрелка вверх-вниз рядом с курсором) и, удерживая нажатой левую кнопку, потянуть мышь вниз.

Есть ли такое свойство?

Не оно?

  • CHART_HEIGHT_IN_PIXELS – свойство высоты графика в пикселях.
    //+------------------------------------------------------------------+ 
    //| Функция получает значение высоты графика в пикселях.             | 
    //+------------------------------------------------------------------+ 
    int ChartHeightInPixelsGet(const long chart_ID=0,const int sub_window=0) 
      { 
    //--- подготовим переменную для получения значения свойства 
       long result=-1; 
    //--- сбросим значение ошибки 
       ResetLastError(); 
    //--- получим значение свойства 
       if(!ChartGetInteger(chart_ID,CHART_HEIGHT_IN_PIXELS,sub_window,result)) 
         { 
          //--- выведем сообщение об ошибке в журнал "Эксперты" 
          Print(__FUNCTION__+", Error Code = ",GetLastError()); 
         } 
    //--- вернем значение свойства графика 
       return((int)result); 
      } 
    //+------------------------------------------------------------------+ 
    //| Функция устанавливает значение высоты графика в пикселях.        | 
    //+------------------------------------------------------------------+ 
    bool ChartHeightInPixelsSet(const int value,const long chart_ID=0,const int sub_window=0) 
      { 
    //--- сбросим значение ошибки 
       ResetLastError(); 
    //--- установим значение свойства 
       if(!ChartSetInteger(chart_ID,CHART_HEIGHT_IN_PIXELS,sub_window,value)) 
         { 
          //--- выведем сообщение об ошибке в журнал "Эксперты" 
          Print(__FUNCTION__+", Error Code = ",GetLastError()); 
          return(false); 
         } 
    //--- успешное выполнение 
       return(true); 
      }

 
foxmag:

К сожалению, мне не удалось найти среди свойств функций ChartGetInteger и ChartSetInteger на странице https://www.mql5.com/ru/docs/constants/chartconstants/enum_chart_property#enum_chart_property_integer подходящее моей цели. А цель моя в том, чтобы найти свойство, которое позволило бы сжать график по вертикали так, чтобы самый верхний видимый бар отодвинулся вниз от верхней кромки основного (нулевого) окна, а самый нижний - вверх от нижней кромки. В точности, как это происходит, если поместить курсор мыши в поле цен (при этом появляется двойная стрелка вверх-вниз рядом с курсором) и, удерживая нажатой левую кнопку, потянуть мышь вниз.

Есть ли такое свойство?

Нет, такой функции(свойства) нет, это надо писать.

 
Alexander Voronkov:

Нет, такой функции(свойства) нет, это надо писать.

Спасибо, доброго дня!

 
Alexander Voronkov:

Нет, такой функции(свойства) нет, это надо писать.

Не чересчур самоуверенное заявление???

//+------------------------------------------------------------------+
//| Функция получает значение высоты графика в пикселях.             |
//+------------------------------------------------------------------+
int ChartHeightInPixelsGet(const long chart_ID=0,const int sub_window=0)
  {
//--- подготовим переменную для получения значения свойства
   long result=-1;
//--- сбросим значение ошибки
   ResetLastError();
//--- получим значение свойства
   if(!ChartGetInteger(chart_ID,CHART_HEIGHT_IN_PIXELS,sub_window,result))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты"
      Print(__FUNCTION__+", Error Code = ",GetLastError());
     }
//--- вернем значение свойства графика
   return((int)result);
  }
//+------------------------------------------------------------------+
//| Функция устанавливает значение высоты графика в пикселях.        |
//+------------------------------------------------------------------+
bool ChartHeightInPixelsSet(const int value,const long chart_ID=0,const int sub_window=0)
  {
//--- сбросим значение ошибки
   ResetLastError();
//--- установим значение свойства
   if(!ChartSetInteger(chart_ID,CHART_HEIGHT_IN_PIXELS,sub_window,value))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты"
      Print(__FUNCTION__+", Error Code = ",GetLastError());
      return(false);
     }
//--- успешное выполнение
   return(true);
  }
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
  • www.mql5.com
В этом разделе представлены примеры для работы со свойствами графика. Для каждого свойства приведены одна или две законченные функции, которые позволяют задавать/получать значение этого свойства. Эти функции можно использовать в своих MQL5 программах как есть. На рисунке показана графическая панель для наглядной демонстрации того, как изменение...
 
foxmag:

Для освобождения верхней и нижней горизонтальных полос основного окна с графиком высотой примерно по 10% от высоты окна, где я предполагаю разместить собственные объекты, которые бы не перекрывались графиком и не перекрывали график, график требуется сжать по вертикали. С помощью мыши это делается без проблем. Беда в том, что эту процедуру нужно время от времени повторять, поскольку со временем настройка сбивается.

Нельзя ли программно приподнять нижнюю и опустить верхнюю границы графика до новых фиксированных уровней?

Спасибо.

А если создать отдельную панель с управляющими элементами? Не подойдёт?
 
Alexey Viktorov:

Не чересчур самоуверенное заявление???

Внимательно читайте требования!!!

 
Martin Cheguevara:
А если создать отдельную панель с управляющими элементами? Не подойдёт?

Это вариант, однако менее подходящий по сравнению с искомым. Спасибо.

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