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

 
Marco Nicholas #:
Hallo. Können Sie mir sagen, wie ich diese Bedingung korrekt in den Code implementieren kann?

Ich muss die erste Position nach der in den Einstellungen angegebenen Zeit öffnen (Stunde, Minute, Beispiel "open first trade after 23-55") und dann diese Bedingung ignorieren.

Dieser Code funktioniert perfekt, aber er öffnet absolut alle Angebote nach "one_time_current.hour" und "one_time_open.min" Ich muss diese Bedingung nur einmal ausführen (um eine Position zu eröffnen) und sie nicht auf nachfolgende Positionen anwenden.

Hallo, Marco!

if(one_time_current.hour>=one_time_open.hour && one_time_current.min>=one_time_open.min && PositionsTotal()==0)

Mit freundlichen Grüßen, Vladimir.

 
MrBrooklin #:

Hallo Marco!


Mit freundlichen Grüßen, Vladimir.

Danke, das ist ein bisschen eine falsche Bezeichnung. Dieser Code eröffnet nicht viele Positionen. Ohne sie öffnet sie sich viel mehr.
 
Marco Nicholas #:
Hallo. Können Sie mir sagen, wie ich diese Bedingung korrekt in den Code implementieren kann?

Ich muss die erste Position nach der in den Einstellungen angegebenen Zeit öffnen (Stunde, Minute, Beispiel "open first trade after 23-55") und dann diese Bedingung ignorieren.

Dieser Code funktioniert perfekt, aber er öffnet absolut alle Geschäfte nach "one_time_current.hour" und "one_time_open.min" Ich muss diese Bedingung nur einmal ausführen (um eine Position zu eröffnen) und sie nicht auf nachfolgende Positionen anwenden.

Hallo Marco! Sie haben um Hilfe gebeten, damit eine Stelle geschaffen werden kann. Jetzt schreiben Sie das:

Спасибо, немного не то. Такой код не дает открыть много позиции. Без него открывает намного больше.

Zunächst müssen Sie entscheiden, wie viele Stellen Sie eröffnen wollen - viele oder eine. Die maschinelle Übersetzung von Wörtern erlaubt es Ihnen vielleicht nicht, Ihre Anfrage korrekt zu formulieren.

Mit freundlichen Grüßen, Vladimir.

 
Marco Nicholas #:
Hallo. Können Sie mir sagen, wie ich diese Bedingung korrekt in den Code implementieren kann?

Ich muss die erste Position nach der in den Einstellungen angegebenen Zeit öffnen (Stunde, Minute, Beispiel "open first trade after 23-55") und dann diese Bedingung ignorieren.

Dieser Code funktioniert perfekt, aber er öffnet absolut alle Angebote nach "one_time_current.hour" und "one_time_open.min" Wir müssen diese Bedingung nur einmal ausführen (für die Eröffnung einer Position) und sie nicht auf die folgenden Positionen anwenden.

Also sollte es eine weitere Bedingung für die nächsten geben, aber ohne die Bedingung "nach 23:55" zu ignorieren, ist das so, wie ich es verstehe?

 
MrBrooklin #:

Hallo Marco! Sie haben um Hilfe gebeten, um eine Stelle zu besetzen. Jetzt schreiben Sie das:

Zunächst müssen Sie entscheiden, wie viele Stellen Sie eröffnen wollen - viele oder eine. Möglicherweise erlaubt Ihnen die maschinelle Übersetzung der Wörter nicht, Ihre Anfrage korrekt zu formulieren.

Mit freundlichen Grüßen, Vladimir.

Ja, das stimmt, wir haben uns gegenseitig missverstanden. Als ich schrieb:

"Dieser Code funktioniert gut, aber es werden absolut alle Geschäfte nach "one_time_current.hour" und "one_time_open.min" geöffnet. aber wir müssen diese Bedingung nur einmal ausführen (um eine Position zu eröffnen) und sie nicht auf nachfolgende Positionen anwenden. "

Ich wollte dies klarstellen, nicht um eine Position " 1 Position" zu öffnen (Sie müssen es so verstanden haben), ich meinte, die Bedingung anzuwenden, um nur die erste Position zu öffnen und sie nicht auf die folgenden anzuwenden.

Ich danke Ihnen für Ihre Antwort.

 
Alexey Viktorov #:

Es sollte also eine weitere Bedingung für die nächsten Positionen geben, aber ohne die Bedingung "nach 23:55" zu ignorieren, verstehe ich das richtig?

Es stellt sich heraus, ja, es muss nicht für die nächsten Positionen angewendet (annulliert) werden. Wir müssen nur dieerste Position öffnen (wie für den Start des EA, nach einer bestimmten Stunde und Minute), und für die nachfolgenden Positionen muss diese Bedingung nicht angewendet werden.

Ist es möglich, alles in einer Bedingung zu erledigen?

if(one_time_current.hour>=one_time_open.hour && one_time_current.min>=one_time_open.min)
 
Marco Nicholas #:

Es stellt sich heraus, dass diese Bedingung nicht auf die nächsten Positionen angewandt (aufgehoben) werden muss, sondern nurfür die Eröffnung der ersten Position (wie beim Start des EA, nach einer bestimmten Stunde und Minute), und für die nachfolgenden Positionen muss diese Bedingung nicht angewandt werden.

Ist es möglich, alles in einer Bedingung zu erledigen?

  bool first_position_was_opened=false;
  ...
  if(first_position_was_opened || ( one_time_current.hour>=one_time_open.hour && one_time_current.min>=one_time_open.min))

Und vergessen Sie nicht, nach dem Öffnen einer Position "first_position_was_opened=true" zu setzen.

Die Variable "first_position_was_opened" muss global oder statisch sein.
 
Bitte helfen Sie!!!
Ich brauche eine Funktion, die die Gewinne der letzten Woche für ein bestimmtes Symbol und eine bestimmte Magie berechnet.
Ich habe Beispiele ohne Magie gefunden, aber ich kann Magie nicht zum Laufen bringen(((.
 
JRandomTrader #:

Und vergessen Sie nicht, nach dem Öffnen einer Position "first_position_was_opened=true" zu setzen.

Die Variable "first_position_was_opened" muss global oder statisch sein.

Ich danke Ihnen. Interessante Arbeitsvariante.

Ich möchte auch anmerken, dass meine erste Variante ursprünglich auch funktioniert hat, unter einer Bedingung: wenn man die Eröffnungen für die erste und die folgenden Positionen teilt. Es ist auch über andere Wege möglich.

if(one_time_current.hour>=one_time_open.hour && one_time_current.min>=one_time_open.min)
if(item_positions==0) для первой


if(item_positions>0) для последующих

Dank Ihrer Antworten lernt man mql5 viel schneller.
 

Oder Sie können PositionsTotal() anstelle der Variable first_position_was_opened im Code von @JRandomTrader verwenden:

if(PositionsTotal() > 0 || (one_time_current.hour>=one_time_open.hour && one_time_current.min>=one_time_open.min)) {}

In diesem Fall wird diese Variable nicht benötigt und Sie müssen diese Variable nicht auf True nach dem Öffnen und auf False nach dem Schließen aller Positionen setzen.

Grund der Beschwerde: