МТ5. Определение угла наклона линии

 
В свойствах объектов есть

OBJPROP_ANGLE

Угол

double

Пробуем найти угол наклона тренда:

ObjectCreate(0,"angle",OBJ_TREND,0,time1,val1,time2,val2);

double result = ObjectGetDouble(0,"angle",OBJPROP_ANGLE);

При выводе всегда "0".

Как узнать угол наклона тренда ??

Спасибо.

 
exi >>:
В свойствах объектов есть

OBJPROP_ANGLE

Угол

double

Пробуем найти угол наклона тренда:

ObjectCreate(0,"angle",OBJ_TREND,0,time1,val1,time2,val2);

double result = ObjectGetDouble(0,"angle",OBJPROP_ANGLE);

При выводе всегда "0".

Как узнать угол наклона тренда ??

Спасибо.

А если предварительно задать значение свойства (угла)?

double angle=50;

ObjectGetDouble(0,"angle",OBJPROP_ANGLE,angle);

 
Rosh писал(а) >>

А если предварительно задать значение свойства (угла)?

double angle=50;

ObjectGetDouble(0,"angle",OBJPROP_ANGLE,angle);

Делал. Тоже ноль!

ObjectCreate(0,"angle",OBJ_TREND,0,time[5],high[5],time[1],high[1]);

ObjectSetDouble(0,"angle",OBJPROP_ANGLE,45);
double result = ObjectGetDouble(0,"angle",OBJPROP_ANGLE);

Результат так же ноль.

 
exi >>:


ObjectCreate(0,"angle",OBJ_TREND,0,time[5],high[5],time[1],high[1]);


Используйте OBJ_TRENDBYANGLE.

 
antt писал(а) >>

Используйте OBJ_TRENDBYANGLE.

Спасибо, углы начал считать. Но не правильно....

ObjectCreate(0,"angle",OBJ_TRENDBYANGLE,0,time[37],high[37],time[27],high[27]);
double result = ObjectGetDouble(0,"angle",OBJPROP_ANGLE);

угол = 287.2 ( если навести мышкой на линию, высвечивается правильный угол )

result = 360.1

ObjectCreate(0,"angle",OBJ_TRENDBYANGLE,0,time[1],low[1],time[1],high[1]);
double result = ObjectGetDouble(0,"angle",OBJPROP_ANGLE);

угол = 90

result = 360.1

 
Как, используя два последних значения или другим рациональным способом, определить угол наклона линии графика индикатора WPR? Чтобы можно было использовать зависимость от угла наклона этой линии. Спасибо.
 
maxvoronin74 #:
Как, используя два последних значения или другим рациональным способом, определить угол наклона линии графика индикатора WPR? Чтобы можно было использовать зависимость от угла наклона этой линии. Спасибо.

Угол наклона прямой вычисляется из уравнения прямой: y = kx + b. Коэффициент к - тангенс угла наклона к оси абсцисс. Имея две точки прямой (x1; y1) и (x2; y2), можно найти: k = (y2 - y1) / (x2 - x1). 

Если брать значения индикатора на соседних барах, то x2 - x1 равно 1. Выходит, что угол наклона - это просто разность значений индикатора на соседних барах.

 
Ihor Herasko #:

Угол наклона прямой вычисляется из уравнения прямой: y = kx + b. Коэффициент к - тангенс угла наклона к оси абсцисс. Имея две точки прямой (x1; y1) и (x2; y2), можно найти: k = (y2 - y1) / (x2 - x1). 

Если брать значения индикатора на соседних барах, то x2 - x1 равно 1. Выходит, что угол наклона - это просто разность значений индикатора на соседних барах.

Для примера я получил принтом два значения WPR: текущее и предыдущее. Текущее было -2,74. Предыдущее было -5,16. Как видим, значения одномерные. Нет второй координаты.
 
maxvoronin74 #:
Для примера я получил принтом два значения WPR: текущее и предыдущее. Текущее было -2,74. Предыдущее было -5,16. Как видим, значения одномерные. Нет второй координаты.

Вторая координата точки - индекс бара. Так как значения взяты с соседних баров, то расстояние по оси абсцисс - 1. В последнем предложении я как раз так и написал:

 Выходит, что угол наклона - это просто разность значений индикатора на соседних барах.
Если значение -5.16 - это более раннее значение (слева по графику) относительно значения -2.74, то тангенс угла наклона линии к оси абсцисс будет -2.42. Это примерно 67.5 градусов. Только не путайте видимый угол с реальным, т. к. в МТ по умолчанию установлен автоматический масштаб. 
 
Ihor Herasko #:

Вторая координата точки - индекс бара. Так как значения взяты с соседних баров, то расстояние по оси абсцисс - 1. В последнем предложении я как раз так и написал:

Если значение -5.16 - это более раннее значение (слева по графику) относительно значения -2.74, то тангенс угла наклона линии к оси абсцисс будет -2.42. Это примерно 67.5 градусов. Только не путайте видимый угол с реальным, т. к. в МТ по умолчанию установлен автоматический масштаб. 
Думаю, на самом деле идея основываться на угле наклона линии графика WPR не реализуема в MQL5 в принципе. WPR получает данные из тиков, которые, в свою очередь, не имеют периода. Приходят через разные периоды, в зависимости от интенсивности торговли на рынке. Надо бы сравнивать два значения WPR: текущее и со временем на какое-то количество миллисекунд более раннее. Но возможности привязать iWPR к точному времени нет или я об этом ничего не знаю. Если кто знает, как выйти из положения, подскажите.
 
maxvoronin74 #:
WPR получает данные из тиков

WPR - обычный индикатор. Его показания основаны на данных, полученных от баров. С чего Вы взяли, что он строится по тикам?

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