Fehler, Irrtümer, Fragen - Seite 610

 

Hallo.

Umschalten von 4 auf 5. Ich kann die folgende Frage nicht verstehen. Ich habe meine Klasse in der Include-Datei vorgeschrieben, dann verwende ich sie im Expert Advisor. Dann möchte ich einen weiteren Expert Advisor erstellen und benötige die gleiche Klasse. Muss ich eine andere Include-Datei erstellen oder das Terminal erstellt eine Kopie der vorhandenen und haken Sie es richtig zu einem anderen EA (wie Funktionen Bibliotheken in MQL4)? Können Klassen in Bibliotheken registriert und zusammen mit mehreren Expert Advisors verwendet werden (wie die Funktionsbibliotheken in MQL4)? Ich habe die Bescheinigung für die 5. heruntergeladen, aber ich habe keine detaillierte Beschreibung dieses Verfahrens gefunden. Vielleicht gibt es etwas zu lesen, das mir helfen würde, es zu verstehen?

Vielen Dank im Voraus.

 

RedFish:

Muss ich eine weitere Include-Datei erstellen, oder erstellt das Terminal eine Kopie der vorhandenen Datei und verbindet sie korrekt mit einem anderen EA (wie Funktionsbibliotheken in MQL4)?

Wenn Sie eine Klasse in einer externen Datei erstellen, erstellen Sie die Datei mit der Erweiterung mqh anstelle von mq5 und fügen Sie diese Datei dann in Ihr Projekt eines beliebigen Experten/Skripts/Indikators ein

Können Sie Klassen zu Bibliotheken hinzufügen und diese gleichzeitig mit mehreren EAs verwenden (wie Funktionsbibliotheken in MQL4)?

Natürlich! Machen Sie es so.

 
sergeev:

Wenn Sie eine Klasse in einer externen Datei erstellen, erstellen Sie diese Datei mit der Erweiterung mqh anstelle von mq5 und verbinden Sie diese Datei mit jedem Ihrer EA/Script/Indikator-Projekte durch include.

Natürlich! Machen Sie es so.

Danke für die Antwort.

Wie lassen sich Bibliotheken mit Klassen an einen Expert Advisor anschließen? In MQL4 gab es die #import-Operation - ich führte die Funktion #import auf, schloss sie und alles funktionierte. Wie funktioniert dieses Verfahren in MQL5? Ich kann nirgendwo eine Beschreibung dieses Prozesses finden ...

Nochmals vielen Dank.

 
RedFish:

Danke für die Antwort.

Wie lassen sich Bibliotheken mit Klassen an einen Expert Advisor anschließen? In MQL4 gab es die Operation #import - ich habe die Funktionen aufgelistet - #import, geschlossen und alles funktionierte. Wie funktioniert dieses Verfahren in MQL5? Ich kann nirgendwo eine Beschreibung dieses Prozesses finden ...

Ich danke Ihnen nochmals.

Diese Punkte werden in der Hilfe ausführlich beschrieben: https://www.mql5.com/ru/docs/basis/preprosessor
Документация по MQL5: Основы языка / Препроцессор
Документация по MQL5: Основы языка / Препроцессор
  • www.mql5.com
Основы языка / Препроцессор - Документация по MQL5
 
Terminal: При авторизации в журнал терминала выводится информация о времени и адресе предыдущего успешного подключения.

Diese Implementierung führt zu einer Sicherheitslücke - sie verrät die IP-Adresse des Gewerbetreibenden, wenn er/sie sich plötzlich entschließt, das Invest-Passwort an eine andere Person weiterzugeben. Ich habe es überprüft - die IP wird jedem angezeigt, unabhängig davon, ob und wie er sich mit seinem Trading- oder Investor-Passwort verbunden hat.

Das bedeutet, dass die IP der letzten Verbindung (unabhängig davon, ob die letzte Verbindung mit Investor- oder Trade-Passwort erfolgt ist) beim Einloggen angezeigt wird (unabhängig davon, ob die letzte Verbindung mit Investor- oder Trade-Passwort erfolgt ist).

Sie müssen diese Funktion für das Anlegerpasswort deaktivieren und dürfen nur Anmeldungen mit dem Handelspasswort berücksichtigen.

 
notused:

