Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1314

 
ponochka:
para entender lo que hay ahí fuera
bool VerifityToSchet()
  {
        Print((string)AccountNumber()+" = "+(string)account);
   if(AccountNumber() != account)
     {
      Print("На данном счете индикатор работать не будет, вы его приобрели незаконным путем!!!");   
     }else
     {
     Print("На данном счете индикатор авторизован");
     }
   return(false);
  } 
 
Pavel Kolchin:
para ver lo que hay

al reiniciar el terminal, la consolaAccountNumber() recibe 0, pero el propio terminal se carga bajo la cuenta y funciona

 
ponochka:

al reiniciar el terminal, la consolaAccountNumber() recibe 0, pero el propio terminal se carga bajo la cuenta y funciona

Bolly, estás escribiendo en el lugar equivocado.

 
ponochka:

Al reiniciar el terminal, la consolaAccountNumber() recibe 0, pero el propio terminal se carga bajo la cuenta y funciona

Los datos de la cuenta, el saldo, etc. no pueden obtener la información real del servidor -init() funciona antes de que el terminal reciba los valores del servidor.

 
Vitaly Muzichenko:

Los datos de la cuenta, el saldo, etc. no tienen tiempo de obtener información actualizada del servidor -init() funciona antes de que el terminal reciba los valores del servidor.

¡Bien! Arreglado. ¡Funciona! Y aquí hay otra cuestión importante:

¡Hay un cheque para la cuenta en el indicador! Se queda parado y funciona en el terminal, pero en un momento determinado el usuario cambia manualmente la cuenta, según las reglas de comprobación el indicador debería argumentar que la cuenta está mal, pero no hace nada y puede seguir funcionando hasta que cambie su configuración, ¡incluso después del reinicio del terminal! ¿Cómo puedo luchar contra esto?

 
ponochka:

¡Muy bien! Lo he arreglado. ¡Funciona! Y aquí hay otra pregunta candente:

¡Hay un control de cuentas en el indicador! Se queda parado y funciona en el terminal, pero en un momento determinado el usuario cambia manualmente la cuenta, según las reglas de comprobación el indicador debería argumentar que la cuenta está mal, pero no hace nada y puede seguir funcionando hasta que cambie su configuración, ¡incluso después del reinicio del terminal! ¿Cómo puedo luchar contra esto?

Algo no está escrito correctamente

P.D. Pruebe a no imprimir Print( AccountNumber() ); ¿qué mostrará cuando la cuenta cambie? Pero no en el iniit comprensible
 

Hola a todos.

En el libro sobre MT4 en una de las tareas está escrito: que para determinar si hay una nueva barra, comparar el precio de apertura de la barra de cero con la barra número 1 (es decir, si el precio de apertura ha cambiado y una nueva barra apareció) utiliza este método, pero se encontró con un salto mensajes en el probador, comenzó a entender, y recordó que - varias barras pueden tener el mismo precio de apertura y por lo tanto este método puede conducir no sólo a los errores, sino también las pérdidas, respectivamente. ¡¡¡Ten cuidado y no utilices el precio de apertura sino el tiempo u otros métodos!!!

 
Roni Iron:

Hola a todos.

En el libro sobre MT4 en una de las tareas está escrito: que para determinar si hay una nueva barra, comparar el precio de apertura de la barra de cero con un número de bar 1 (es decir, si el precio de apertura ha cambiado y una nueva barra apareció) utiliza este método, pero se encontró con un salto mensajes en el probador, comenzó a entender, y recordó que - varias barras pueden tener el mismo precio de apertura y por lo tanto este método puede conducir no sólo a los errores, pero las pérdidas, respectivamente. ¡¡¡Ten cuidado y no utilices el precio de apertura sino el tiempo u otras formas!!!

iTime

 
Vitaly Muzichenko:

Algo no está escrito correctamente.

P.D. Pruebe a desimprimir Print( AccountNumber() ); ¿qué mostrará cuando la cuenta cambie? Pero no en el init comprensible

muestra la nueva cuenta (modificada), pero no ocurre nada más

 
ponochka:

¡Muy bien! Lo he arreglado. ¡Funciona! Y aquí hay otra pregunta candente:

¡Hay un control de cuentas en el indicador! Se queda parado y funciona en el terminal, pero en un momento determinado el usuario cambia manualmente la cuenta, según las reglas de comprobación el indicador debería argumentar que la cuenta está mal, pero no hace nada y puede seguir funcionando hasta que cambie su configuración, ¡incluso después de reiniciar el terminal! ¿Cómo puedo luchar contra esto?

Tengo este problema en MT4, no sé si cuando oninit se dispara después del cambio de cuenta el número de cuenta no ha tenido tiempo de actualizarse en el entorno o algún otro error, decidí usar el temporizador

void  OnTimer()

       {

        static long account=AccountNumber();

        if(AccountNumber()!=account)

         {
                
            Print(account," was");
            account=AccountNumber();
            Print(account," now");
		 Полундра и т.п. }}
        
Razón de la queja: