Calcular los grados de inclinacion de una Media Movil.

 

Buenas, tengo un problema al calcular la inclinacion de una media movil.

He usado 2 formulas, una con atan() y otra con MathArctan(), ambas hacen fallar el codigo nada mas empezar, lo curioso es que si en el Comment en vez de meter la funcion metes la ecuacion funciona perfectamente salvo por el refresco que este cambia cuando le apetece pero las coordenadas si las cambia bien.

/* CALCULAR GRADOS DE LWMA */
#property strict

#define RADAGRAD 57.2958      // Constant Radiant to Gradius.
#define PI 3.14159265         // Constant PI.

int init()
{
   return 0;
}

int start()
{
   // TIME
   datetime tfo = iTime(Symbol(), Period(), 0);    // Origin time.
   datetime tf = iTime(Symbol(), Period(), 1);     // Final time.
   // PRICE
   double priceoo = iMA(Symbol(), Period(), 14, 0, MODE_LWMA, PRICE_CLOSE, 0);   // Origin price.
   double priceo = iMA(Symbol(), Period(), 14, 0, MODE_LWMA, PRICE_CLOSE, 1);    // Final price.
   // COORDINATES FOR ORIGIN
   int ox = NULL;    // Origin X coordinate.
   int oy = NULL;    // Origin Y coordinate.
   // FINAL COORDINATES
   int x = NULL;     // Final X coordinate.
   int y = NULL;     // Final Y coordinate.
   // FUNCTIONS
   double f1 = NULL; // Function with MathArctan().
   double f2 = NULL; // Function with atan().
   
   f1 = MathArctan((y - oy) / (x - ox)) * RADAGRAD;
   f2 = (atan((y - oy) / (x - ox)) * 180) / PI;
   // Calculate Chart coordinates.
   bool CoOrigen = ChartTimePriceToXY(0, 0, tfo, priceoo, ox, oy);
   bool CoFin = ChartTimePriceToXY(0, 0, tf, price, x, y);
   // Print coordinates and angle on screen.
   Comment ("COORDENADA oX: " + string(ox) + "   |   COORDENADA oY: " + string(oy) +
            "\nCOORDENADA X: " + string(x) + "   |   COORDENADA Y: " + string(y) +
            "\nDIFERENCIAL X: " + string(x - ox) + "   |   DIFERENCIAL Y: " + string(y - oy) +
            "\nANGULO ARCTAN: " + string(MathArctan((y - oy) / (x - ox)) * -1));
   
   return 0;
}

 Alguien tiene alguna idea de porque puede ser?.

Muchas gracias. 

 
Alejandro Gil Cal:

Buenas, tengo un problema al calcular la inclinacion de una media movil.

He usado 2 formulas, una con atan() y otra con MathArctan(), ambas hacen fallar el codigo nada mas empezar, lo curioso es que si en el Comment en vez de meter la funcion metes la ecuacion funciona perfectamente salvo por el refresco que este cambia cuando le apetece pero las coordenadas si las cambia bien.

 Alguien tiene alguna idea de porque puede ser?.

Muchas gracias. 

https://www.mql5.com/en/market/product/2730

https://www.mql5.com/en/market/product/2123

Technical Indicator Angle MA all types
Technical Indicator Angle MA all types
  • 15.00 USD
  • 2014.02.04
  • Jose Miguel Soriano
  • www.mql5.com
"Angle MAs all types" is a MetaTrader 4 indicator which reports the angle formed with a horizontal line and a moving average. It allows selecting MA method to use, period, price and the number of bars on which the angle is calculated. The angle...
 
Buenas, gracias por contestar, pero me interesa saber porque no va el código que puse, el calculo en radios lo hace bien, el problema es al visualizarlo en el Comment.