Угол наклона инидикатора

 

Добрый день уважаемые знатоки! Разрабатываю индикатор основанный на дивергенции MACD(имеющиеся в свободном доступе не устраивают по причине отображения "неправильной" дивергенции). Столкнулся с проблемой определения угла наклона линии проведенной через два значения МАКД.  

Пробовал следующим образом:

       m0=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);

       m4=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,4);

      x0=0;

      x1=4; 

    ang=atan((m4-m0)/(x1-x0));

    Print("ANGLE_TAN = ",180*ang/3.14); 

В результате получаю очень маленькое число, не соответствующее реальному углу.

Пробовал в качестве оси икс использовать не номер бара, а количество секунд :

 A = iTime(NULL,Period(),0);

 TimeToStruct(A,st1); 

 x0 =  st1.day*24*60*60+st1.hour*60*60+ st1.min*60 +st1.sec;

 A = iTime(NULL,Period(),4);

 TimeToStruct(A,st1); 

 x1 =  st1.day*24*60*60+st1.hour*60*60+ st1.min*60 +st1.sec;  

И все равно очень маленькое число получается. Пробовал находить гипотенузу и через арксинус находить угол, не помогло.

Подскажите, как можно решить эту проблему?    

 

 

В пунктах на бар. Но в этом случае будет от таймфрейма зависить.

Можно относительно. Относително ATR или диапазона.

 
Разумеется будет от ТФ зависеть. Не совсем понятно, как угол меряется в пунктах на бар. Пусть скажем  значение МАКД в первой точке = 0.0004, во второй точке = 0,0006. По правилам геометрии, для определения угла я должен разность значений МАКД разделить на разность иксов и взять от отношения арктангенс, в результате получить угол наклона в градусах/радианах. А как можно угол мерить в других величинах, не понимаю.       
 

Дак елементарно жеж - (разница значений в 2х точках) / (расстояние меж точками). В ° имеет смысл мерять величины, которые измеряются в одинаковых единицах и маштабируются в одинаковой пропорции - напр, кол-во пива на рыло. А здесь - измерьте этот ° транспортиром, потом поменяйте масштаб и ° станет другим, хотя в пп/бар останется тем же. Так и нафига он под градусом нужен :)

 

felixifx:

....Пробовал находить гипотенузу и через арксинус находить угол, не помогло.

Подскажите, как можно решить эту проблему?    

 


Угол находится не через арксинус, а через арктангенс  отношения отрезков по осям.


Должно получиться 40 градусов. (40°)

 
Градус ° - Alt-248
 
Vinin:
Градус ° - Alt-248

К цифре претензий нет?
 
paukas:

К цифре претензий нет?

Так цифра же на любителя
 
Vinin:

Так цифра же на любителя

Резонно....
 
Vinin:

Так цифра же на любителя

Я такую предпочитаю: ° = Alt + 0176
 
ale002:

Дак елементарно жеж - (разница значений в 2х точках) / (расстояние меж точками). В ° имеет смысл мерять величины, которые измеряются в одинаковых единицах и маштабируются в одинаковой пропорции - напр, кол-во пива на рыло. А здесь - измерьте этот ° транспортиром, потом поменяйте масштаб и ° станет другим, хотя в пп/бар останется тем же. Так и нафига он под градусом нужен :)

Речь идет о тангенсе угла наклона, = отношение приращения У к отрезку Х, которое, иногда (в экономике, например), называют эластичностью У по отношению к Х. Можно и по другому назвать, но никак не углом.