Diese Implementierung führt zu einer Sicherheitslücke - sie verrät die IP-Adresse des Gewerbetreibenden, wenn er/sie plötzlich beschließt, das Invest-Passwort einer anderen Person zu geben. Ich habe es überprüft - die IP wird jedem angezeigt, unabhängig davon, ob und wie er sich mit seinem Trading- oder Investor-Passwort verbunden hat.

Das bedeutet, dass die IP der letzten Verbindung (unabhängig davon, ob die letzte Verbindung mit Investor- oder Trade-Passwort erfolgt ist) beim Einloggen angezeigt wird (unabhängig davon, ob die letzte Verbindung mit Investor- oder Trade-Passwort erfolgt ist).

Sie müssen diese Funktion für das Anlegerpasswort deaktivieren und dürfen nur Anmeldungen mit dem Handelspasswort berücksichtigen.

Ja, das können wir beheben - das haben wir bereits gesehen.
 
      ObjectSetInteger(0,highlevel,OBJPROP_TIMEFRAMES,OBJ_PERIOD_M10|OBJ_PERIOD_H4);
Wie kann ich im Voraus eine Zeichenfolge mit logischen(?) Aufzählung wie vorbereiten: OBJ_PERIOD_M10| OBJ_PERIOD_H4, um dann nur in ObjectSetInteger () bereit Variable in Form von geklebten String ersetzen? Ich habe versucht, es symbolisch zusammenzukleben und es dann in StringToInteger() zu verpacken, aber es hat nicht funktioniert... WeilOBJ_PERIOD_... - ein Element vom Typ enum ist, aber das Flag hex-Äquivalent vom Typ int hat? Diese Aufzählung sieht eher wie eine bitweise OR-Operation aus...
 
x100intraday:
Wie kann ich eine Zeichenkette mit boolescher(?) Aufzählung wie OBJ_PERIOD_M10| OBJ_PERIOD_H4 voranstellen, so dass ich einfach eine fertige Variable in ObjectSetInteger () als geklebte Zeichenkette ersetzen kann? Ich habe versucht, es symbolisch zusammenzukleben und es dann in StringToInteger() zu verpacken, aber es hat nicht funktioniert... WeilOBJ_PERIOD_... - ein Element vom Typ enum ist, aber das Flag hex-Äquivalent vom Typ int hat? Diese Aufzählung sieht eher wie eine bitweise OR-Operation aus...

Würde es mit #define funktionieren?

Beispiel:

#define Fl_Fnc __FILE__+" -> "+__FUNCTION__+"(): "
 
tol64:

Würde es mit #define funktionieren?

Beispiel:

Ich habe Angst, mir vorzustellen, wie. Eigentlich brauche ich eine flexible Variante, ich brauche nicht einen String in unveränderter Form, sondern mehrere verschiedene Strings, die in einer Schleife gebildet werden... Wenn es möglich ist, würde ich gerne ein genaueres Beispiel sehen...

In Wirklichkeit geht es um etwas anderes. Ich möchte wissen, ob es im Prinzip möglich ist, tatsächliche OBJ_PERIOD_M30 als Enum-Element aus einer Zeichenfolge zu erhalten, die ein reserviertes Wort des Typs "OBJ_PERIOD_M30 " enthält und tatsächlich int-Wert enthält, auf dem Sie Operationen wie | durchführen können? Dies ist ein einfacher Fall. Ich möchte aber jede Zeile der Form "OBJ_PERIOD_M15|OBJ_PERIOD_M30|OBJ_PERIOD_H1" sofort als bitweise Operation mit numerischen Werten interpretieren, ohne ein zusätzliches Array mit entsprechenden numerischen Werten und anschließender elementweiser "Identifikation" mit einer Liste einzugeben.

 

Guten Tag, bitte beraten Sie, ich muss diese Konstruktion void RAssignStringVector(int rhandle, string variable, string &vector[], int size) verwenden;

Ich erhalte den Fehler 'vector' - ungültiger Parameter für Importfunktion mt4R.mqh, wie kann ich einen Zeiger auf ein Array von Zeichenfolgen übergeben, es funktioniert in µl4, nicht in 5, was sollte ich in dieser Situation tun?

Grund der Beschwerde: