Математика: как вычислить угол между прямыми?

 
Соратники, не поскажет ли кто - как вычислить угол между прямыми??? Плииииииз!!!

А то вже запарился, если чесно, вспоминать школу... - разнокалиберные результаты получаются и седалищным нервом чую, что неправильно где-то считаю
(
// cos = (x1*x2 + y1*y2) / sqrt ((x1*x1 + y1*y1) * (x2*x2 + y2*y2))
// x1=X1-X; x2=X3-X2
// y1=Y1-Y; y2=Y3-Y2
)
 
Когда то давно делал советника который считал угол тренда и покупал если угол больше чем "signAngle=15"
как он работает не помню,но вот тебе кусок функции которая углы считала... надеюсь разберешься...

П.С. в твоем случае делаешь 2 прямоугольных треугольника,рисуя 2 горизонтальные линии слева направо,считаешь углы по функции, а потом складываешь... наверно так! :)




#define Pi 3.1415926535
 
extern  double signAngle=15; // if more than 15 
 
//        .|
//     C.  |A
//    .    |
//  --------
//      B
 
int BNF(){
 
double tHigh=High[Highest(Symbol(),0,MODE_HIGH,hBars,0)];
double tLow =   Low[Lowest(Symbol(),0,MODE_LOW,hBars,0)];
double A;
double B=hBars;
 
bool isBuy;
 
 
if (Ask-tLow>tHigh-Bid)    //uptrend;
   {
   A=(Ask-tLow)/Point;   
   isBuy=true;
   }
   else                    //downtrend
   {
   A=(tHigh-Bid)/Point;   
   isBuy=false;
   }
if (A==0) return(-1);   
 
 
 
double angle=MathArctan(A/B);
angle=Pi/angle;
angle=180/angle;
 
if (angle>signAngle)
   {
   if (isBuy)  return(OP_BUY);
         else  return(OP_SELL);
   }
return(-1);
}
 

Спасибо огромно, ща ВСЁ посчитаю! :о)

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