Fehler, Irrtümer, Fragen - Seite 2969

 
Kann jemand einen praktischen Fenster-/Diagramm-Manager empfehlen? Alphabetische Sortierung der Liste, kontextbezogene Suche, hierarchische Anzeige aller heruntergeladenen EAs, Skripte, Indikatoren; schneller Wechsel.
 
Stanislav Korotky:
Gibt es eine Möglichkeit zu wissen, dass das MQL-Programm durch den Start des Terminals (d. h. automatisch zu Beginn der Sitzung) und nicht interaktiv durch den Benutzer gestartet wurde?

Sie können bei OnDeinit in die Reason-Datei schreiben und sie beim Start laden. Wenn der geladeneGrundREASON_CLOSE war, dann wurde das Programm als Folge des Terminalstarts geladen (weil es als Folge des Schließens beendet wurde). Wenn es nicht da ist oder anders, dann anders...

Документация по MQL5: Обработка событий / OnDeinit
Документация по MQL5: Обработка событий / OnDeinit
  • www.mql5.com
OnDeinit - Обработка событий - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Stanislav Korotky:

Probieren Sie die gepatchte Version der ControlsPlus-Fenster und -Steuerungsbibliothek aus diesem Artikel aus. Dort wurde die Gummierung automatisch unterstützt.

Danke, aber das ist es überhaupt nicht. Ich muss den Code optimieren, der auf SB funktioniert.

 

Editorischer Fehler mit extra Leerzeichen

https://photos.app.goo.gl/CK2KSZaKVRKMCz1S8

So verschwindet der Fehler

https://photos.app.goo.gl/bSPtMDL4MKSKpbFP6

Kopie von uncompilable, wie in dem Beispiel


dasselbe Problem bei mt5

Dateien:
err.mq4  2 kb
err.mq5  2 kb
 
Vitaly Muzichenko:

Vielen Dank, aber das ist es nicht, überhaupt nicht. Wir müssen den Code, der auf dem SB funktioniert, optimieren.

Was soll das heißen, es ist überhaupt nicht dasselbe? Ich bot an, die gepatchte SB-Version zu nehmen, die das obige Problem löste. Nun, Sie sind der Boss.

 
Stanislav Korotky:
Kann jemand einen praktischen Fenster-/Diagramm-Manager empfehlen? Alphabetische Sortierung der Liste, kontextbezogene Suche, hierarchische Anzeige aller geladenen EAs, Skripte, Indikatoren; schneller Wechsel.

Vielleicht wird F2 im Terminal eines neuen Builds teilweise helfen.

 
Stanislav Korotky:

Was soll das heißen, es ist überhaupt nicht dasselbe? Ich schlug vor, die gepatchte Version des SB zu nehmen, wodurch das Problem gelöst wurde. Nun, der Chef ist der Chef.

Man muss es überallhin mitnehmen, und das SB ist immer dabei. Das ist das entscheidende "falsch".

Was Sie brauchen, ist eine Variante der Bearbeitung mit einem SB.

 
Andrey Sokolov:

Editor-Fehler mit extra Leerzeichen

***

So verschwindet der Fehler.

***

Kopie von uncompilable, wie in dem Beispiel


dasselbe Problem bei mt5

Bilder werden mit der Taste Bild eingefügt oder mit der Taste Datei ru anhängen angehängt.

 

Im Gegensatz zu dem, was in der Dokumentation steht, ändert GlobalVariableCheck () die Zugriffszeit nicht.

Возвращаемое значение

Gibt den Zeitpunkt des letzten Zugriffs auf die angegebene globale Variable zurück. Der Zugriff auf die Variable für einen Wert, z. B. mit GlobalVariableGet() und GlobalVariableCheck(), ändert auch die letzte Zugriffszeit. Um die Fehlerinformationen zu erhalten, rufen Sie GetLastError() auf.

Korrigieren Sie entweder die Dokumentation oder das Verhalten der Funktion.

Документация по MQL5: Глобальные переменные терминала / GlobalVariableGet
Документация по MQL5: Глобальные переменные терминала / GlobalVariableGet
  • www.mql5.com
GlobalVariableGet - Глобальные переменные терминала - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Fehler bei abgeleiteter Struktur, bei der beim Speichern/Laden aus Datei keine neuen Daten hinzugefügt werden.

struct Base
  {
   int               anInt;
   double            aDouble;
                     Base(void)
     {
      anInt   = WRONG_VALUE;
      aDouble = WRONG_VALUE;
     }
  };
struct DerivedNoNew : public Base
  {
   void              Set(int iValue,double dValue)
     {
      anInt   = iValue;
      aDouble = dValue;
     }
  };

const string filename = "TestStructToFile";
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   Base base[1];
   DerivedNoNew derived[1];
   int sizeof1   = sizeof(Base);
   int sizeof3   = sizeof(DerivedNoNew);

   int handle=FileOpen(filename,FILE_BIN|FILE_WRITE);
   if(handle!=INVALID_HANDLE)
     {
      derived[0].Set(5,12.0);

      uint written1 = FileWriteStruct(handle,base[0],sizeof1);
      uint written3 = FileWriteStruct(handle,derived[0],sizeof3);   // NOT saved
      int err       = _LastError;
      FileClose(handle);
     }

   handle=FileOpen(filename,FILE_BIN|FILE_READ);
   if(handle!=INVALID_HANDLE)
     {
      uint read3  = FileReadStruct(handle,derived[0],sizeof3);      // NOT loaded
      uint read1  = FileReadStruct(handle,base[0],sizeof1);
      FileClose(handle);
     }
  }
2021.02.22 12:52:11.188 FileAndStructIssue (EURUSD,D1) Written 1: 12 2: 20 3: 0 (error 4003) Total: 32 FileSize: 32
2021.02.22 12:52:11.193 FileAndStructIssue (EURUSD,D1) Lesen 1: 12 2: 20 3: 0 (Fehler 4003) Insgesamt: 32

Dateien: