Подскажите пожалуйста, как узнать масштаб текущего графика
по оси цен? Мне это нужно для того, чтобы вычислить угол наклона
построенной мной линии тренда. Линия ведь строится по реальным
значениям, которые, к примеру на графике usdeur колеблются в десятитысячных
долях и если считать угол по ним, он все время близок к 90, а на
графике все строится в масштабе и угол соответственно меняется
гораздо больше.
- Линия Ганна
- Не строит "Трендовую линию по углу"
- Алерт для графических фигур (треугольник)
Через API можно получить ширину окна в пикселях, затем на MQL4 определить количество баров в окне и посчитать масштаб.
Integer:
Через API можно получить ширину окна в пикселях, затем на MQL4 определить количество баров в окне и посчитать масштаб.
Речь идет о ценовой оси! Количество баров сдесь не причем.Через 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:
То Force_Majeure Где-то видел это обсуждалось. Где не помню. Суть в том, что можно выдернуть max и min цены с графика, а затем и считать масштаб. Сам пока не делал.
Integer:
Через API можно получить ширину окна в пикселях, затем на MQL4 определить количество баров в окне и посчитать масштаб.
Речь идет о ценовой оси! Количество баров сдесь не причем.Через API можно получить ширину окна в пикселях, затем на MQL4 определить количество баров в окне и посчитать масштаб.
То Force_Majeure Где-то видел это обсуждалось. Где не помню. Суть в том, что можно выдернуть max и min цены с графика, а затем и считать масштаб. Сам пока не делал.
Ах да!!! Тогда совсем просто, можно получить номер первого видимого бара на графике и количество баров на графике и определить минимум и максимум.
Всем Спасибо! Talex, отдельное Биг сенкс! :) Твой код помог больше
всего, посмотрев на него, сделал все что мне нужно.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь