Errores, fallos, preguntas - página 1333

 

Me pregunto qué significaría eso. Muy interesante. Especialmente en una cuenta real. Sin comprobar nada, mi broker se actualizó, abajo está el resultado.

Terminal MT4, b. 845 antes de la actualización,
Y después de la actualización a b. 851

Y así en todos los terminales de todos los pares. W XP 32 bits.

¿Qué hacemos? Hasta ahora una alegría fabulosa. Es la primera vez en toda la historia de MT4.

Archivos adjuntos:
22705.png  54 kb
22706.png  32 kb
 
Sergey Kucher:

Me pregunto qué significaría eso. Muy interesante. Especialmente en una cuenta real. Sin comprobar nada, mi broker se actualizó, abajo está el resultado.

Terminal MT4, b. 845 antes de la actualización,
Y después de la actualización a b. 851

Y así en todos los terminales de todos los pares. W XP 32 bits.

¿Qué hacemos? Hasta ahora una alegría fabulosa.

Necesito más detalles y necesito indicadores para reproducir el problema. Escribe a servicedesk.

 
Alexander:

Necesito más detalles y necesito indicadores para reproducir el problema. Escribe a servicedesk.

Intente instalar este indicador en MT4 build 851 y todo se aclarará.
Archivos adjuntos:
OSMA1.mq4  3 kb
 
Sergey Kucher:
Intente instalar este indicador en MT4 build 851 y todo se aclarará.
Consulte
 

Queridos desarrolladores

A la clase CCanvas le falta una funcionalidad importante - es el grosor del dibujo. Esto plantea una pregunta: ¿añadirán esta funcionalidad a la clase CCanvas?

Si no piensas añadir esta característica, por favor haz que el método PixelSet sea virtual, de lo contrario tendrás que reescribir la mitad de la clase en herencia. Y considero que es una mala idea cambiar cualquier cosa en las clases de la biblioteca estándar e incluso perjudicial, porque cuando actualices el terminal o lo instales, tendrás que volver a cambiar todo, y no puedes recordar todos los cambios después de un tiempo.

Aquí está la clase CCanvasNew como clase heredada. Para que la clase funcione correctamente, hay que hacer un cambio en el método PixelSet de la clase base CCanvas, es decir, hacerlo virtual.

La línea:

void              PixelSet(const int x,const int y,const uint clr);

reemplazado por:

virtual void      PixelSet(const int x,const int y,const uint clr);
Archivos adjuntos:
CanvasNew.mqh  5 kb
 

Error durante la compilación

#property library
class name {};
class A {
public:
        int name() { Print( __FUNCTION__ ); return 0; }
        void f();
};
void A::f()
{
                name(); //1//нормально - вызывается A::name()
        int i = name(); //2//ошибка при компиляции
}
void OnStart()
{
	A a;
	a.f();
}
¿cuál es la diferencia entre el 1 y el 2?
 

Explicación de la solicitud #1268334

Bloc de notas

MetaEditor

 

La documentación dice:

"Lasvariables globales existen en el terminal del cliente durante 4 semanas después del último acceso, tras lo cual se borran automáticamente. Un acceso a una variable global no sólo consiste en establecer un nuevo valor, sino también en leer el valor de la variable global" .

Tengo variables globales leídas todos los días. Y a pesar de ello, siguen siendo destruidos. Tengo que volver a crearlos cada mes. Realmente me gustaría que arreglaran esta inconsistencia en la documentación de MT4.

 
Igor733:

La documentación dice:

"Lasvariables globales existen en el terminal del cliente durante 4 semanas después del último acceso, tras lo cual se borran automáticamente. Un acceso a una variable global no sólo consiste en establecer un nuevo valor, sino también en leer el valor de la variable global" .

Tengo variables globales leídas todos los días. Y a pesar de ello, siguen siendo destruidos. Tengo que volver a crearlos cada mes. Realmente me gustaría que arreglaran esta inconsistencia en la documentación de MT4.

¿Está seguro de que no ha confundido el concepto de "Variable Global" con el de "Variable Global del Terminal del Cliente"?
 

Tapochun:
А Вы точно не перепутали понятие "Глобальная переменная" и "Глобальная переменная клиентского терминала

Me refería a las variables terminales. No se confunde. GlobalVariableSet("_LastBalance",MathMax(AccountEquity(),GlobalVariableGet("_LastBalance"))); Si creas una variable desde el terminal y luego sólo la lees en el EA, se seguirá borrando después de un mes.