Erreurs, bugs, questions - page 1388

 
A100:

Une erreur de logique

Si la demande de placement d'un ordre a été refusée (ligne avec failed) en raison d'un manque de connectivité au réseau, pourquoi a-t-elle été effectivement exécutée, ce qui est confirmé par la modification ultérieure de l'ordre (ligne avec modify).

Et si, après le rétablissement de la connexion au réseau, le terminal lui-même a envoyé une deuxième demande, où se trouve la ligne concernant son exécution réussie ?

Le courtier n'a pas voulu exécuter votre ordre et a déconnecté l'Internet. Mais les conditions du marché ont changé et le courtier change d'avis et exécute l'ordre. ))
 
Sergey Chalyshev:
Le courtier n'a pas voulu exécuter votre ordre et a déconnecté l'internet. Mais les conditions du marché ont changé, il a changé d'avis et s'est exécuté. ))
Le nœud du problème est que le logiciel n'enregistre pas correctement les changements qui ont lieu, ce qui rend impossible de se référer au journal de bord en cas de désaccord avec le courtier.
 

Pouvez-vous me dire pourquoi la fonction FileOpen ne fonctionne pas dans INI_file::WriteFile. Il renvoie -1. GetLastError() renvoie le code 5004 (Le fichier ne peut pas être ouvert)

void INI_file::WriteFile(string &lines[])
  {
   string fn=IniName;
   //int fh=FileOpen(fn,FILE_WRITE);
   int fh=FileOpen(fn,FILE_WRITE|| FILE_TXT ||FILE_ANSI);
   if(INVALID_HANDLE==fh)
     {
      LastErr=GetLastError();
      Message=StringConcatenate("FileOpen(...) of ",IniName,": ",ErrorDescription(LastErr));
      return;
     }

   for(int i=0;i<ArraySize(lines);i++)
      FileWriteString(fh,lines[i]+"\n");

   FileClose(fh);
  }

void INI_file::ReadFile(string &lines[])
  {
   int fh=FileOpen(IniName,FILE_READ || FILE_TXT || FILE_ANSI);
   if(fh==INVALID_HANDLE)
     {
      LastErr=GetLastError();
      Message=StringConcatenate("FileOpen(...) of ",IniName,": ",ErrorDescription(LastErr));
      return;
     }

   string line="";

   int k=0;
   ArrayResize(lines,1000);
   while(!FileIsEnding(fh))
     {
      line=FileReadString(fh);
      lines[k++]=line;
      if(k==ArraySize(lines))
         ArrayResize(lines,1000+k);
     }

   ArrayResize(lines,k);
   FileClose(fh);
  }

Nécessite la recréation d'un fichier texte en codage ansi. Avant d'appelerWriteFile, j'ai lu le même fichier en utilisant INI_file::ReadFile.

 

Je parle de MT4 et MQL4.

Parfois, il s'ouvre bien, les données sont écrites (la valeur de retour deFileWriteString n' est pas vérifiée), mais le fichier n'est pas modifié, même la date du fichier n'est pas modifiée.

 int fh=FileOpen(fn,FILE_WRITE);

Si j'ouvre un fichier de cette manière, le fichier est ouvert et les données sont écrites en codage ansi, mais pas en unicode, comme décrit dans l'aide lorsque FILE_ANSI/FILE_UNICODE est absent.

 
Дмитрий:

Pouvez-vous me dire pourquoi la fonction FileOpen ne fonctionne pas dans INI_file::WriteFile. Il renvoie -1. GetLastError() renvoie le code 5004 (Le fichier ne peut pas être ouvert)

   int fh=FileOpen(fn,FILE_WRITE | FILE_TXT | FILE_ANSI);
 
A100:
Merci ! Je n'ai pas écrit en MQL depuis longtemps ;))). J'ai oublié
 

Quelqu'un peut-il expliquer pourquoi un testeur téléchargerait une histoire sur un outil que je ne vais pas tester ?

téléchargement EURUSD

l'outil pour tester USDCAD, il n'y a pas de demandes pour travailler avec EURUSD

et cela arrive tout le temps, est-ce qu'il essaie de faire des paires synthétiques avec ce qu'il a s'il y a des lacunes dans l'histoire ? Je ne trouve pas d'autre explication.

 
Le testeur est multidevises et doit calculer de manière absolument précise et à tout moment les marges requises et les bénéfices dans la devise de dépôt.

C'est pourquoi le testeur de stratégie de trading calcule toutes les interrelations des instruments financiers et fournit une modélisation précise des conditions du marché.
 
Renat Fatkhullin:
Le testeur est multidevises et doit calculer de manière absolument précise et à tout moment les marges requises et les bénéfices dans la devise de dépôt.

C'est pourquoi le testeur de stratégie de trading calcule toutes les interrelations des instruments financiers et fournit une modélisation précise des conditions du marché.
Merci pour la précision, tant que c'est nécessaire, qu'il le télécharge, je ne me sens pas désolé ;)
 

Bonjour !

J'étudie, j'essaie de réparer l'expert. Dans l'éditeur de code, en mode débogage, il y a deux façons, par tics et par historique.

Pour une raison quelconque, je ne peux pas exécuter un test d'historique, cette ligne n'est pas active. Les instructions indiquent : remplissez le tableau dans les paramètres et c'est tout.

Mais la ligne "Start on historical data" n'est pas active ????????????????????.