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

 
Amon1953:

Problèmes dans MQL4 ?


Problème similaire dans deux autres situations, également avec l'opérateur if()

Et si vous réfléchissez bien et essayez de comprendre la raison pour laquelle ce pépin est le seul pour vous ? Peut-être avez-vous une sorte de terminal spécial ?

 
Alexey Viktorov:

Et si vous réfléchissez bien et essayez de comprendre la raison pour laquelle vous êtes le seul à avoir un tel problème.... Peut-être avez-vous une sorte de terminal spécial ?

Le terminal d'InstaForex n'est pas inhabituel. Et ce problème n'est pas apparu tout de suite. Au début, ça allait, mais tout d'un coup, ça a disparu. La réinstallation du terminal n'a pas aidé. Je vais devoir vérifier avec un autre courtier.
 
Amon1953:
J'utilisais un terminal d'InstaForex, rien d'inhabituel. Et ce problème n'est pas apparu tout de suite. Au début, c'était normal, mais tout d'un coup, ça a disparu. La réinstallation du terminal n'a pas aidé. Je vais devoir le vérifier avec un autre courtier.

Ouais, eh bien... Je n'ai pas compris le code morse. Je vais devoir l'exposer au grand jour...

Peut-être devrions-nous chercher des erreurs dans la logique et dans notre propre code ?

 

Un conseil. Je suis en train d'optimiser, et disons que je n'ai pas besoin de paramètres, par exemple, il y a des muvings lents et rapides, et je n'ai pas besoin d'obtenir des périodes de ces muvings dans les résultats de l'optimisation telles que la période du rapide soit plus longue que celle du lent.

Comment puis-je "sauter" cette étape d'optimisation par condition ?

 
Alexey Viktorov:

Ouais, eh bien... Je n'ai pas compris le code morse. Je vais devoir l'exposer au grand jour...

Peut-être faut-il chercher les erreurs dans la logique et dans son propre code ?

Ce morceau de code est indépendant de l'algorithme général.

Voici le même bloc, mais il fonctionne correctement. Il utilise deux opérateurs IF(), alors qu'un seul peut être utilisé comme décrit dans le manuel. Cela démontre un fonctionnement incorrect de l'opérateur IF()/.

//+------------------------------------------------------------------+
   if((cnt_OO>=2))
     {
      for(int h=OrdersTotal()-1; h>=0; h--)
        {
         if(OrderSelect(h,SELECT_BY_POS))
           {
            if((OrderMagicNumber()==Magic))
              {
               Nextstep  = NextStep;
               BaseNext  = OrderOpenPrice();
               LotsNext  = NormalizeDouble(OrderLots()*K,lotDigit);
               if(NewPB>0)
                  PBcloseON=true;
               Alert("Pospedny Order NEXT  ",OrderTicket());
               Alert("Otkritih orderov  ",cnt_OO);
               break;
              }
           }
        }
     }
   if((cnt_OO==1))
     {
      LotsNext=NormalizeDouble(Lots*Prikup,lotDigit);
      Alert("Otkritih orderov NEXT net ");
      Alert("Otkritih orderov  ",cnt_OO);
     }
//+------------------------------------------------------------------+
 
Amon1953:

Ce morceau de code est indépendant de l'algorithme global.

Voici le même bloc, mais il fonctionne correctement. Il utilise deux opérateurs IF(), bien qu'un seul puisse être utilisé comme décrit dans le manuel. Cela démontre un fonctionnement incorrect de l'opérateur IF()/.


C'est juste une preuve d'un bug. Avant de parler d'opération incorrecte, vous devriez imprimer les valeurs des variables utilisées dans les opérateurs if() et les comparer aux valeurs attendues.

Et apprenez à insérer le code pour qu'il puisse être lu normalement.

 
Alexey Viktorov:

Cela montre seulement que nous avons un bug. Avant de dire que cela ne fonctionne pas correctement, vous devriez imprimer les valeurs des variables utilisées dans les instructions if() et les comparer aux valeurs attendues.

Et apprenez à insérer le code pour qu'il puisse être lu normalement.

J'ai juste copié le texte du programme. Dans le premier post, vous pouvez clairement voir qu'il y a 5 commandes et le message qu'il n'y a pas de commandes comme Next. this is the second third order etc.

Le programme est simple comme un clou, cnt_OO est le nombre d'ordres ouverts, s'il y en a plus d'un cela signifie qu'il y a un ordre Suivant, Ceci fait partie du bloc pour restaurer les paramètres en cas d'échec et de redémarrage de l'EA

 
Amon1953:

J'ai juste copié le texte du programme. Dans le premier post, vous pouvez clairement voir qu'il y a 5 commandes et le message qu'il n'y a pas de commandes comme Next. this is the second third order etc.

Le programme est aussi simple qu'un clou, cnt_OO est un nombre d'ordres ouverts, s'il y en a plus d'un cela signifie qu'il y a un ordre Suivant, Cela fait partie du bloc de récupération des paramètres en cas d'échec et de redémarrage de l'EA

Où est la garantie que c'est le cas ?

 
Amon1953:

J'ai juste copié le texte du programme. Dans le premier post, vous pouvez clairement voir qu'il y a 5 commandes et le message qu'il n'y a pas de commandes comme Next. this is the second third order etc.

Le programme est simple comme un clou, cnt_OO est le nombre d'ordres ouverts, s'il y en a plus d'un cela signifie qu'il y a un ordre Suivant, Cela fait partie du bloc pour récupérer les paramètres en cas d'échec et de redémarrage de l'EA

  1. Utilisez Alt+S pour coller le code, ou utilisez les boutons de la barre de format dans votre message :



  2. Votre logique ne fonctionne pas, pas l'opérateur conditionnel if()
  3. J'ai corrigé le code dans votre message pour le rendre normal pour ceux qui vous aident - respectez-les s'il vous plaît. La prochaine fois, les gens n'essaieront pas d'aider en regardant les scripts que vous proposez.
 
Artyom Trishkin:
  1. Utilisez Alt+S pour coller le code, ou utilisez les boutons de la barre de format de votre message :



  2. Votre logique ne fonctionne pas, pas l'opérateur conditionnel if()
  3. J'ai corrigé le code dans votre message pour le rendre normal pour ceux qui vous aident - respectez-les s'il vous plaît. La prochaine fois, les gens n'essaieront pas d'aider en regardant les scripts que vous proposez.
Merci pour le conseil. Je ne suis pas un programmeur très expérimenté. et j'utilise un style qui m'est confortable, je n'ai pas encore appris à l'adapter à un style commun sur ce site. - Zeitnote.
Raison: