Erreurs, bugs, questions - page 2175

 
Konstantin Nikitin:

Je l'ai enregistré dans un com et je l'ai regardé. Cela ressemble à une capture d'écran du forum, avec déjà une icône de zoom.

Non, il s'agit d'une image normale. Si vous cliquez sur PKM et sélectionnez "Ouvrir dans un nouvel onglet/fenêtre", l'image s'ouvre en taille réelle.

 
Artyom Trishkin:

Suis-je le seul à avoir une image de cet article qui ne s'ouvre pas dans une nouvelle fenêtre popup ? Mozilla FireFox 59.0.2 (64 bits)

Je veux dire, l'image qui est dans la citation ne s'ouvre pas.

Il ne s'ouvre pas, et j'ai chrome, qui ouvre tout !

 
Vitaly Muzichenko:

Il ne s'ouvre pas, et j'ai chrome, qui ouvre tout !


Il ne s'agit pas de Chrome, mais du script du site web.

 

Messieurs, il y a une erreur que je ne comprends pas. Si vous savez quel est le problème, veuillez m'aider.

Lorsque nous compilons le code ci-dessous, nous obtenons une erreur :'ORDER_TYPE_BUY' - cannot convert enum ;'ORDER_TYPE_SELL' - cannot convert enum.

Un code similaire en mql4 compile bien. J'ai vu des exemples similaires dans d'autres EAs utilisant mql5. Mais il ne compile pas pour le moment. Je n'ai aucune idée de la raison pour laquelle il en est ainsi et de ce qui doit être corrigé.

//+------------------------------------------------------------------+
int Fun()
  {
   int res;

   int total=PositionsTotal(); // количество открытых позиций   
//--- перебор всех открытых позиций
   for(int i=total-1; i>=0; i--)
     {
      //--- параметры ордера
      ulong  position_ticket=PositionGetTicket(i);  // тикет позиции                                  

      ENUM_POSITION_TYPE type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);  // тип позиции      

      if(type!=ORDER_TYPE_BUY && type!=ORDER_TYPE_SELL) continue;

      switch(type)
        {
         case ORDER_TYPE_BUY:
            res=1;
            break;

         case ORDER_TYPE_SELL:
            res=2;
            break;
        }
      return(res);

     }

   return(3);
  }
//+------------------------------------------------------------------+

 
if (type !=POSITION_TYPE_BUY &&  type!=POSITION_TYPE_SELL) continue;  
 
Sergiy Riehl:

Messieurs, il y a une erreur que je ne comprends pas. Si vous savez quel est le problème, veuillez m'aider.

Lorsque nous compilons le code ci-dessous, nous obtenons une erreur :'ORDER_TYPE_BUY' - cannot convert enum ;'ORDER_TYPE_SELL' - cannot convert enum.

Un code similaire en mql4 compile bien. J'ai vu des exemples similaires dans d'autres EAs utilisant mql5. Mais il ne compile pas pour le moment. Je n'ai aucune idée de la raison pour laquelle cela se produit et de ce qui doit être corrigé.


Veuillez insérer le code correctement :


Votre code est corrigé pour vous dans votre post

 
Sergiy Riehl:

Messieurs, il y a une erreur que je ne comprends pas. Si vous savez quel est le problème, veuillez m'aider.

Lorsque nous compilons le code ci-dessous, nous obtenons une erreur :'ORDER_TYPE_BUY' - cannot convert enum ;'ORDER_TYPE_SELL' - cannot convert enum.

Un code similaire en mql4 compile bien. J'ai vu des exemples similaires dans d'autres EAs utilisant mql5. Mais il ne compile pas pour le moment. Je n'ai aucune idée de la raison pour laquelle il en est ainsi et de ce qui doit être corrigé.



 ENUM_POSITION_TYPE type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);  // тип позиции      

      if(type!=ORDER_TYPE_BUY && type!=ORDER_TYPE_SELL) continue;


Vous affectez le type POSITION_TYPE

et le comparer avec ORDER_TYPE

 
Sergiy Riehl:

Messieurs, il y a une erreur que je ne comprends pas. Si vous savez quel est le problème, veuillez m'aider.

Lorsque nous compilons le code ci-dessous, nous obtenons une erreur :'ORDER_TYPE_BUY' - cannot convert enum ;'ORDER_TYPE_SELL' - cannot convert enum.

Un code similaire en mql4 compile bien. J'ai vu des exemples similaires dans d'autres EAs utilisant mql5. Mais il ne compile pas pour le moment. Je n'ai aucune idée de la raison pour laquelle cela se produit et de ce qui doit être corrigé.


Vous confondez les ordres (dans l'ancien langage) et les positions dans MQL5.

Le type de position peut être (ENUM_POSITION_TYPE)

Identifiant

Description

POSITION_TYPE_BUY

Acheter

POSITION_TYPE_SELL

Vendez


C'est-à-dire OU "POSITION_TYPE_BUY" OU "POSITION_TYPE_SELL". Il ne peut y avoir d'autre arrangement.

Par conséquent, votre code prendra la forme :

   for(int i=total-1; i>=0; i--)
     {
      //--- параметры позиции
      ulong  position_ticket=PositionGetTicket(i);  // тикет позиции                                  

      ENUM_POSITION_TYPE type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);  // тип позиции      

      switch(type)
        {
         case POSITION_TYPE_BUY:
            res=1;
            break;

         case POSITION_TYPE_SELL:
            res=2;
            break;
        }
      return(res);
     }
   return(3);
 
Merci à tous. J'ai tout.
 

Problème. J'utilise la classe standard CTrade::SellStop

Lorsque j'ajoute un ordre, j'envoie expiration = TimeCurrent()+3600 ; (j'ai vérifié l'heure - elle est correcte).

Une commande n'est pas supprimée.

Il faudra peut-être ajouter quelque chose d'autre, puisqu'il s'agit d'une classe standard.

Merci d'avance.