Características del lenguaje mql5, sutilezas y técnicas - página 177

 
Andrey Barinov:

Entiendo que hay que descargar al init (o mejor al ontik) después del cambio. Es decir, memorizar los números de cuenta en variables globales y descargarlos si se producen cambios. También puedes intentar analizar _DeInitReason en el init() y en el unload.

Esta solución fue mostrada. Funciona sólo si el mismo símbolo existe después del cambio de cuenta.

 
fxsaber:

Por favor, muestre aquí el código fuente de un EA que se descarga cuando la cuenta cambia.

¿Lo necesito? Se trata del problema de los diferentes nombres de los símbolos.

Foro sobre trading, sistemas de trading automatizados y comprobación de estrategias

Peculiaridades de mql5, consejos y trucos

fxsaber, 2020.05.20 23:09

Tengo un Asesor Experto muy bueno, que debe ser eliminado durante el cambio de cuenta.

Supongamos que el Asesor Experto se ejecuta en EURUSD. Cambiará a un servidor en el que los símbolos tienen prefijo. Por ejemplo, EURUSD.abc.

En este caso, el EA sigue colgado y no puede borrarse. ¿Alguien tiene una solución para este problema?


Esta es exactamente mi respuesta. Si los nombres de los instrumentos son diferentes en las distintas cuentas, utilice las funciones de manejo de cadenas y extraiga la parte correcta de esa cadena.
 
Igor Zakharov:

¿en qué caso no se inicia OnInit()?

No se activa nada.

¿Tal vez a nivel de OnDeinit() intentar borrar?

ExpertRemove() definitivamente no es un ayudante. Puedes probar a través de las plantillas. Pero OnDeinit no es capaz de detectar que ha habido un cambio de cuenta.

 
Alexey Viktorov:

¿Lo necesito? Se trata del problema de los diferentes nombres de los personajes.

Esa es exactamente mi respuesta. Si los nombres de los instrumentos son diferentes en distintas cuentas, utilice las funciones de manejo de cadenas y extraiga la parte correcta de esa cadena.

No estás hablando con un principiante. No sugieras hipótesis inviables.

 
fxsaber:

Nada se pone en marcha.

ExpertRemove() definitivamente no ayuda. Podemos probar a través de plantillas. Pero en OnDeinit no es posible determinar que ha habido un cambio de cuenta.

Cuando ExpertRemove no funciona, también existe ChartClose(). No entiendo cuál es el problema. ¿Qué ocurre después de cambiar la cuenta? ¿Aparece un gráfico adicional con el Asesor Experto? ¿O es que el símbolo del gráfico actual cambia? ¿Tal vez, el ChartID está cambiado y por lo tanto su solución anterior no funciona? Los ticks se procesan de todos modos, esto significa que tenemos que descargar a OnTick, si OnInit no está funcionando.

 
fxsaber:

No estás hablando con un recién llegado. No sugieras hipótesis inviables.

Del mismo modo, no debe publicar código que no funcione. Y no se discuten los problemas encontrados en el espinoso camino de un programador en el tema de las características del lenguaje.

 
Alexey Viktorov:

Del mismo modo, no debes publicar código que no funcione. Y no discutan en el tema de las características del lenguaje los problemas encontrados en el espinoso camino de un programador.

Eres incompetente en este problema.

 

solo los servicios no estan ligados al grafico. no lo he probado, pero lo mas probable es que se pueda reiniciar despues de cambiar la cuenta. y ya desde ella cambiar las plantillas de otros graficos. pero en general es extraño que no se coja REASON_ACCOUNT.

pero en general, es más un error que una característica.

 
fxsaber:

Eres incompetente en este problema.

Si eres tan competente, entonces por favor dime por qué no funciona

REASON_ACCOUNT

6

Otra cuenta ha sido activada o reconectada al servidor de comercio debido a un cambio en la configuración de la cuenta

 
Alexey Viktorov:

Si eres tan competente, entonces por favor dime por qué esto no funciona

REASON_ACCOUNT

6

Otra cuenta fue activada o reconectada al servidor de comercio debido a un cambio en la configuración de la cuenta

  1. La documentación es falsa. Puedes comprobarlo manualmente volviendo a registrarte.
  2. No hay una manera fácil de descargarse.