Compilación 646: Las variables Bool no dan la configuración correcta - página 4

 
deysmacro:
Es mejor que MetaQuotes dé la posibilidad de que el usuario decida si quiere reiniciar o no después de la recompilación, ¿verdad? Sí, estoy de acuerdo.
 
alop: No entiendo tu ejemplo con EXTERN escrito con mayúsculas.
// #define EXTERN extern
EXTERN typename var1=...;
EXTERN typename var2=...;
Mientras la #define esté comentada no hay externos. Si no se comenta, entonces TODOS se convierten en externos.
 

WHRoeder... Todavía estoy un poco confundido con lo que estás diciendo...

Entonces, ¿cómo se escribiría el código - para forzar los cambios de variables en los gráficos en la re-compilación?

Esto es un gran problema para muchos de nosotros - creo que desde AMBAS perspectivas...

Algunas personas no quieren que las variables cambien al recompilar - y lo entiendo TOTALMENTE...

Pero para otros - que tienen más de 30 pares funcionando - tener que hacer clic en "reset" en cada gráfico es un DESASTRE...

De todos modos, creo que lo que estás diciendo es que el cambio de código anterior forzará los cambios de las variables, o no...

¿Podría dar un ejemplo como el siguiente?

Forzar cambio de variable:

(ejemplo aquí)

No forzar cambio de variable:

(ejemplo aquí)

Creo que lo anterior sería muy útil para ambas partes de este escenario...

¡Muchas gracias por su ayuda!

 

Además, si queremos forzar los cambios de las variables en los gráficos activos (eas), ¿no hay un archivo de caché que podamos borrar para forzar el cambio de las variables al volver a compilar?

He tratado de encontrarlo - pero los valores almacenados parecen estar escondidos en un archivo misterioso en alguna parte...

Gracias de nuevo por tu ayuda...

Los ejemplos de código anteriores también servirían, pero sería bueno saber dónde encontrar la configuración de la caché - como otra solución....

 

Así que también...

Si cambio la línea

#define EXTERN extern 

extern typename var1=...;

a

#define EXTERN extern 

define extern typename var1=...;

Obtengo un error de lectura - las variables externas ya han sido definidas...

Así que -supongo- tu solución parece confusa, ¿podrías aclararlo?

Muchas gracias.

 
whistler:

Así que también...

Si cambio la línea

extern typename var1=...;

a

define extern typename var1=...;

Obtengo un error de lectura - las variables externas ya han sido definidas...

Así que -supongo- tu solución parece confusa, ¿podrías aclararlo?

Muchas gracias.

Prueba esto:

#define EXTERN y no pongas nada aquí

EXTERN bool trade1 =true; <= Añade EXTERN donde normalmente tendrías extern

EXTERN bool trade2 = true;

EXTERN bool trade3 = false;

Cuando quieras añadir los externs al principio haz esto :

#define EXTERN extern

Cuando quieras eliminar el extern haz esto

#define EXTERN asegúrate de quitar extern como abajo

#define EXTERN

Andy

 

El diálogo de entrada manual no suele ser necesario durante la fase de codificación, así que no utilice el modificador externo hasta que se hayan completado los cambios de codificación.

// will not reset on recompile unless the value is changed in the code.
extern int Var1 = 20;
extern int Var2 = 40;
//will always reset on recompile
int Var1 = 20;
int Var2 = 40;
 

Un material impresionante... Muchas gracias...

He eliminado extern y recompilado, pero cuando lancé MetaTrader y miré la configuración de la EA desde el gráfico - las variables de las que eliminé extern habían desaparecido por completo... Cerré MetaTrader, y luego relanzó MetaEditor ...

Añadí de nuevo en extern - recompilado de nuevo - y luego volvió a lanzar MetaTrader - las variables se añadieron de nuevo en la EA - y las variables se habían actualizado a la nueva configuración de las variables ...

Así que - funcionó - ¡GRACIAS TONTO! :) Soopa stahs!

 
whistler: WHRoeder... Todavía estoy un poco confundido a lo que estás diciendo ...
Este
Lo mismo que
// #define EXTERN extern
EXTERN typename var1=...;
EXTERN typename var2=...;
typename var1=...;
typename var2=...;
#define EXTERN extern
EXTERN typename var1=...;
EXTERN typename var2=...;
extern typename var1=...;
extern typename var2=...;
#define EXTERN /*EMPTY*/
EXTERN typename var1=...;
EXTERN typename var2=...;
typename var1=...;
typename var2=...;
 

¡Hola!

Después de volver a compilar (F5), vaya al EA, abra las Entradas (F7) - hay un botón de "Reset" en la parte inferior derecha. Al hacer clic en este botón, se restablece el EA a los valores (duros) codificados.

Me tomó un tiempo para averiguar esto ... LOL. Los milagros ocurren. Y también la mierda. LOL

Saludos cordiales,

Simon

S love nia