Erreurs, bugs, questions - page 72

 
k47:

Oui, il y a effectivement un bogue ici,DoubleToString a été défini par erreur. Le problème ne subsiste donc que dans la documentation.

D'ailleurs, la documentation ne correspond pas à la réalité dans la classe CAccountInfo aussi en ce qui concerne les méthodes d'accès aux propriétés par identifiant.

L'InfoString() est défini commedoubleInfoString(...) et en même temps

La valeur de retour est

true - en cas de succès, false - en cas d'échec de la récupération de la valeur de la propriété.

Ce n'est guère la façon dont le type est spécifié. Il est fort probable que la valeur soit renvoyée de deux façons : par retour et par paramètre par référence. Cela est également confirmé par le fait que la méthode renvoie une chaîne de caractères lorsqu'elle est utilisée :

Il en est de même pour ledoubleInfoInteger() qui renvoie en fait un long au lieu d'un bool, et le doubleInfoDouble() qui s'écrit aussi
true - en cas de succès, false - en cas d'échec de la récupération de la valeur de la propriété.

Bien qu'encore une fois, comme vous pouvez le voir dans l'image, un seul paramètre est défini, donc la référence est hors de question.....

Merci pour le message. La bibliothèque est toujours en cours d'évolution, et apparemment nous n'avons pas toujours le temps d'apporter des modifications à la documentation sur le langage.
 
Interesting:

Comportement étrange du testeur de stratégie...


Dans le build 298, nous avons détecté un comportement étrange du testeur de stratégie après l'annulation du processus de test (je ne l'avais pas remarqué auparavant).

Résultat

Le bouton "Annuler" devient un bouton "Démarrer", le test est arrêté. Tout semblait aller bien, mais non - les paramètres restent grisés et il est impossible de les modifier.


Merci. Reproduit et corrigé
 

Bonjour ! Pouvez-vous me dire pourquoi l'arrêt pour handicapés est défoncé ?

En fait, c'est un code de transfert sans perte... Je pense que beaucoup le trouveront utile...

{ int  LevelWLoss  = 10;
  int PosTotal=PositionsTotal();
   for(int i=PosTotal-1; i>=0; i--)
     {
                 MqlTick lasttick;
            SymbolInfoTick(Symbol(),lasttick);
      if (PositionGetInteger(POSITION_TYPE)==0) {
        if (PositionGetDouble(POSITION_SL)-PositionGetDouble(POSITION_PRICE_OPEN)<LevelWLoss*Point()) {
          if (lasttick.bid-PositionGetDouble(POSITION_PRICE_OPEN)>LevelProfit*Point()) {
         
          MqlTradeRequest BezubModif;
                  BezubModif.action= TRADE_ACTION_SLTP;
                  BezubModif.symbol= Symbol();
                  BezubModif.sl = NormalizeDouble(PositionGetDouble(POSITION_PRICE_OPEN)+LevelWLoss*Point(),_Digits);
                  BezubModif.tp = PositionGetDouble(POSITION_TP);
                  BezubModif.deviation=3;
          MqlTradeResult BezubModifResult;
                  OrderSend(BezubModif,BezubModifResult);                                                                                       
          }
        }
      }
      if (PositionGetInteger(POSITION_TYPE)==1) {
        if (PositionGetDouble(POSITION_SL)==0 || PositionGetDouble(POSITION_PRICE_OPEN)-PositionGetDouble(POSITION_SL)<LevelWLoss*Point()) {
          if (PositionGetDouble(POSITION_PRICE_OPEN)-lasttick.ask>LevelProfit*Point()) {

            MqlTradeRequest BezubModif;
                  BezubModif.action= TRADE_ACTION_SLTP;
                  BezubModif.symbol= Symbol();
                  BezubModif.sl = NormalizeDouble(PositionGetDouble(POSITION_PRICE_OPEN)-LevelWLoss*Point(),_Digits);
                  BezubModif.tp = PositionGetDouble(POSITION_TP);
                  BezubModif.deviation=3;
            MqlTradeResult BezubModifResult;
                  OrderSend(BezubModif,BezubModifResult);                     
          }
        }
      }
    }
  }
 
