Как узнать масштаб графика по ценовой оси?

 
Подскажите пожалуйста, как узнать масштаб текущего графика по оси цен? Мне это нужно для того, чтобы вычислить угол наклона построенной мной линии тренда. Линия ведь строится по реальным значениям, которые, к примеру на графике usdeur колеблются в десятитысячных долях и если считать угол по ним, он все время близок к 90, а на графике все строится в масштабе и угол соответственно меняется гораздо больше.
 
Через API можно получить ширину окна в пикселях, затем на MQL4 определить количество баров в окне и посчитать масштаб.
 
Integer:
Через API можно получить ширину окна в пикселях, затем на MQL4 определить количество баров в окне и посчитать масштаб.
Речь идет о ценовой оси! Количество баров сдесь не причем.


То Force_Majeure Где-то видел это обсуждалось. Где не помню. Суть в том, что можно выдернуть max и min цены с графика, а затем и считать масштаб. Сам пока не делал.
 
double WindowPriceMax( int index=0)

Возвращает максимальное значение вертикальной шкалы указанного подокна текущего графика (0-главное окно графика, подокна индикаторов нумеруются с 1). Если индекс подокна не указан, то возвращается максимальное значение ценовой шкалы главного окна графика.
См. также WindowPriceMin(), WindowFirstVisibleBar(), WindowBarsPerChart()

А угол в градусах или радианах вычислять неправильно. Лучше в пункт/время.

 

Честно говоря, не понял вопроса, но давненько делал нечто...

#import "user32.dll"
int GetClientRect(int hWnd,int lpRect[]);
#import
 
далее в инит
 
hwnd=WindowHandle(Symbol(),Period());
   if(hwnd>0)
   {
     GetClientRect(hwnd,rect);
     GPixels=rect[2]; // здесь функция возвращает кол-во пикселов по горизонтали
     VPixels=rect[3]; // здесь функция возвращает кол-во пикселов по вертикали
   }
 
и в итоге получалась функция
 
double Scale()
{
   double priceRange = WindowPriceMax(0) - WindowPriceMin(0);
   double barsCount = WindowBarsPerChart();
   double chartScale = (priceRange / Point) / barsCount;
   return(chartScale*GPixels/VPixels);
}
 
VBAG:
Integer:
Через API можно получить ширину окна в пикселях, затем на MQL4 определить количество баров в окне и посчитать масштаб.
Речь идет о ценовой оси! Количество баров сдесь не причем.


То Force_Majeure Где-то видел это обсуждалось. Где не помню. Суть в том, что можно выдернуть max и min цены с графика, а затем и считать масштаб. Сам пока не делал.

Ах да!!! Тогда совсем просто, можно получить номер первого видимого бара на графике и количество баров на графике и определить минимум и максимум.
 
Всем Спасибо! Talex, отдельное Биг сенкс! :) Твой код помог больше всего, посмотрев на него, сделал все что мне нужно.
Причина обращения: