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

 
Amon1953:
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'amener à un style commun sur ce site. - Je n'ai pas encore appris à le faire.

Mais vous pouvez coller le code dans votre message (Alt+S), tout en conservant votre style. Cependant, vous pouvez toujours utiliser le styler dans l'éditeur (Ctrl+,) pour amener le style adopté sur le site. Même si ce n'est pas pratique pour tout le monde, c'est mieux que quelque chose d'illisible.

 
Artyom Trishkin:

Mais vous pouvez insérer le code dans votre message (Alt+S), tout en conservant votre style. Cependant, vous pouvez toujours utiliser l'outil de style de l'éditeur (Ctrl+,) pour ramener le style à celui du site. Même si ce n'est pas pratique pour tout le monde, c'est mieux que quelque chose d'illisible.

 
 if((cnt_OO > 1))
  {
   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);
        }
Eh bien, j'ai quelque chose. Seulement en essence, je ne comprenais pas où mon erreur
 
Amon1953:
Eh bien, j'ai quelque chose. Seulement en essence, je n'ai pas compris où était mon erreur.

Que voulez-vous atteindre de toute façon ?

D'après ce que vous avez montré, il est impossible de comprendre - il n'y a aucune donnée sur les valeurs des variables utilisées.

 
Artyom Trishkin:

Que voulez-vous atteindre de toute façon ?

D'après ce que vous avez montré, il est impossible de comprendre - il n'y a pas de données sur les valeurs des variables utilisées.

La deuxième instruction if est facultative, mais le système ne fonctionne pas sans elle.
 
Amon1953:
La deuxième instruction if est facultative, mais le système ne fonctionne pas sans elle.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Toutes les questions pour les débutants sur MQL4, l'aide et la discussion sur les algorithmes et les codes

Artyom Trishkin, 2018.08.21 22:14

Que voulez-vous atteindre de toute façon ?

D'après ce que vous avez montré, il est impossible de comprendre - il n'y a pas de données sur les valeurs des variables utilisées.


 
Artyom Trishkin:

J'ai déjà montré un des résultats de cette unité

RESULTAT : Otkritih commande NEXT net

Otkritih ordersov 5

 
Amon1953:

J'ai déjà montré un des résultats de cette unité

RESULTAT : Otkritih commande NEXT net

Otkritih ordersov 5

Je vois - le flux de la conscience. Je me suis retiré de la discussion...

Lire la suite.

 

Anton1953 Si vous voulez dire le travail du bloc qui était le tout premier sans si, il y a une erreur. Je vais vous donner un indice - essayez d'exécuter ce morceau de code avec des ordres avec d'autres majiks, il y a beaucoup d'ordres, mais ils ne passent pas la condition majik. Avez-vous besoin de conseils supplémentaires ou allez-vous vous débrouiller tout seul ?

D'ailleurs, un codage correct aide beaucoup à la recherche de telles erreurs, car vous les marquez dans votre style habituel et l'erreur devient évidente !

 
Vitaly Gorbunov:

Anton1953 Si vous faites référence au travail du bloc qui était le tout premier sans si, il y a une erreur. Je vais vous donner un indice - essayez d'exécuter ce morceau de code avec des ordres avec d'autres majiks, il y a beaucoup d'ordres, mais ils ne passent pas la condition majik. Avez-vous besoin de conseils supplémentaires ou voulez-vous vous débrouiller tout seul ?

À propos, un codage correct aide beaucoup à la recherche de telles erreurs, car l'erreur est tellement évidente lorsque vous les marquez dans votre style habituel !

Il existe plusieurs conseillers experts qui fonctionnent avec des majors différentes. cnt_OO - c'est le nombre d'ordres ouverts avec un certain mode. Le bloc est conçu comme suit : s'il y a plus d'un ordre cnt_OO>1, nous sélectionnons parmi tous les ordres ouvertsOrdersTotal() celui qui a le mode nécessaireif((OrderMagicNumber() == Magic)) et effectuons les actions nécessaires.

Sinon, nous effectuons d'autres actions. Mais "autrement" ne fonctionne pas, nous devons entrerif((cnt_OO == 1)) sans cela, cela ne fonctionne pas.


	          
 
Amon1953:

Plusieurs EAs sont en cours d'exécution, avec des majors différentes. cnt_OO - défini précédemment - il s'agit du nombre d'ordres ouverts avec un mode particulier. Le bloc est conçu comme suit : s'il y a plus d'un ordre cnt_OO>1, nous sélectionnons parmi tous les ordres ouvertsOrdersTotal() celui qui a le mode nécessaireif((OrderMagicNumber() == Magic)) et effectuons les actions nécessaires.

Sinon, nous effectuons d'autres actions. Mais "autrement" n'est pas effectué, nous devons entrerif((cnt_OO == 1)) sans cela il ne fonctionne pas

Le fait que vous ayez défini quelque part le nombre d'ordres nécessaires est une bonne chose, mais dans ce bloc, vous devez à nouveau passer en revue tous les ordres et les vérifier !

Décomposez le code correctement et vous verrez tout de suite !

Raison: