Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 391

 
smetantn1980:
Hallo, können Sie mir sagen, warum meine Debugging-Schaltflächen in metaeditore sind nicht aktiv????source eingefügt wurde
Wo wird es gespeichert? Damit eine Fehlersuche möglich ist, muss der Code im Datenverzeichnis gespeichert werden, nicht irgendwo im temp.
 
Vitalie Postolache:
Höchstwahrscheinlich handelt es sich bei den genannten Funktionen um benutzerdefinierte Funktionen, die ME nicht zu kennen braucht. Es liegt an Ihnen, diese richtig zu deklarieren und zu nennen.
Die Funktionen sind nicht benutzerdefiniert. Beantworten Sie, wenn es Ihnen nichts ausmacht, die Frage, in welcher Sprache man Software im mt4-Terminal schreibt?
 
Kira27:
Die Funktionen sind nicht benutzerdefiniert. Beantworten Sie, wenn es Ihnen nichts ausmacht, die Frage, in welcher Sprache man Software im mt4-Terminal schreibt?
Jetzt versuchen die Entwickler, die Unterschiede zwischen den Terminals zu minimieren. Es gibt jedoch einige Unterschiede, und einige Funktionen in MQL5 funktionieren möglicherweise nicht korrekt in MQL4. Der "Soft" für das MT4-Terminal muss in MQL4 und nur in MQL4 geschrieben werden. Es sieht jetzt einfach sehr ähnlich aus wie MQL5. Lesen Sie die Hilfe für die jeweilige Sprache.
 

Vitalie Postolache:
А где он сохранён? Чтобы отладка была возможна, код должен быть сохранён в каталоге данных, а не где-то в темпе.

der Berater befindet sich im Programmordner wie gewohnt im Ordner "Experte" und ist auf der Karte

 
Kira27:
Diese Funktionen sind nicht benutzerdefiniert. Wenn Sie nichts dagegen haben, welche Sprache sollte für das Schreiben eines Soft in der mt4 Terminal verwendet werden?

Ja, nicht benutzerdefiniert, das sind Funktionen aus MQL5. Für MQL4 müssen Sie andere Programme finden oder ähnliche, aber eigene Programme schreiben.

Zum Beispiel: OrderGetTicket() MQL5 -> OrdetTicket() MQL4.

 
vielen Dank, ich habe diesen EA nicht vom Terminal aus geöffnet, so dass das Debugging nicht aktiv war
 
wie man den EA so einstellt, dass er das Gesamtvolumen in Lots auf dem Bildschirm für Verkauf und Kauf anzeigt
 

Hallo zusammen!

Ein paar Fragen eines Neulings.

1. Der Unterschied zwischen Mql4 und Mql5 (Website und Programmiersprache selbst). Es gibt Metatrade 4 und Metatrader 5 mit eingebettetem Mql4 bzw. Mql5. Es gibt auch zwei verschiedene entsprechende Websites. Gleichzeitig führen alle Expert Advisors, die ich mir in MT4 angesehen habe, zu dieser Website. Welche ist wichtiger? Welches Forum ist "lebendiger"? Wo ist der beste Ort, um Fragen zu stellen? Gibt es eine Abwärtskompatibilität zwischen verschiedenen Versionen von MT und Mql? Ich persönlich schreibe derzeit meinen MT4 Expert Advisor auf Mql4. Das liegt daran, dass der Broker, mit dem ich die Demo teste, mit MT4 arbeitet. Wie kann ich erkennen, in welcher Sprache mein Expert Advisor geschrieben ist? Ich meine nur die Erweiterung (.mq4 und .mq5). Wenn ich eine Datei umbenenne, kann ich sie dann kompilieren (wieder wegen der Kompatibilität)?

2. Dynamische Parameter des externen Expertenberaters. Ist es möglich, einstellbare Parameter eines Expert Advisors dynamisch zu ändern? Lassen Sie mich erklären... Zum Beispiel gibt es einen externen Parameter extern bool a. Wenn dies der Fall ist, muss ein zusätzlicher Parameter extern int b gesetzt werden. Ist a=false, wird der Parameter b nicht benötigt. Gibt es eine Möglichkeit, sie je nach dem aktuellen Wert eines ausgewählten Elements anzuzeigen oder nicht? In Anbetracht der Tatsache, dass ich keine externen Parameter-Änderungshandler finden konnte und es kein #if gibt ... #endif, ich vermute, dass es nicht möglich ist... Wenn ja, könnten Sie dann vorschlagen, wie man in dieser Situation am besten vorgeht, um den Prozess der Einstellung externer Parameter nicht zu überlasten? Ich könnte z. B. a=false setzen und vergessen, dass der Parameter b nicht verwendet wird, ihn aber trotzdem in die Optimierung einbeziehen (obwohl es keinen Sinn hätte, sondern nur zusätzliche Zeit verschwenden würde). Und es ist eine Sache, wenn es nur einen solchen Parameter b gibt. Aber wenn ich zum Beispiel einen externen Enum-Parameter mache und es mehrere Dropdown-Varianten von TC. Sie haben einen gemeinsamen Teil (daher ist es logisch, sie in einem EA zu implementieren, anstatt mehrere zu schreiben), aber es gibt auch verschiedene mit vielen unterschiedlichen Parametern. Dann ist es sehr einfach zu verwechseln, welche Parameter für den ausgewählten TS relevant sind.

Automatische Optimierung des Expert Advisors. IMHO ist es sehr nützlich und sinnvoll. Ich habe diesen Artikel gefunden. Soweit ich weiß, wird jedoch die zweite Instanz von MT verwendet, die für die Optimierung von außen (von einer laufenden Instanz von MT) ausgeführt wird, und die Optimierungsergebnisse werden aus dem Bericht in Form von HTML gelesen. Das ist ungünstig und schief. Logischerweise sollte ich meine eigene Optimierungsfunktion/Dll schreiben und sie direkt im Expert Advisor ausführen. Hier ist also die Frage. Soweit ich das verstanden habe, wurde ein genetischer Optimierungsalgorithmus in den Strategietester programmiert. Ich kenne mich mit diesen Algorithmen nur sehr kurz aus. Aber sie sind seit langem bekannt, daher die Frage - warum das Rad neu erfinden?) Gibt es einen vorgefertigten Algorithmus, der direkt in MT verwendet wird? Vielleicht existiert sie bereits irgendwo in den Bibliotheken des Terminals selbst... Vielleicht gibt es einen separaten Quellcode oder eine fertige DLL. Bitte teilen Sie uns Ihre Erfahrungen in dieser Angelegenheit mit.

Das ist alles für den Moment...). Ich hoffe, ich habe nicht zu viel Wert auf die Anzahl der Wörter gelegt).

Vielen Dank im Voraus für die Antworten!

Автоматическая оптимизация торгового робота в процессе реальной торговли
Автоматическая оптимизация торгового робота в процессе реальной торговли
  • 2007.04.16
  • Igor Malcev
  • www.mql5.com
В статье описана и представлена библиотека функций, позволяющая проводить оптимизацию входных параметров советника, запуская оптимизацию непосредственно из советника.
 
smetantn1980:
Wie kann ich in meinem EA schreiben, dass das Gesamtvolumen in Lots für Verkauf und Kauf auf dem Bildschirm angezeigt wird?
Wenn Sie die Gesamtzahl der Aufträge im Terminal erhalten, gehen Sie durch alle Aufträge (ich denke, dies ist eine Frage zu mql4) und wählen Sie diejenigen aus, die die Bedingungen erfüllen (Symbol, Magie und Typ) und summieren Sie sie in Variablen für Kauf und Verkauf. Dann erstellen Sie zwei OBJ_LABEL-Objekte (glaube ich). Legen Sie ihre Position, Farbe und andere Eigenschaften fest (siehe Dokumentation). Ändern Sie die Beschreibung dieser Objekte mit den Werten, die Sie in den Verkaufs- und Kaufvariablen erhalten haben. Das war's.
 
smetantn1980:
Bitte teilen Sie mir mit, wie ich die Schreibweise ändern kann, damit das Gesamtvolumen in Lots für Kauf und Verkauf auf dem Bildschirm angezeigt wird.

Ich bin mir nicht ganz sicher, da ich selbst noch Anfänger bin. Aber es scheint, dass es einen Befehl Kommentar gibt, der alle Informationen in der oberen linken Ecke des EA-Charts anzeigt. Das Volumen der Lose kann im Zyklus wie folgt berechnet werden:

int totalOrders = OrdersTotal();

double totalLots = 0; 

for(int i=0; i<totalOrders; i++)

    if ( (OrderSelect(i, SELECT_BY_POS)) && (OrderMagicNumber() == myMagicNumber) )

        totalLots += OrderLots();

Comment("totalLots=", totalLots); 

Dies ist ein gemeinsamer Code für alle Berufe. Für Kauf und Verkauf erstellen Sie separate Variablen und schalten mit OrderType() um.