Fehler, Irrtümer, Fragen - Seite 1388

 

Ein Fehler in der Logik

Wenn der Antrag auf Erteilung eines Auftrags wegen mangelnder Netzanbindung abgelehnt wurde (Zeile mit failed), warum wurde er dann tatsächlich ausgeführt, was durch die anschließende Änderung des Auftrags (Zeile mit modify) bestätigt wird.

Und wenn nach der Wiederherstellung der Netzverbindung das Terminal selbst eine zweite Anfrage sendet, wo steht dann die Zeile über die erfolgreiche Ausführung?

 
A100:

Ein Fehler in der Logik

Wenn der Antrag auf Erteilung eines Auftrags wegen mangelnder Netzanbindung abgelehnt wurde (Zeile mit failed), warum wurde er dann tatsächlich ausgeführt, was durch die anschließende Änderung des Auftrags (Zeile mit modify) bestätigt wird.

Und wenn nach der Wiederherstellung der Netzverbindung das Terminal selbst eine zweite Anfrage sendet, wo steht dann die Zeile über die erfolgreiche Ausführung?

Der Broker wollte Ihren Auftrag nicht ausführen und hat die Internetverbindung getrennt. Aber dann haben sich die Marktbedingungen geändert und der Makler ändert seine Meinung und führt den Auftrag aus. ))
 
Sergey Chalyshev:
Der Broker wollte Ihren Auftrag nicht ausführen und hat die Internetverbindung unterbrochen. Doch dann änderten sich die Marktbedingungen, er änderte seine Meinung und führte den Auftrag aus. ))
Der Kern des Problems besteht darin, dass die Software die vorgenommenen Änderungen nicht ordnungsgemäß aufzeichnet, so dass es unmöglich ist, bei Unstimmigkeiten mit dem Makler auf das Logbuch zurückzugreifen.
 

Können Sie mir sagen, warum die Funktion FileOpen in INI_file::WriteFile nicht funktioniert. Er gibt -1 zurück. GetLastError() gibt Code 5004 zurück (Datei kann nicht geöffnet werden)

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);
  }

Erfordert die Neuerstellung einer Textdatei in Ansi-Codierung. Bevor ichWriteFile aufrufe, lese ich die gleiche Datei mit INI_file::ReadFile.

 

Ich spreche von MT4 und MQL4.

Manchmal öffnet es sich gut, Daten werden geschrieben (der Rückgabewert vonFileWriteString wird nicht überprüft), aber die Datei wird nicht geändert, auch das Dateidatum wird nicht geändert.

 int fh=FileOpen(fn,FILE_WRITE);

Wenn ich eine Datei auf diese Weise öffne, wird die Datei geöffnet und die Daten werden in Ansi-Codierung geschrieben, aber nicht in Unicode, wie in der Hilfe beschrieben, wenn FILE_ANSI/FILE_UNICODE nicht vorhanden ist.

 
Дмитрий:

Können Sie mir sagen, warum die Funktion FileOpen in INI_file::WriteFile nicht funktioniert. Er gibt -1 zurück. GetLastError() gibt Code 5004 zurück (Datei kann nicht geöffnet werden)

   int fh=FileOpen(fn,FILE_WRITE | FILE_TXT | FILE_ANSI);
 
A100:
Ich danke Ihnen! Ich habe schon lange nicht mehr in MQL geschrieben ))). Vergessen
 

Kann mir jemand erklären, warum ein Tester eine Geschichte über ein Tool herunterladen sollte, das ich nicht testen werde?

Herunterladen von EURUSD

das Tool zum Testen von USDCAD, es gibt keine Anfragen zur Arbeit mit EURUSD

und das passiert ständig, versucht sie, aus dem, was sie hat, synthetische Paare zu machen, wenn es Lücken in der Geschichte gibt? Eine andere Erklärung kann ich nicht finden.

 
Der Tester ist mehrwährungsfähig und muss in jeder Sekunde sowohl die Margin-Anforderungen als auch die Gewinne in der Einzahlungswährung absolut genau berechnen.

Deshalb berechnet der Handelsstrategietester alle Zusammenhänge von Finanzinstrumenten und bietet eine genaue Modellierung der Marktbedingungen.
 
Renat Fatkhullin:
Der Tester ist mehrwährungsfähig und muss in jeder Sekunde sowohl die Margin-Anforderungen als auch die Gewinne in der Einzahlungswährung absolut genau berechnen.

Deshalb berechnet der Handelsstrategietester alle Zusammenhänge von Finanzinstrumenten und bietet eine genaue Modellierung der Marktbedingungen.
Danke für die Klarstellung, solange es notwendig ist, lassen Sie ihn es herunterladen, ich habe kein Mitleid)