Fehler, Irrtümer, Fragen - Seite 625

 

tester_datei

String

Dateiname für das Prüfgerät mit Angabe der Erweiterung, eingeschlossen in doppelten Anführungszeichen (als konstante Zeichenfolge). Die angegebene Datei wird zur Bearbeitung an das Prüfgerät übergeben. Eingabedateien für Tests, falls erforderlich, sollten immer angegeben werden

Dies ist aus der Hilfe. Der Parameter"tester_file" dient zur eindeutigen Identifizierung des Dateinamens.

Daher die Frage: Wie kann ein EA getestet werden, wenn mehrere Dateien beim Lesen geöffnet werden müssen?

 

Hallo!

Dieses Konstrukt (zum Beispiel) :

if (Buf[i]>=0 && MACD_i<=0)

Bediener1

.............

OperatorN


In diesem Fall wird immer der Operator1......OperatorN ausgeführt.

Da nach if (Bedingung) keine öffnenden Klammern stehen { }

Bitte sorgen Sie dafür, dass der Compiler bei der Überprüfung von Syntaxfehlern eine Warnung zu diesem Thema ausgibt.

Manchmal sind die Konstruktionen riesig und mehrstufig, und es ist sehr schwer, in solchen Fällen einen Fehler zu finden.

 

Wenn es kein { } gibt, wird immer Operator2 ausgeführt... OperatorN

und Operator1 nur, wenn die Bedingung erfüllt ist.

Dies ist eine normale Konstruktion und eine Warnung wäre hier unangebracht.

 

Fia:

Denn Konstruktionen können riesig und mehrstufig sein, und es ist dann sehr schwierig, nach einem Fehler zu suchen.

Was (oder wer) hält Sie davon ab, die fehlenden { } einzufügen?

 
Fia:

...

Denn Konstruktionen können riesig und mehrstufig sein, und es ist dann sehr schwierig, nach einem Fehler zu suchen.

Strukturieren Sie Ihren Code. Dann wird der Code nicht "riesig und vielschichtig" sein.
 

Hallo!

Bitte helfen Sie mir, ich stecke fest...

   handle=FileOpen(nam,FILE_CSV|FILE_READ);
   if(handle>0)
      {
      while(! FileIsEnding(handle))
         {
         sss=FileReadString(handle);
         Print(sss);
         for(x=2; x<=6; x++)
            {
            X=FileReadNumber(handle);
            Print(X);
            }
         }
      FileClose(handle);
      }

Es gibt diesen Code, der aus einer CSV-Datei gelesen wird (im Trailer). Nachdem FileReadString ausgeführt wurde, ist es nicht der Name des Symbols (wie in der Datei), sondern eine lange Reihe von Nichts. Und hier ist das Ende der Datei. Das Trennzeichen ist ein Tabulator, daher sollte es nicht explizit in FileOpen angegeben werden, Standardzeichensatz, Anzahl der Zeichen - vor dem Trennzeichen (CSV). Wo habe ich Mist gebaut - der Code ist ein bisschen?

Dateien:
file.zip  1 kb
 
muallch:

Hallo!

Bitte helfen Sie mir, ich stecke fest...

Es gibt diesen Code - gelesen aus der CSV-Datei (im Trailer). Nachdem FileReadString ausgeführt wurde, ist es nicht der Name des Symbols (wie in der Datei), sondern eine lange Reihe von Nichts. Und hier ist das Ende der Datei. Das Trennzeichen ist ein Tabulator, daher sollte es nicht explizit in FileOpen angegeben werden, Standardzeichensatz, Anzahl der Zeichen - vor dem Trennzeichen (CSV). Wo habe ich es vermasselt - der Code ist ein bisschen?

void OnStart()
  {
   string nam="file.csv";
   int handle=FileOpen(nam,FILE_CSV|FILE_READ|FILE_ANSI);

   if(handle<0)
     {
      Print("Неудачная попытка открыть файл по абсолютному пути");
      Print("Код ошибки ",GetLastError());
     }

   if(handle>0)
      {
      while(! FileIsEnding(handle))
         {
         string sss=FileReadString(handle);
         Print(sss);
         for(int x=2; x<=6; x++)
            {
            double X=FileReadNumber(handle);
            Print(X);
            }
         }
      FileClose(handle);
      }
  }
 

Alles wegen FILE_ANSI?

Ich habe den Elefanten nicht bemerkt, danke!

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов - Документация по MQL5
 
muallch:

tester_datei

String

Dateiname für das Prüfgerät mit Angabe der Erweiterung, eingeschlossen in doppelten Anführungszeichen (als konstante Zeichenfolge). Die angegebene Datei wird zur Bearbeitung an das Prüfgerät übergeben. Eingabedateien für Tests, falls erforderlich, sollten immer angegeben werden

Dies ist aus der Hilfe. Der Parameter"tester_file" dient zur eindeutigen Identifizierung des Dateinamens.

Daher die Frage: Wie können wir einen EA testen, wenn mehrere Dateien zum Lesen geöffnet werden müssen?

Oder vielleicht können Sie auch das vorschlagen?
 
muallch:
Können Sie das auch vorschlagen?
Setzen Sie einige #tester_file im Programm