DEDMOROZ:

Bonjour ! Pouvez-vous me dire pourquoi le pied du handicapé a des rougeurs ?


Tu ne peux pas éditer ton message correctement ? Il y a une fonction spéciale pour insérer du code, comme...
MQL5.community - Памятка пользователя
MQL5.community - Памятка пользователя
  • 2010.02.23
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы недавно зарегистрировались и у вас возникли вопросы: Как вставить картинку в сообщение на форуме, как красиво оформить исходный код MQL5, где находятся ваши Личные сообщения? В этой статье мы подготовили для вас несколько практических советов, которые помогут быстрее освоиться на сайте MQL5.community и позволят в полной мере воспользоваться доступными функциональными возможностями.
 

Développeurs - Où trouvez-vous une telle herbe ?

Le serveur doit être tellement "stone" pour déclarer les positions SELL comme POSITION_TYPE_BUY (0), Buy doitêtre POSITION_TYPE_SELL (1)...


Je veux dire la question ci-dessus et comment ce code fonctionne :

if (PositionGetInteger(POSITION_TYPE)==0)

PS

DEDMOROZ, avez-vous essayé d'utiliser des identifiants ?

De plus, il est utile de diviser le code de grands blocs en parties (la POO arrive)...

 
Interesting:

Développeurs - Où trouvez-vous une telle herbe ?

Le serveur doit être tellement "stone" pour déclarer les positions SELL comme POSITION_TYPE_BUY (0), Buy doitêtre POSITION_TYPE_SELL (1)...


Parce qu'il y a d'autres énumérations avec ORDER_TYPE_BUY, DEAL_TYPE_SELL, BOOK_TYPE_BUY

 
stringo:

Parce qu'il y a d'autres énumérations avec ORDER_TYPE_BUY, DEAL_TYPE_SELL, BOOK_TYPE_BUY

Et qu'est-ce que PositionGetInteger(POSITION_TYPE) a à voir avec cela ? Et qu'est-ce que POSITION_TYPE_BUY et POSITION_TYPE_SELL ont à voir avec cela ?


Un exemple simple :

J'ai maintenant une position de vente ouverte en EUR (ouverte depuis le marché). Je le vois comme une vente, mais mon conseiller expert le voit comme un achat (0).

J'ouvre l'aide pour PositionGetInteger(POSITION_TYPE) et je vois que le serveur confond manifestement quelque chose...


PS

L'homme voit une position ouverte, l'homme voit l'aide et fait tout correctement (à son avis), mais le serveur a comme toujours une opinion "spéciale"...

 
Interesting:

Un exemple simple :

J'ai maintenant une position de vente ouverte en EUR (ouverte depuis le marché). Je le vois comme une vente, mais EA le voit comme un achat (0).

J'ouvre l'aide pour PositionGetInteger(POSITION_TYPE) et je vois que le serveur est manifestement confus à propos de quelque chose...


PS

L'homme voit la position ouverte, l'homme voit l'aide et fait tout correctement (à son avis), mais le serveur a comme toujours une opinion "spéciale"...

Avant de voir une pose ouverte, vous devez d'abord appeler la fonction PositionSelect
 
stringo:
Avant de voir une pose ouverte, vous devez d'abord appeler la fonction PositionSelect

Alors je m'excuse, j'ai eu le temps de fumer aujourd'hui...

 
DEDMOROZ:

Bonjour ! Pouvez-vous me dire pourquoi l'arrêt pour handicapés est défoncé ?

En fait, c'est un code de transfert sans perte... Je pense que beaucoup le trouveront utile...


   for(int i=PosTotal-1; i>=0; i--)//перебор позиций имеет смысл, если перенос в безубыток мультивалютный
     {//где-то тут должен быть выбор позиции, которую будем допрашивать :)
                 MqlTick lasttick;
            SymbolInfoTick(Symbol(),lasttick);//ask,bid всегда берутся с текущего символа.
soit vous n'avez pas besoin du dépassement, soit vous devez demander et offrir sur le symbole de la pose.
Raison: