Вычисление масштаба графика самостоятельно

 
господа разработчики или кто в курсе подскажите пожалуйста как вычисляется при автоматически настроенном масштабе (не Фиксированном) отмеченные красным области на фото?
в идеале как считается алгоритм автоматического масштаба я так понимаю определяется минимум и максимум из тех баров которые влазят в окно графика но там остаётся  свободное место сверху и снизу вот оно интересует как оно рассчитывается или всё как то иначе? 

 
Money_Maker:
господа разработчики или кто в курсе подскажите пожалуйста как вычисляется при автоматически настроенном масштабе (не Фиксированном) отмеченные красным области на фото?
в идеале как считается алгоритм автоматического масштаба я так понимаю определяется минимум и максимум из тех баров которые влазят в окно графика но там остаётся  свободное место сверху и снизу вот оно интересует как оно рассчитывается или всё как то иначе? 


А поискать в документации???

https://docs.mql4.com/ru/chart_operations

https://docs.mql4.com/ru/chart_operations/windowpricemax и ещё много интересного...

 
AlexeyVik:

А поискать в документации???

https://docs.mql4.com/ru/chart_operations

https://docs.mql4.com/ru/chart_operations/windowpricemax и ещё много интересного...


 возможно я вопрос составил не точно или Вы его так прочитали( как посчитать максимум и минимум баров отображаемых на мониторе я в курсе..  или получить значение минимума шкалы отображаемых баров я хочу сам посчитать своё количество баров ВОПРОС В ТОМ ЧТО ТАМ ОСТАЁТСЯ СВОБОДНОЕ РАССТОЯНИЕ Я НЕ МОГУ ПОНЯТЬ КАК ПОЛУЧАЕТСЯ ИМЕННО ТАКОЕ РАССТОЯНИЕ...
PS СюДА ПИШУ ТОЛЬКО В РЕДКОМ СЛУЧАЕ! ТОЛЬКО ЕСЛИ ОТВЕТ НАЙТИ/ПОНЯТЬ НЕ УДАЁТСЯ! СНАЧАЛА ЧИТАЮ ДОКУМЕНТАЦИЮ, ДУМАЮ САМ, ПОТОМ GOOGLE
 
Money_Maker:
 возможно я вопрос составил не точно или Вы его так прочитали( как посчитать максимум и минимум баров отображаемых на мониторе я в курсе..  или получить значение минимума шкалы отображаемых баров я хочу сам посчитать своё количество баров ВОПРОС В ТОМ ЧТО ТАМ ОСТАЁТСЯ СВОБОДНОЕ РАССТОЯНИЕ Я НЕ МОГУ ПОНЯТЬ КАК ПОЛУЧАЕТСЯ ИМЕННО ТАКОЕ РАССТОЯНИЕ...
PS СюДА ПИШУ ТОЛЬКО В РЕДКОМ СЛУЧАЕ! ТОЛЬКО ЕСЛИ ОТВЕТ НАЙТИ/ПОНЯТЬ НЕ УДАЁТСЯ! СНАЧАЛА ЧИТАЮ ДОКУМЕНТАЦИЮ, ДУМАЮ САМ, ПОТОМ GOOGLE

Написал скрипт. Выяснилось следующее. Сверху максимума графика остается 25-26 пикселов. Снизу ниже минимума 11-12 пикселов, видимо, зависит от округлений. 

К тому же, если первый видимый бар является максимумом, или минимумом. Тогда может косячить. Срезает хвосты.

Ко всему прочему выявились огрехи в справке. Функции WindowPriceMax и WindowPriceMin имеют тип double, а, в справке int. Функции WindowBarsPerChart() и WindowFirstVisibleBar() возвращают значения баров окна при отжатой кнопке "Смещение графика к концу". Что не отражено в справке. Если нажать указанную кнопку, то число реально видимых баров надо считать самому.

 
Mislaid:

Написал скрипт. Выяснилось следующее. Сверху максимума графика остается 25-26 пикселов. Снизу ниже минимума 11-12 пикселов, видимо, зависит от округлений. 

К тому же, это верно, если первый видимый бар не является максимумом, или минимумом. Тогда может косячить. Срезает хвосты.

Ко всему прочему выявились огрехи в справке. Функции WindowPriceMax и WindowPriceMin имеют тип double, а, в справке int. Функции WindowBarsPerChart() и WindowFirstVisibleBar() возвращают значения баров окна при отжатой кнопке "Смещение графика к концу". Что не отражено в справке. Если нажать указанную кнопку, то число реально видимых баров надо считать самому.

да срезание я тоже заметил, а пиксели сверху снизу я думаю они в пунктах считаются график то фиксируется по ценам, тоже думаю что это какое то округление правда процент почему то разный (вобщем пока выяснить как рассчитывается это расстояние не удалось)
 
Money_Maker:
да срезание я тоже заметил, а пиксели сверху снизу я думаю они в пунктах считаются график то фиксируется по ценам, тоже думаю что это какое то округление правда процент почему то разный (вобщем пока выяснить как рассчитывается это расстояние не удалось)
Я думаю, что, нет. Заданы верхние и нижние колонтитулы в пикселях. Отсюда и танцуем.
 
подскажите пожалуйста есть такое свойство графика: CHART_HEIGHT_IN_PIXELS его можно устанавливать или только получать? 
у меня такая задача я устанавливаю фиксированые максимум и минимум графику по 50 свечам и хочу добавить зазор 10 % сверху и снизу  (от высоты графика в пикселях), я думал попробовать изменить высоту в пикселях но так не работает, подскажите кто в курсе буду признателен
 
Money_Maker:
подскажите пожалуйста есть такое свойство графика: CHART_HEIGHT_IN_PIXELS его можно устанавливать или только получать? 
у меня такая задача я устанавливаю фиксированые максимум и минимум графику по 50 свечам и хочу добавить зазор 10 % сверху и снизу  (от высоты графика в пикселях), я думал попробовать изменить высоту в пикселях но так не работает, подскажите кто в курсе буду признателен
Так это зависит от того в какой функции используешь. Если ChartGetInteger то чтение, а если ChartSetInteger то назначается.
 
AlexeyVik:
Так это зависит от того в какой функции используешь. Если ChartGetInteger то чтение, а если ChartSetInteger то назначается.
та вот проблема в том что не устанавливается( поэтому и спросил
функция даёт тру 
проверяю до и после установки ничего не меняется и на графике тоже без изменений
 
Money_Maker:
та вот проблема в том что не устанавливается( поэтому и спросил
функция даёт тру 
проверяю до и после установки ничего не меняется и на графике тоже без изменений
Попробуй ChartSetDouble() и свойства CHART_FIXED_MAX, CHART_FIXED_MIN. В справке есть комментарии про то, что если ты сам устанавливаешь масштаб, то свойство CHART_SCALEFIX предварительно должно быть установлено true.
 
Mislaid:
Попробуй ChartSetDouble() и свойства CHART_FIXED_MAX, CHART_FIXED_MIN. В справке есть комментарии про то, что если ты сам устанавливаешь масштаб, то свойство CHART_SCALEFIX предварительно должно быть установлено true.
спасибо, максимумы и минимумы ставятся всё работает на каждой свечке но вот тени упираются в край хотелось небольшой процент зазора сделать.. и пока не совсем понимаю как это предлагается делать посредством MQL4 тк же для меня тёмный лес функция CHART_SCALE_PT_PER_BAR не давно её вроде анонсировали в каком то из МТ так как ранее не работала.. но сейчас оно пока у меня тоже не работает(
Причина обращения: