Erreurs, bugs, questions - page 295

 
Voodoo_King:


Et puis... dans le développement de logiciels, on considère qu'il est de bon ton de ne pas avoir d'écran de collision.


Et c'est ce à quoi nous avons affaire.

 
stringo:
Vous devez reproduire l'erreur pour la corriger. J'aimerais voir les logs de vos agents. Il serait bon que vous puissiez envoyer votre expert. Et décrivez les paramètres de test d'entrée.

Il doit s'agir de l'intervalle de temps en minutes au lieu des autres sélections lorsque"chaque tick" est activé.

Je n'ai que des délais d'une minute partout et tout semble correct.

P.S. J'ai écrit plus haut.

 

Si le drapeau FILE_SHARE_READ est un drapeau d'ouverture et non le drapeau d'ouverture lui-même, pourquoi le fichier s'ouvre-t-il quand même ?

2011.02.07 18:18:14    Лист18 (EURUSD,H1)    Файл открыт с флагом FILE_SHARE_READ нормально Templates\Example.txt
2011.02.07 18:18:14    Лист18 (EURUSD,H1)    SHARE_READ  
void SHARE_ReadFile()
  {
   string subfolder="Templates";
   int han=FileOpen(subfolder+"\\"+folder+".txt",FILE_SHARE_READ|FILE_TXT|FILE_ANSI,"\r");
   if(han!=INVALID_HANDLE)
     {
      Print("SHARE_READ  ",FileReadString(han));           

      Print("Файл открыт с флагом FILE_SHARE_READ нормально "+subfolder+"\\"+folder+".txt"); 
      FileClose(han);
     }
   else
     {
      Print("Ошибка открытия файла с флагом FILE_SHARE_READ "+subfolder+"\\"+folder+".txt, error",GetLastError());
     }
  }

Il me semble que le résultat devrait être une erreur d'ouverture de fichier.

Et en fait, c'est le cas, car rien n'est imprimé, mais la vérification de la poignée montre que le fichier est ouvert.

 
mql5:
L'image est ajoutée à la ressource EX5 par
#resource "<chemin vers le fichier relatif au dossier MQl5\Images>".

Exemple

#resource "res\\test.bmp";

Tout est en place ? Je cherche le chemin si #resource dans le fichier d'EA, relatif au répertoire source d'EA.

Impossible d'ouvrir le fichier de ressources 'C:\Program Files\MetaTrader 5 DEV\MQL5\Experts\myexpert\res\\\\test.bmp' (3) 0 0

Si #resource est dans le fichier de l'injection, tout va dans un seul endroit et se retrouve dans les dossiers des autres inludes.

ne peut pas ouvrir le fichier de ressources 'C:\Program Files\MetaTrader 5 DEV\MQL5\include\Arrays\res\test.bmp' (3) 0 0

La variante suivante recherche à partir de la "racine" de MQL5

#resource "\\res\\test.bmp";

ne peut ouvrir le fichier de ressources 'C:\Program Files\MetaTrader 5 DEV\MQL5\res\test.bmp' (3) 0 0

Je constate également que des choses qui fonctionnaient auparavant ne fonctionnent pas non plus (le fichier se trouvant dans MQL5/Images/res/test.bmp).

ObjectSetString(0,pname,OBJPROP_BMPFILE,0,"\\res\\test.bmp");

J'ai raté quelque chose ?

 
Vigor:

Exemple

Tout est en place ? Je cherche le chemin si #resource dans le fichier d'EA, relatif au répertoire source d'EA.

Impossible d'ouvrir le fichier de ressources 'C:\Program Files\MetaTrader 5 DEV\MQL5\Experts\myexpert\res\\\etest.bmp' (3) 0 0

Si #resource est dans le fichier_include, tout va à un seul endroit et se retrouve dans les dossiers d'autres inludes.

ne peut ouvrir le fichier de ressources 'C:\Program Files\MetaTrader 5 DEV\MQL5\include\Arrays\res\test.bmp' (3) 0 0

La variante suivante recherche à partir de la "racine" de MQL5

ne peut pas ouvrir le fichier de ressources 'C:\Program Files\MetaTrader 5 DEV\MQL5\res\test.bmp' (3) 0 0

J'ai également remarqué que quelque chose qui fonctionnait auparavant ne fonctionne plus non plus (le fichier est MQL5/Images/res/test.bmp).

J'ai raté quelque chose ?



Je pense que ça devrait être

MetaTrader 5 Client Terminal build 384

  1. Terminal : Ajout d'un assistant pour l'ajout d'agents de test à distance. En plus de la saisie manuelle et de l'importation à partir d'un fichier *.mt5, ajout de la possibilité de scanner un réseau local pour trouver un agent fonctionnel.
  2. MQL5 : Ajout de la possibilité de stocker des ressources dans des fichiers *.ex5. Pour ajouter une ressource au fichier *.ex5, utilisez la directive #resource en spécifiant le chemin d'accès au fichier relatif au répertoire MQL5\Images du terminal client. Par exemple :#resource myexpert\button.bmp
    Les fichiers de la ressource peuvent être référencés par une chaîne comme : "script_name::resource_name". Le nom de fichier (sans extension) transmis dans la directive #resource est utilisé comme nom de ressource.
Si vous avez bien compris, les fichiers peuvent être localisés ici - MQL5\Images\Nom du répertoire/nom du fichier.
 
Interesting:

Cela ressemble à ceci

MetaTrader 5 Client Terminal build 384

relatif au répertoire MQL5\Images du terminal client. Par exemple :#resource myexpert\button.bmp

Ceci est relatif et ne fonctionne pas. et sans guillemets. et backslash est double.
 
Vigor:
C'est relatif et ne fonctionne pas. et vous ne pouvez pas le faire sans guillemets. et backslash est double.

Allons voir ça.

C'est comme ça que la #resource "\Images\\\\Phoenix\\\Logo.bmp" semble fonctionner ;

Bien que cela semble étrange (selon l'idée, il devrait rechercher relativement les MQL5\Images, c'est-à-dire qu'au moins cela devrait ressembler à ceci - #resource "\\\\Phoenix\\\Logo.bmp").

Soit le rendre relatif au répertoire Images, soit corriger la description de la version (pour que tout soit logique et compréhensible)...

 
J'ai fourni un exemple de dossier MQL5 dans les commentaires. Au fait, j'ai les messages du journal et ils montrent clairement OÙ le compilateur recherche les fichiers.

Et, comme je l'ai écrit, OBJPROP_BMPFILE avec un chemin relatif depuis le dossier Images ne fonctionne pas non plus. En général, selon les dernières expériences, tout fonctionne lorsque le chemin complet est spécifié à partir de \ de MQL5.

La question est de savoir si cette innovation est valable. Ou s'agit-il d'un phénomène temporaire ?

 
Vigor:
J'avais un exemple dans mon commentaire sur le dossier MQL5. D'ailleurs, j'ai des messages de journal à cet endroit et cela montre clairement OÙ le compilateur recherche les fichiers.

Mais on le voit partout mais pas là où il est censé être :(
 

Bonjour !

Code :

si (NormalizeDouble(Prices_Flow[0].Price_Position,4) != 0)
{
double Position_In_Percentage = Prices_Flow[0].Indicator_Position * 100 / Prices_Flow[0].Price_Position ;
//autre code sans rapport avec la question
}


Lorsque vous effectuez des tests dans le testeur de stratégie en même temps sur l'un des outils, la division par zéro se produit (2011.02.08 01:40:23 Core 2 2010.08.02 00:00:00 Zero divide in 'almirlib.mqh' (535,102)).

Comment cela est-il possible avec le code ci-dessus ?