Про алгоритм масштабирования графика в MT

 

Требуется программно рассчитать (измерять нельзя) цены у верхней и нижней границ видимого графика. Масштаб графика - по умолчанию, т.е. не фиксированный. Пыталсо определить 'на глаз' как MT масштабирует график - нифига не вышло. Чаще округляет до круглого уровня, но отступы вверху и внизу разные - вверху может быть не ближайший сверху круглый, а через один-два. Иногда правый бар вообще не умещается в рамку видимости

Поэтому вопрос, наверно, к разработчикам - поделитесь плз алгоритмом авто-масштабирования графика

А если есть др решение - расскажите плз

 

Если правильно понял, то возможно, вариант из этой статьи подойдёт: Рецепты MQL5 - Разработка мультивалютного индикатора для анализа расхождения цен 

 
Alexander Puzanov:

Требуется программно рассчитать (измерять нельзя) цены у верхней и нижней границ видимого графика.


без dll?
 

не об этом речь?

WindowPriceMax

Возвращает максимальное значение вертикальной шкалы указанного подокна текущего графика.



int  WindowPriceMax(
   int       index=0   // индекс подокна
   );
 
WindowPriceMin

Возвращает минимальное значение вертикальной шкалы указанного подокна текущего графика.



int  WindowPriceMin(
   int       index=0   // индекс подокна
   );
 
 
Alexander Puzanov:

Требуется программно рассчитать (измерять нельзя)...

На основании каких данных рассчитать? Что нельзя измерять (т.е. какими данными нельзя пользоваться?)
 
Anatoli Kazharski:

Возможно вариант из этой статьи подойдёт: Рецепты MQL5 - Разработка мультивалютного индикатора для анализа расхождения цен 

Спасибо. У вас отступ сверху / снизу задан принудительно и равен 3%, а мне нужно определить те отступы, которые использует оригинальный алгоритм авто-масштабирования MT

 

Alexandr Bryzgalov:
без dll?

 Однозначно без

 

Alexandr Bryzgalov:

не об этом речь?

Измерить не проблема и без dll, напр функцией ChartXYToTimePrice + ChartGetInteger. Проблема в том, что этого графика нет в реальности - это теоретически сдвинутый вправо график, в котором видны всего 2 последних бара. Поэтому макс / мин цена баров известна, а как этот размах смаштабирует MT - неизвестно. Чтобы посчитать нужно знать алгоритм масштабирования