Erreurs, bugs, questions - page 3178

 
Sergey Gridnev #:
Supposons que vous écriviez une boucle :
for(int i=... ; .... ; i++) {
...
}
Et à l'intérieur de la boucle, l'itérateur i change de valeur sous une certaine condition.
Pensez-vous qu'un avertissement doit également être généré ?

+++ Contrôle d'un ticket ou d'une variable de fonction dans un tableau de la même fonction ou structure, ou température et pression dans le x du patient, pas le y.

Contrôle ZY de x ou igc)))) au lieu de la température))))
 
Sergey Gridnev #:
Supposons que vous écriviez une boucle :
for(int i=... ; .... ; i++) {
...
}
Et à l'intérieur de la boucle, l'itérateur i change de valeur sous une certaine condition.
Pensez-vous qu'un avertissement devrait également être généré ?

Oui.
Mais je pense qu'il est inutile d'en discuter davantage, car je ne pense pas que l'avertissement sera mis en œuvre avec de telles conditions.

 
Andrei Sokolov #:

Oui.
Mais je pense qu'il est inutile d'en discuter davantage, car je ne pense pas que l'avertissement sera mis en œuvre avec de telles conditions.

En bayscore c'est un mal en général, et ici le top-down avec des boucles n'améliorera pas non plus l'environnement de programmation et l'algorimisation.

C'est juste la rigueur et la justesse des algorithmes. Pas plus. et une compréhension des règles et des possibilités de la langue.

 
Andrei Sokolov #:

Oui.
Mais je ne pense pas qu'il soit utile d'en discuter davantage car je ne pense pas que l'avertissement sera mis en œuvre dans ces conditions.

Dès le début, l'intérêt de discuter de cette question était complètement absent. Vous écrivez sur un problème avec mql4, dans le fil de discussion où les problèmes de mql5 sont discutés. Si vous aviez dit dès le début que la question concernait mql4, personne ne vous aurait répondu.

 
Alexey Viktorov #:

Vous écrivez sur un problème dans mql4, dans un fil où les problèmes de mql5 sont discutés.

Où cela est-il indiqué ?

 
Alexey Viktorov #:

Depuis le début, l'intérêt de discuter de cette question a été complètement absent.

Alexei, d'abord vous avez essayé de pointer du doigt, maintenant vous essayez de décider pour les autres où cela a du sens et où cela n'en a pas.

S'il n'y a pas de réponse constructive, vous ne pourriez pas provoquer une telle correspondance inutile.

 
Andrei Sokolov appels de fonction.

Hier toute la nuit à la recherche du bug, et c'est la deuxième fois pour cette raison.

void Trailing()
{
   for(int i=OrdersTotal()-1; i>=0; i--)
   {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
      {
         if (OrderSymbol() == Symbol() && OrderMagicNumber()==magic)
         {
            if(OrderType() == OP_BUY)
            {
               if(Bid >= GetAveragePrice(OP_BUY)+start_tral_level*Point)//OrderOpenPrice()
               {
                  if(Bid >= OrderStopLoss()+(tral_stop+tral_step)*Point || OrderStopLoss()==0)
                  {
                     if(!OrderModify(OrderTicket(), OrderOpenPrice()
                     , NormalizeDouble(Bid-tral_stop*Point, Digits), OrderTakeProfit(), OrderExpiration())) 
                     {
                        Print("Trailing buy err ", GetLastError());
                     }
                  }
               }
            }
            if(OrderType()==OP_SELL)
            {
               if(Ask <= GetAveragePrice(OP_SELL)-start_tral_level*Point)//OrderOpenPrice()
               {
                  if(Ask <= OrderStopLoss()-(tral_stop+tral_step)*Point || OrderStopLoss()==0)
                  {
                     if(!OrderModify(OrderTicket(), OrderOpenPrice()
                     , NormalizeDouble(Ask+tral_stop*Point, Digits), OrderTakeProfit(), OrderExpiration())) 
                     {
                        Print("Trailing sell err ", GetLastError());
                     }
                  }   
               }   
            }   
         }
      }
   }
}
double GetAveragePrice(int in_type)//расчет средней цены позиций
{
   double dRes=-1;
   double dSum=0;
   double dLot=0;
   double dComission=0;
   double dSwap=0;
   int iTotalPos=OrdersTotal();
   for(int cnt=0;cnt<iTotalPos;cnt++)
   {
      if(!OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) Print( "Error Select Order");
      {
         if(OrderType()==in_type && OrderSymbol()==Symbol() && OrderMagicNumber()==magic)
         {
            dSum+=OrderOpenPrice()*OrderLots();
            dLot+=OrderLots();
            dSwap+=OrderSwap();
            dComission+=OrderCommission();
         }
      }    
   }     
   if(in_type==OP_BUY && dLot!=0) dRes=dSum/dLot-dSwap/dLot*Point-dComission/dLot*Point;
   if(in_type==OP_SELL && dLot!=0) dRes=dSum/dLot+dSwap/dLot*Point+dComission/dLot*Point;
   
   return dRes;
}
Vous avez déjà reçu beaucoup de réponses constructives. Il ne reste plus au batteur qu'à prêter attention à la discussion sur les problèmes de mql4 dans ce fil...
 
Alexey Viktorov #:

Ce code indique clairement qu'il s'agit de mql4. Je regrette de ne pas y avoir prêté attention au début.

Vous avez déjà reçu beaucoup de réponses constructives. Il ne reste plus à Tumblr qu'à prêter attention à la discussion sur les problèmes de mql4 dans ce fil...

Où est-il dit queseuls les problèmes de mql5 sont discutés ?

 
Andrei Sokolov #:

Où est-il dit queseuls les problèmes de la MQL5 sont discutés ?

mql4 est réservé - il y a une section séparée sur le forum pour cela. Tout le reste est du mql5
 
Andrei Sokolov #:

Où est-il dit queseuls les problèmes de mql5 sont discutés ?

Voici un fil séparé pour cela.

МТ4 Ошибки, Баги, Вопросы
МТ4 Ошибки, Баги, Вопросы
  • 2017.01.31
  • www.mql5.com
Уважаемая администрация, В терминале МТ4 обнаружил очень серьезный глюк, который может навредить торговле...