Errores, fallos, preguntas - página 2338

 
pavlick_:

Parece que ha habido un cambio reciente en el comportamiento. Hace un tiempo, el orden era diferente: las variables globales y las estáticas se inicializaban en el mismo orden (en orden de declaración). Es decir, en este caso primero a y luego b. Podría estar equivocado, pero es poco probable.

Antes de escribir esto - no era perezoso - He comprobado en MetaTrader 4 build 765x32 (MetaEditor build 1035x32) - todo es lo mismo. Y esto es 2014 (!)
 
#define  M (a ? 1 : 0)

struct S {
   int a;
};

void OnStart()
{
   S s;
#define  a s.a
   Alert(M);
}

No se puede compilar, errores:
'a' - demasiado complejo, simplificar la macro temp.mq5 24 10
's' - miembro struct indefinido temp.mq5 24 10
...

Es decir, el preprocesador parece estar tratando de expandir recursivamente a.

 

Me pregunto si es el broker el que hace esto o es un bug del mt 4.


 
A100:
Antes de escribir esto - no era perezoso - He comprobado en MetaTrader 4 build 765x32 (MetaEditor build 1035x32) - todo es lo mismo. Y esto es 2014 (!)

Sí, me he vuelto a equivocar.

 
Vladimir Pastushak:

Me pregunto si es el broker el que hace esto o algún bug en el mt 4?

Registra una señal real en él, si pasa entonces es un DC. Hay cuentas de centavos que se muestran como normales (que muchos señaleros utilizan), pero tienes una opción más fresca ))).

 

Comenzó a ejecutar una gran cantidad de código multiplataforma en MT4. ¿No hay un depurador allí? Lo estoy ejecutando en F5, pero no se ralentiza en ningún sitio.

Hasta ahora tengo que hacer la depuración bajo el 5, lo que es una muleta en algunos casos.

 

fxsaber: Стал много запускать кроссплатформенный код на MT4. Там отладчика что ли нет? Запускаю по F5, но нигде не тормозится.Пока приходится отладкой заниматься под пятеркой, что костыльно в некоторых случаях.

el punto de ruptura en MT4 se activa exactamente, a la izquierda del campo en el meta-editor haga clic


 
Igor Makanu:

el punto de interrupción en MT4 funciona exactamente, en el campo de la izquierda en el meta-editor haga clic en

Corre.

 
fxsaber:

Corre.

Lo he comprobado, sí, tienes razón - el punto de ruptura no funciona en MT4 cuando se prueban los datos históricos, lo he comprobado en el EA de media móvil estándar - ¡no funciona!

ZZY: He probado a añadir DebugBreak() al código - sin resultado, sigo sin poder parar la prueba y salir al depurador

ZZZY: Un punto de interrupción cuando se prueba con datos reales, funciona

 
Igor Makanu:

ZZZY: punto de ruptura al probar en datos reales, funciona

El mío tampoco funciona con datos reales.

Razón de la queja: