Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1314

 
ponochka:
pour comprendre ce qu'il y a là-bas
bool VerifityToSchet()
  {
        Print((string)AccountNumber()+" = "+(string)account);
   if(AccountNumber() != account)
     {
      Print("На данном счете индикатор работать не будет, вы его приобрели незаконным путем!!!");   
     }else
     {
     Print("На данном счете индикатор авторизован");
     }
   return(false);
  } 
 
Pavel Kolchin:
pour voir ce qui est là

lors du redémarrage du terminal, la consoleAccountNumber() reçoit 0, mais le terminal lui-même se charge sous le compte et fonctionne

 
ponochka:

lors du redémarrage du terminal, la consoleAccountNumber() reçoit 0, mais le terminal lui-même se charge sous le compte et fonctionne

Bolly, vous écrivez au mauvais endroit.

 
ponochka:

Au redémarrage du terminal, la consoleAccountNumber() reçoit 0, mais le terminal lui-même est chargé sous le compte et fonctionne

Les données du compte, le solde, etc. ne sont pas en mesure d'obtenir des informations réelles du serveur -init() fonctionne avant que le terminal ne reçoive des valeurs du serveur.

 
Vitaly Muzichenko:

Les données du compte, le solde, etc. n'ont pas le temps d'obtenir des informations actualisées du serveur -init() fonctionne avant que le terminal ne reçoive des valeurs du serveur.

Bien ! Corrigé ! Ça marche ! Et voici une autre question importante :

Il y a un chèque pour le compte sur l'indicateur ! Il se tient et fonctionne dans le terminal, mais à un certain moment l'utilisateur change manuellement le compte, selon les règles de contrôle l'indicateur devrait argumenter que le compte est faux, mais il ne fait rien et peut continuer à fonctionner jusqu'à ce que vous changiez ses paramètres, même après le redémarrage du terminal ! Comment puis-je lutter contre ça ?

 
ponochka:

Très bien ! C'est réparé ! Ça marche ! Et voici une autre question brûlante :

Il y a un contrôle de compte sur l'indicateur ! Il se tient et fonctionne dans le terminal, mais à un certain moment l'utilisateur change manuellement le compte, selon les règles de contrôle l'indicateur devrait argumenter que le compte est faux, mais il ne fait rien et peut continuer à fonctionner jusqu'à ce que vous changiez ses paramètres, même après le redémarrage du terminal ! Comment puis-je lutter contre ça ?

Quelque chose n'est pas écrit correctement

P.S. Essayez de désimprimer Print( AccountNumber() ) ; qu'est-ce que cela va montrer quand le compte change ? Mais pas dans l'iniit compréhensible
 

Salut !

Dans le livre sur MT4 dans l'une des tâches est écrit : que pour déterminer s'il ya une nouvelle barre, comparer le prix d'ouverture de la barre zéro avec une barre numéro 1 (c'est à dire, si le prix d'ouverture a changé et une nouvelle barre est apparue) utilisé cette méthode, mais a rencontré un saut de messages dans le testeur, a commencé à comprendre, et s'est souvenu que - plusieurs barres peuvent avoir le même prix d'ouverture et donc cette méthode peut conduire non seulement à des erreurs, mais les pertes respectivement. Faites attention et utilisez non pas le prix d'ouverture mais le temps ou d'autres méthodes ! !!

 
Roni Iron:

Salut !

Dans le livre sur MT4 dans l'une des tâches est écrit : que pour déterminer s'il ya une nouvelle barre, comparer le prix d'ouverture de la barre zéro avec une barre numéro 1 (c'est à dire, si le prix d'ouverture a changé et une nouvelle barre est apparue) utilisé cette méthode, mais a rencontré un saut de messages dans le testeur, a commencé à comprendre, et s'est souvenu que - plusieurs barres peuvent avoir le même prix d'ouverture et donc cette méthode peut conduire non seulement à des erreurs, mais les pertes respectivement. Faites attention et n'utilisez pas le prix d'ouverture mais le temps ou d'autres moyens !!!

iTime

 
Vitaly Muzichenko:

Quelque chose n'est pas écrit correctement.

P.S. Essayez de désimprimer Print( AccountNumber() ) ; qu'est-ce que cela va montrer quand le compte change ? Mais pas dans l'init compréhensible

affiche le nouveau compte (modifié), mais rien d'autre ne se produit

 
ponochka:

Très bien ! C'est réparé ! Ça marche ! Et voici une autre question brûlante :

Il y a un contrôle de compte sur l'indicateur ! Il se tient et fonctionne dans le terminal, mais à un certain moment l'utilisateur change manuellement le compte, selon les règles de contrôle l'indicateur devrait argumenter que le compte est faux, mais il ne fait rien et peut continuer à fonctionner jusqu'à ce que vous changiez ses paramètres, même après le redémarrage du terminal ! Comment puis-je lutter contre ça ?

J'ai ce problème dans MT4, je ne sais pas si lorsque oninit se déclenche après le changement de compte, le numéro de compte n'a pas eu le temps de se mettre à jour dans l'environnement ou un autre bug, j'ai décidé d'utiliser le timer.

void  OnTimer()

       {

        static long account=AccountNumber();

        if(AccountNumber()!=account)

         {
                
            Print(account," was");
            account=AccountNumber();
            Print(account," now");
		 Полундра и т.п. }}
        
Raison: