Erreurs, bugs, questions - page 1660

 
fxsaber:

Ça ne marche pas pour moi. Écrit une seule ligne dans le journal (voir ci-dessus) et c'est tout.

Windows XP SP3 x32, 1395. Un message de certificat apparaît lors de l'ouverture de la session. Mais cela ne devrait pas affecter le testeur.

Idem sur Win7 x64.
 
Est-il possible de connaître la taille du pointeur en dehors de la MCL au moment de la compilation ?
 

A partir du journal du testeur.

FR      0       16:47:53.493    Core 1  initial deposit 100000.00 RUR, leverage 1:0

Oui, ce n'est pas une faute de frappe. L'effet de levier est de 1:0 pour une raison quelconque.

J'essaie de faire du débogage avec cet effet de levier dans le testeur. Il n'y a qu'une seule ligne.

2016.09.02 17:00:02     Tester  Leverage 1:0 set error
 
pavlick_:
Est-il possible de connaître la taille du pointeur en dehors de la MCL au moment de la compilation ?
Je ne comprends rien.)
 

Suis-je le seul à avoir une pause de 2-3 secondes au début d'une course ?

MR      0       16:47:50.960    Tester  RTS-9.16: ticks data begins from 2016.08.01 00:00
LE      0       16:47:50.963    Core 1  agent process started
CE      0       16:47:51.473    Core 1  connecting to 127.0.0.1:3000
NR      0       16:47:52.736    Core 1  connected
DJ      0       16:47:52.741    Core 1  authorized (agent build 1401)
Où va l'heure dans le local à chaque fois ? !
 
pavlick_:
Est-il possible de connaître la taille d'un pointeur en dehors de MQL au moment de la compilation ?
Non, le code MQL peut s'exécuter en "mode" x86 et x64, donc la taille du pointeur "externe" n'est pas une constante au moment de la compilation.

Vous pouvez utiliser la variable prédéfinie _IsX64 pour déterminer le bitness du code en cours d'exécution.

Vous trouverez un exemple d'utilisation dans cet article.
 
Ilyas:
Merci.
 

Si vous créez un fichier txt et cliquez sur ajouter au stockage, le fichier est ajouté et validé, mais si vous essayez d'ajouter un dossier entier avec plusieurs fichiers txt, cela échoue ((((.

Est-il permis de stocker des fichiers txt dans le stockage ? Je demande juste pour ne pas avoir d'ennuis.

 
Vladimir Pastushak:

Si vous créez un fichier txt et cliquez sur ajouter au stockage, le fichier est ajouté et validé, mais si vous essayez d'ajouter un dossier entier avec plusieurs fichiers txt, cela échoue ((((.

Est-il permis de stocker des fichiers txt dans le stockage ? Je veux m'assurer que je n'aurai pas d'ennuis.

Bien que l'aide ne mentionne pas explicitement le txt :

  • Le stockage MQL5 fonctionne uniquement avec les types de fichiers suivants : mq4, mq5, mqh, cpp, h, bmp, wav. Les autres types de fichiers ne peuvent pas être ajoutés au référentiel.
  • Vous ne pouvez pas ajouter de fichiers de plus de 64 Mo au référentiel.

mais essentiellement des fichiers, les fichiers mq* sont des fichiers texte.

En général vérifié - le fichier *.txt est ajouté au référentiel.

 

Est-ce un bug ou une question, mais quelque chose d'incompréhensible ...se passe dans le testeur et dans le débogueur... Tout va bien sur EURUSD, mais il y a un problème avec USDJPY...

Partie du code

void funArrPositionTicket(ulong & arrBuy[], int & buySize, ulong & arrSell[], int & sellSize)
{
 double bp, sp;
  buyProfit = 0; sellProfit = 0; buyVolume = 0; sellVolume = 0;
   int i, total = PositionsTotal();
    for(i = 0; i < total; i++)
     {
      if(PositionGetTicket(i) > 0 && PositionGetString(POSITION_SYMBOL) == _Symbol)
       {
        if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY)
         {
          buySize = ArraySize(arrBuy);
           ArrayResize(arrBuy, buySize+1);
            arrBuy[buySize] = (int)PositionGetInteger(POSITION_TICKET);
           buyProfit += PositionGetDouble(POSITION_PROFIT);
          buyVolume += PositionGetDouble(POSITION_VOLUME);
         }
        if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL)
         {
          sellSize = ArraySize(arrSell);
           ArrayResize(arrSell, sellSize+1);
            arrSell[sellSize] = (int)PositionGetInteger(POSITION_TICKET);
           sp = PositionGetDouble(POSITION_PROFIT);
           sellProfit += sp;
          sellVolume += PositionGetDouble(POSITION_VOLUME);
         }
       }
     }
}/*******************************************************************/

Ce qui m'intéresse dans le code est clair dans les captures d'écran... Il est marqué dans le code.

Il y a UN ordre de vente avec une perte de 7,39, mais le code indique une perte de seulement 0,93.


La flèche verte dans la capture d'écran suivante montre que le débogage est arrêté à cette ligne...



C'est-à-dire que la variable sl a déjà été définie comme PositionGetDouble(POSITION_PROFIT).


QUESTION : Pourquoi cela se produit-il ? S'agit-il d'un bogue ou d'un modèle, d'une caractéristique spéciale du testeur/débogueur mql5 ???

La variable sp a été introduite un peu plus tard, initialement la variable sellProfit a été vérifiée, qui a été mise à zéro lors de l'entrée dans la fonction.