Errores, fallos, preguntas - página 1695

 
Rashid Umarov:
¿Qué significa ORDER_TYPE_BUY? Sólo tienes que imprimirlo y asegurarte de que es 0. Por lo tanto, no hay ningún orden allí.

Es decir, después de abrir una posición en la estructura MqlTradeTransaction order_type simplemente no está disponible? ¿O es sólo 0 a pesar de todo?

Rashid, si no te importa, ¿podrías darme una respuesta más fácil? Bueno, lo imprimiré y será 0, pero ¿cómo debo entenderlo?


Aquí vamos... Mientras escribía, Vladimir me dio una respuesta completa. Gracias, lo tengo. Como siempre, no he leído la documentación...

 
Karputov Vladimir:

Para diferentes tipos de transacciones se rellenan diferentes campos de la estructura MqlTradeTransaction:

como se puede ver, para TRADE_TRANSACTION_DEAL_ADD se ha utilizado el .order_type no está rellenado.

Por cierto, a veces es engañoso. ¿por qué, si el valor no se rellena, no se puede especificar como WRONG_VALUE, por ejemplo?
 
Alexey Viktorov:


Rashid, si no es mucha molestia, ¿puedes darme una respuesta más sencilla? Así que lo imprimiré, será 0, pero ¿cómo lo entiendo?

En este caso no es necesario mirar el tipo de orden, simplemente no está ahí
 
Alexey Kozitsyn:
Por cierto, esto a veces es engañoso... ¿Por qué no se puede especificar como WRONG_VALUE, por ejemplo, si el valor no se rellena?
Yo mismo pisé este rastrillo. No se puede decir )
 
Rashid Umarov:
Yo mismo he pisado este rastrillo. No se puede decir )
Es que WRONG_VALUE está implícito en el tipo de cualquier enumeración, ¿no? Así que lo harías))
 
Rashid Umarov:
No es necesario mirar el tipo de orden en este caso - simplemente no está allí

Qué lento soy escribiendo... Mientras editaba mi post...

Alexey Viktorov:

Añadido.

Bueno... Mientras tecleaba, Vladimir me dio una respuesta completa. Muchas gracias. Como siempre, no he leído la documentación...

Gracias.

 

¿Cómo puedo conocer mi mango en un gráfico en un indicador?ChartIndicatorName no es adecuado, porque devuelve un nombre corto. Y con el mismo nombre puede estar ya funcionando el mismo indicador con diferentes parámetros de entrada.

Necesito que se pueda eliminar el indicador del gráfico y sus cálculos.

 
fxsaber:

¿Cómo puedo conocer mi mango en un gráfico en un indicador?ChartIndicatorName no es adecuado, porque devuelve un nombre corto. Y con el mismo nombre puede estar ya funcionando el mismo indicador con diferentes parámetros de entrada.

Necesito que se pueda eliminar el indicador del gráfico y sus cálculos.

¿Qué pasa si cambio el nombre corto al crearlo?
 

¿No debería mi ejemplo heredar / tomar un método de una clase padre? Cómo obtener un método del padre en las clases derivadas para usarlo después.

Así que la clase padre tiene métodos "uno, dos, tres" quiero usar solo el método "dos y tres" en la descendiente y que no se vea el método "uno" y además que "dos y tres" estén disponibles después

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class test
  {
public:

   int rezult(void)
     {
      static int t=0;
      t++;
      return t;
     }
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class test_end : public test
  {
public:
   virtual int       rezult(void);
  };

test_end go;
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   go.rezult();
// 'rezult' - function must have a body TEst.mq4        42      7
  }
//+------------------------------------------------------------------+
 
Vladimir Pastushak:

¿No debería mi ejemplo heredar / tomar un método de una clase padre? Cómo obtener un método del padre en las clases derivadas para usarlo después.

Así que la clase padre tiene métodos "uno, dos, tres" quiero usar sólo el método "dos y tres" en la descendiente y no ver el método "uno" y también que "dos y tres" estén disponibles más adelante

En primer lugar, no está claro si se ha intentado declarar un método como virtual o no. Si debe ser virtual, entonces escriba virtual en una clase base, no en una derivada (porque de lo contrario los punteros de la base serán revendidos al método de la base incluso si pone una instancia de la clase derivada en ella).

Si no quieres sobrescribir un método en una clase derivada, no lo menciones en absoluto, y si lo haces, debe ser sobrescrito con un cuerpo.

Por último, para ocultar el método de la clase derivada, es necesario introducir una clase intermedia en la que este método debe ser trasladado a la zona priivada o hacerse privado en la clase base (¿pero por qué es virtual entonces?).

Razón de la queja: