Variables globales frente a FileWrite

 

Tengo alrededor de 8-10 variables que no pueden ser recalculadas sobre la marcha sin agravamiento sustancial (se derivan de las llamadas iCustom potencialmente pasado).

Teniendo en cuenta que normalmente ejecuto 5-10 instancias del EA por terminal y quiero crear un nivel de persistencia, que es mi mejor opción para la fiabilidad y la velocidad:

1. Variables Globales; o

2. FileWrite

Estoy seguro de que seré capaz de averiguar lo que necesito hacer con cualquiera de los dos sistemas, pero no tengo claro cuál es la mejor vía a seguir.

Cualquier idea será muy apreciada.

 
toast:

Tengo alrededor de 8-10 variables que no pueden ser recalculadas sobre la marcha sin agravamiento sustancial (se derivan de las llamadas iCustom potencialmente pasado).

Teniendo en cuenta que normalmente ejecuto 5-10 instancias del EA por terminal y quiero crear un nivel de persistencia, que es mi mejor opción para la fiabilidad y la velocidad:

1. Variables Globales; o

2. FileWrite

Estoy seguro de que seré capaz de averiguar lo que necesito hacer con cualquiera de los dos sistemas, pero no tengo claro cuál es la mejor vía a seguir.

Cualquier idea será muy apreciada.

Las Variables Globales de la terminal son más fáciles de usar, también puedes cambiarlas manualmente dentro de la terminal. Pero escribir en un archivo es más flexible.
 
angevoyageur:
Pero escribir en un archivo es más flexible.

pero más fiable
 

Las Variables Globales pueden ser fiables si codificas bien tu ea. Lo mismo para escribir en un archivo.

Nada es confiable si su código ea no se hace correctamente para manejar las Variables Globales o escribir en un archivo.

Las Variables Globales o la escritura en un archivo son sólo sabores a su gusto en realidad.

 

¡¡¡tienes razón !!!

Recuerdo los tiempos (hace unos años) en que las Variables Globales se guardaban en un archivo sólo al cerrar el terminal

lo que significa que si hay una caída del terminal/ordenador/energía, no se han guardado

parece que las cosas han cambiado desde entonces y ahora se guardan inmediatamente en un archivo

gracias por la información

 
Muchas gracias a todos por las respuestas rápidas e informativas, como siempre.
 
qjol:

¡¡¡tienes razón !!!

Recuerdo los tiempos (hace unos años) en que las Variables Globales se guardaban en un archivo sólo al cerrar el terminal

lo que significa que si hay una caída del terminal/ordenador/energía, no se han guardado

parece que las cosas han cambiado desde entonces y ahora se guardan inmediatamente en un archivo

gracias por la información


La GV se está volviendo más fiable estos días.

Es bonito, ¿verdad? Espero que MetaQuotes pueda hacerlo aún más bonito :)

 

Si puedo molestarlos con otra pregunta:

¿Es el uso de ChartID() una forma fiable de nombrar las variables globales? ¿Es siempre único, y no cambia una vez asignado a un gráfico en particular?

Estaba pensando en usar una combinación de número mágico y Symbol(), pero mi preocupación es que alguien cambie el número mágico con operaciones activas. Si esto sucede, entonces los GVs utilizados en la gestión de las operaciones no serán recuperados correctamente.


(Por favor, tenga en cuenta que no comparto GVs entre diferentes gráficos/EAs, por lo que no necesito preocuparme de que otro EA pueda recuperar el GV. Los utilizo simplemente para la persistencia)

 
toast:

Si puedo molestarlos con otra pregunta:

¿Es el uso de ChartID() una forma fiable de nombrar las variables globales? ¿Es siempre único, y no cambia una vez asignado a un gráfico en particular?

Estaba pensando en usar una combinación de número mágico y Symbol(), pero mi preocupación es que alguien cambie el número mágico con operaciones activas. Si esto sucede, entonces los GVs utilizados en la gestión de las operaciones no serán recuperados correctamente.


(Por favor, tenga en cuenta que no comparto GVs entre diferentes gráficos/EAs, por lo que no necesito preocuparme de que otro EA pueda recuperar el GV. Los utilizo simplemente para la persistencia)


El número mágico no se puede cambiar una vez que está en las órdenes (pendientes o de mercado).
 

Gracias por la respuesta.

Sí, estoy de acuerdo.

Pero el problema será el siguiente:

Se abre una operación con el número mágico 123.

Al gestionar esta operación, el EA buscará el GV con el nombre 123xxxxxx

Ahora el usuario cambia la configuración del EA para el número mágico a 789 mientras la operación sigue activa.

Así que ahora el EA está buscando GV con el nombre 789xxxxx (que no existe).

Básicamente, estoy buscando una convención de nombres de GV que no pueda ser modificada por el usuario.

 
toast:

Gracias por la respuesta.

Sí, estoy de acuerdo.

Pero el problema será el siguiente:

Se abre una operación con el número mágico 123.

Al gestionar esta operación, el EA buscará el GV con el nombre 123xxxxxx

Ahora el usuario cambia la configuración del EA para el número mágico a 789 mientras la operación sigue activa.

Así que ahora el EA está buscando GV con el nombre 789xxxxx (que no existe).

Esencialmente, estoy buscando una convención de nomenclatura de GV que no pueda ser modificada por el usuario.

No permita cambiar el número mágico si todavía hay operaciones abiertas con la magia antigua.