Как найти угол наклона с помощью функции iBarShift ()?

 

Я написал следующий скрипт после добавления нескольких тем с форума MQL5. Вместо использования функции ChartTimePriceToXY () я использовал функцию iBarShift (), чтобы получить индекс свечи с графика.

Но я получаю неправильный ответ. Пожалуйста, помогите мне исправить уравнение, чтобы я смог получить правильный ответ. Я предполагаю, что угол составляет примерно 45 градусов.

Код:

void OnStart()
  {

   datetime X1 = datetime(ObjectGetInteger(ChartID(), "1", OBJPROP_TIME, 0)),
            X2 = datetime(ObjectGetInteger(ChartID(), "1", OBJPROP_TIME, 1));
   double Y1 = ObjectGetDouble(ChartID(), "1", OBJPROP_PRICE, 0),
          Y2 = ObjectGetDouble(ChartID(), "1", OBJPROP_PRICE, 1);
   int x1_index = iBarShift(Symbol(), PERIOD_CURRENT, X1),
       x2_index = iBarShift(Symbol(), PERIOD_CURRENT, X2);

   Print("Angle in Degree = ", MathArctan((Y1 - Y2) / (x1_index - x2_index)) * 180 / M_PI);
  }

Выход:


 
jaffer wilson:

Я предполагаю, что угол составляет примерно 45 градусов.

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

 
jaffer wilson:

Я предполагаю, что угол составляет примерно 45 градусов.

Не может быть градусов, там где шкалы имеют разные единицы измерения.

 
jaffer wilson:

Я написал следующий скрипт после добавления нескольких тем с форума MQL5. Вместо использования функции ChartTimePriceToXY () я использовал функцию iBarShift (), чтобы получить индекс свечи с графика.

Но я получаю неправильный ответ. Пожалуйста, помогите мне исправить уравнение, чтобы я смог получить правильный ответ. Я предполагаю, что угол составляет примерно 45 градусов.

Код:

Выход:


угол наклона трендовой линии

 
Значит, я никогда не смогу рассчитать уклон, не установив масштаб.
 
jaffer wilson:
Значит, я никогда не смогу рассчитать уклон, не установив масштаб.

сможете, но угол всегда зависит от масштаба


 
jaffer wilson:
Значит, я никогда не смогу рассчитать уклон, не установив масштаб.
Рассчитать сможете, градусы получить не сможете при любом масштабе.
 
jaffer wilson:

Я написал следующий скрипт после добавления нескольких тем с форума MQL5. Вместо использования функции ChartTimePriceToXY () я использовал функцию iBarShift (), чтобы получить индекс свечи с графика.

Но я получаю неправильный ответ. Пожалуйста, помогите мне исправить уравнение, чтобы я смог получить правильный ответ. Я предполагаю, что угол составляет примерно 45 градусов.

Код:

Выход:


А нужны ли вообще градусы? разве не было бы более естественным измерять наклон как приращение на бар или на интервал времени?

то есть просто k = (Y1 - Y2) / (x1_index - x2_index)

 
transcendreamer:

А нужны ли вообще градусы? разве не было бы более естественным измерять наклон как приращение на бар или на интервал времени?

то есть просто k = (Y1 - Y2) / (x1_index - x2_index)

Тебе точно об этом подсказали ! ))
Причина обращения: