Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1384
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
leonerd #:
Здравствуйте. А как программно узнать символ и таймфрейм активного чарта в клиентском терминале? Т.е. чарта выбранного в настоящее время во вкладке. Есть какая-то функция из MQL5 для этого?
CHART_BRING_TO_TOP
Diagramm über allen anderen Diagrammen anzeigen
bool
Wie definiere ich einen Diagrammbezeichner, der ebenfalls angezeigt wird?
CHART_BRING_TO_TOP
Diagramm über allen anderen Diagrammen anzeigen
bool
Wie definiere ich eine Diagramm-ID, die ebenfalls angezeigt wird?
https://www.mql5.com/ru/docs/constants/chartconstants/charts_samples#chart_foreground
Ich danke Ihnen. CHART_FOREGROUND ist wahrscheinlich am besten geeignet. Ich muss das aktive Diagramm nicht zwangsweise festlegen, sondern nur feststellen, welches Diagramm aktiv ist. Liege ich richtig in der Annahme, dass ich alle offenen Charts durchgehen muss, um CHART_FOREGROUND zu überprüfen ?
https://www.mql5.com/ru/docs/constants/chartconstants/charts_samples#chart_foreground
Ich danke Ihnen. CHART_FOREGROUND ist wahrscheinlich am besten geeignet. Es ist nicht so, dass ich das aktive Diagramm zwangsweise festlegen muss, sondern nur das aktive Diagramm identifizieren muss. Verstehe ich das richtig, dass ich alle offenen Charts durchgehen muss, um CHART_FOREGROUND zu überprüfen ?
CHART_FOREGROUND ist ein Diagramm im Vordergrund.
Und um es nicht zu erzwingen, sollten Sie ChartSetInteger durch ChartGetInteger ersetzen
Guten Tag.
Können Sie mir einen Tipp geben - ich denke über einen Roboter nach und es gibt vier verschiedene Bedingungen - ich weiß noch nicht, welche ich entfernen soll: Ich möchte das später herausfinden, wenn ich für verschiedene Zeitrahmen optimiere.
Das heißt: vier Bedingungen (f1,f2,f3,f4). Es kann viele Kombinationen geben (0,0,1,1) oder (1,0,1,0) und so weiter - insgesamt 16 Kombinationen. Genau 15 - die Variante (0, 0, 0, 0) wird nicht berücksichtigt.
Frage: Wie kann man eine Programmlogik erstellen, um nicht alle 15 Kombinationen im Code zu beschreiben? Es gibt eine Funktion, mit der jede dieser Bedingungen geprüft werden kann, und in welchen Kombinationen diese Bedingungen zutreffen - prüfen Sie, wie sonst.
Ich würde mich freuen, wenn Sie mir einen Expert Advisor zeigen könnten, der es mir erlaubt, viele Bedingungen in einen übersichtlichen Code einzugeben.
Guten Tag.
Können Sie mir einen Tipp geben - ich denke über einen Roboter nach und es gibt vier verschiedene Bedingungen - ich weiß noch nicht, welche ich entfernen soll: Ich möchte das später herausfinden, wenn ich für verschiedene Zeitrahmen optimiere.
Das heißt: vier Bedingungen (f1,f2,f3,f4). Es kann viele Kombinationen geben (0,0,1,1) oder (1,0,1,0) und so weiter - insgesamt 16 Kombinationen. Genau 15 - die Variante (0, 0, 0, 0) wird nicht berücksichtigt.
Frage: Wie kann man eine Programmlogik erstellen, um nicht alle 15 Kombinationen im Code zu beschreiben? Es gibt eine Funktion, mit der jede dieser Bedingungen geprüft werden kann, und in welchen Kombinationen diese Bedingungen zutreffen - prüfen Sie, wie sonst.
Ich würde mich freuen, wenn Sie mir einen Expert Advisor zeigen könnten, der es mir ermöglicht, mehrere Bedingungen in einem übersichtlichen Code einzuführen.
Ich könnte so vorgehen:
Oder etwas in dieser Art:
CHART_FOREGROUND ist das Diagramm im oberen Bereich
Und um es nicht zu erzwingen, ersetzen Sie ChartSetInteger durch ChartGetInteger
danke
Sie könnten dies tun:
Oder etwas in dieser Art:
Und hier ist die erste Konstruktion - wie würde sich der Code unter den Bedingungen (0, 1, 0, 1) verhalten?
Könnten Sie bitte den Hauptteil der If-Bedingung erklären
Und hier ist die erste Konstruktion - wie wird sich der Code unter den Bedingungen (0, 1, 0, 1) verhalten?
Könnten Sie bitte den Wortlaut der Bedingung erläutern?
Hier ist es ganz einfach. Wenn F1==false ist, dann ist ( !F1 || f1) unabhängig von der Bedingung f1 wahr.
D.h. wenn Fn==true, wird die Bedingung fn geprüft, und wenn Fn==false, wird die Bedingung fn nicht geprüft.
Dementsprechend werden für (0, 1, 0, 1) nur die Bedingungen f2 und f4 geprüft, und wenn sie beide zutreffen, wird der open_pos()-Code ausgeführt
Das ist ganz einfach. Wenn F1==false ist, dann ist ( !F1 || f1) unabhängig von der Bedingung f1 wahr.
D.h. wenn Fn==true, wird die Bedingung fn geprüft, und wenn Fn==false, wird die Bedingung fn nicht geprüft.
Dementsprechend werden für (0, 1, 0, 1) nur die Bedingungen f2 und f4 geprüft, und wenn sie beide zutreffen, wird der Code open_pos() ausgeführt
Aber für den Fall, dass f1 und andere nicht nur 0 oder 1 sind. Ich dachte, wenn die Bedingung f1 für eine Short-Position erfüllt ist, dann wird eine zurückgegeben. Wenn es sich um eine Long-Position handelt, wird 2 zurückgegeben. Wenn die Bedingung überhaupt nicht erfüllt ist - 0.
Aber bei einer solchen Konstruktion sollten wir wahrscheinlich nicht mit einer solchen Vielfalt von Parameterwerten rechnen und die Bedingung auf andere Weise formulieren?
Aber für den Fall, dass f1 und andere nicht nur 0 oder 1 sind. Ich dachte, wenn die Bedingung f1 für die Short-Position erfüllt ist, wird eine Eins zurückgegeben. Für eine Long-Position wird 2. Wenn die Bedingung überhaupt nicht erfüllt ist - 0.
Aber vielleicht sollten wir bei diesem Konstrukt nicht mit einer solchen Vielfalt von Parameterwerten rechnen und die Bedingung anders formulieren, oder?
Die Bedingungen für die Eröffnung von Long- und Short-Positionen werden getrennt betrachtet.
Ich meine, zum Beispiel so:
Ich werde sogar ein Stück meines echten Codes verkaufen - ohne Informationen über die "Kampf"-Werte von Variablen und die Bedingungen für das Halten von Positionen wird er kein Know-how preisgeben.
Sie können hier eine von 224 Optionen angeben: