Errores, fallos, preguntas - página 1741

 
typename genera una cadena en tiempo de compilación, por lo que hay que "tirar de la cola".


¿Quiere obtener el tipo real del objeto por puntero?

Algo así como una función:

string GetPointerTypename(void *ptr);
 
Ilyas:
El typename genera una cadena en tiempo de compilación, por lo que hay que "tirar de la cola".


¿Quiere obtener el tipo de objeto real por puntero?

Algo así como una función:

string GetPointerTypename(void *ptr);

Sí. Aquí.

Stanislav Korotky:
Me gustaría que fuera más sutil. ¿Pero cómo? En MQL,typename(this) en el método virtual base devuelve la clase base. En C++typeid(*this).name() en el método virtual base devuelve la clase real del objeto.

 
fxsaber:
¿Es una característica sólo en las Publicaciones de Perfil?
Se ha arreglado esta tarde. Ahora está ocurriendo de nuevo.
 

Parece que no puedo reunirlo todo.

int a=1;//a1
int b=2;//b1
int aa(int a, int b)
{
return(a+a+b+b);
}

uno de los a y b en retorno debe ser externo //a1 y //b1. No pasa por esto.

 
Yuriy Asaulenko:

a + ::a + b + ::b

Pero, en general, debería recibir un tirón de orejas por dicha práctica.

 
Комбинатор:

a + ::a + b + ::b

Pero en general, debería ser castigado por tal práctica.

Gracias) No tengo un libro de C++ a mano. Pero visualmente recuerdo que parecía tener esto. Debo haberlo olvidado. Nunca lo había utilizado para este fin. Bueno, ahora tengo que cambiar la variable en todas partes - ahora.

Bueno, en realidad esto es para lo que fue diseñado. Así que te equivocas. No debes abusar de ella.

 

Al arrastrar(CHARTEVENT_OBJECT_DRAG) un objeto gráfico OBJ_CHART con el ratón, el intervalo de visualización actual en OBJ_CHART se restablece.

Por favor, elimine este restablecimiento en la próxima versión.

 

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Bichos, errores, preguntas

Ilyas, 2016.10.18 09:24

¿Por qué no incluye la lista de inicialización en el cuerpo? En sentido figurado, un objeto de clase (incluyendo su esto) se inicializa en el signo ':'
¿Por qué entonces?
class A
{
  const int a;
  
  A() : this.a(0) {} // 'this' - struct member undefined && '.' - member(s) initialization expected
//  A() : a(this.a) {} // no problem
};
 

Identificador

Descripción

Tipo de propiedad

CHART_COMMENT

Texto del comentario sobre el gráfico

cadena

NOMBRE_EXPERTO_GRÁFICO

Nombre del Asesor Experto lanzado en el gráfico con el chart_id especificado

cadena

NOMBRE_DEL_GUIÓN_DEL_GRÁFICO

Nombre del script que se ejecuta en el gráfico con el chart_id especificado

cadena

Añade en negrita "sólo lectura" en la Ayuda.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Mucho tiempo dedicado a la localización. EA

class CHARTOBJECT
{
public:
  const string Name;
  const long Chart;

  int GetSubWindow( void ) const
  {
    const ulong StartTime = GetMicrosecondCount();
    
    const int Res = ObjectFind(this.Chart, this.Name);
    
    Print((string)(GetMicrosecondCount() - StartTime) + " mcs.");

    return(Res);
  }

  CHARTOBJECT( const ENUM_OBJECT object_type, const long chart_id = 0  ) :
               Name((string)MathRand()), Chart(chart_id)
  {
    ObjectCreate(this.Chart, this.Name, object_type, 0, 0, 0);
  }

  ~CHARTOBJECT( void )
  {
    if (this.GetSubWindow() != -1)
      ObjectDelete(this.Chart, this.Name);
  }
  
  long GetProperty( const ENUM_OBJECT_PROPERTY_INTEGER Property, const int Modifier = 0 ) const
  {
    return(ObjectGetInteger(this.Chart, this.Name, Property, Modifier));
  }
};

CHARTOBJECT Chart(OBJ_CHART);
CHARTOBJECT* Bitmap;

void OnInit()
{
  Bitmap = new CHARTOBJECT(OBJ_BITMAP_LABEL, Chart.GetProperty(OBJPROP_CHART_ID));
}

void OnDeinit( const int Reason )
{
  Bitmap.GetSubWindow();
  
  delete Bitmap;
}

Después de eliminarlo del gráfico, habrá una salida de registro

2016.10.22 19:35:51.362 Test9 (AUDCAD,M1)       Abnormal termination
2016.10.22 19:35:48.351 Test9 (AUDCAD,M1)       3005619 mcs.

En tres segundos se retiró y salió. Reproducido sólo en la versión de lanzamiento. Durante la depuración todo es normal.

Por favor, confirme con usted mismo. En el modo de guión, el juego no funcionó. Sólo el EA.