GetDouble

Facilita el acceso a las funciones del API MQL5 ObjectGetDouble() obtiene los valores de las propiedades double (tipo float y double) del objeto gráfico, asignado a la instancia de la clase. Hay dos versiones distintas para llamar a esta función:

Obtener el valor de la propiedad sin hacer ninguna comprobación

double  GetDouble(
   ENUM_OBJECT_PROPERTY_DOUBLE  prop_id,         // Identificador de la propiedad double
   int                          modifier=-1      // Modificador 
   ) const

Parámetros

prop_id

[in]  Identificador de las propiedades de tipo double.

modifier=-1

[in]  Modificador (índice) de las propiedades double.

Valor de retorno

Si se ejecuta correctamente, devuelve el valor de la propiedad de tipo double; en caso de error, devuelve EMPTY_VALUE.

Obtener el valor de la propiedad llevando a cabo una comprobación

bool  GetDouble(
   ENUM_OBJECT_PROPERTY_DOUBLE  prop_id,      // Identificador de la propiedad double
   int                          modifier,     // Modificador 
   double&                      value         // Enlace a la variable
   ) const

Parámetros

prop_id

[in]  Identificador de las propiedades de tipo double.

modifier

[in]  Modificador (índice) de las propiedades double.

value

[out]  Referencia a una variable que almacena las propiedades de tipo double.

Valor de retorno

true - si se ejecuta correctamente, false - si no se pueden obtener las características double.

Ejemplo:

//--- ejemplo de CChartObject::GetDouble
#include <ChartObjects\ChartObject.mqh> 
//--- 
void OnStart() 
  { 
   CChartObject object; 
   //--- 
   for(int i=0;i<object.LevelsCount();i++) 
     { 
      //--- obtiene los valores de los niveles mediante el método sencillo 
      printf("Level %d value=%f",i,object.GetDouble(OBJPROP_LEVELVALUE,i)); 
      //--- obtiene los valores de los niveles mediante el método clásico 
      double value; 
      if(!object.SetDouble(OBJPROP_LEVELVALUE,i,value)) 
        { 
         printf("Error al obtener la propiedad double %d",GetLastError()); 
         return
        } 
      else 
         printf("Nivel %d valor=%f",i,value); 
     } 
  }