Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 414

 
Das Ziel ist die Eröffnung eines einzigen Auftrags

Wir erstellen eine Funktion, mit der wir die offenen Aufträge in einer Schleife durchgehen, und wenn sie 0 sind, öffnen wir sie.

Variante 2 :
Bedingung Auftragssumme ==0

Dies bedeutet, dass bei jedem Tick mindestens eine endlose Öffnung oder Öffnung von Aufträgen erfolgt.

Und warum?
 
Alekseu Fedotov:

Für den Anfang:

Variablen, variable Sichtbarkeit

wie und wo werden sie gemeldet?

Ich denke, der Code ist sehr klar
 
Mickey Moose:
Ziel ist es, einen Auftrag zu eröffnen

Wir erstellen eine Funktion, mit der wir die offenen Aufträge in einer Schleife durchgehen, und wenn sie 0 sind, öffnen wir sie.

Variante 2 :
Bedingung Auftragssumme ==0

Dies bedeutet, dass bei jedem Tick mindestens eine endlose Order eröffnet oder geöffnet wird.

Und warum?
Was ist im Code unklar? ich erkläre es, wenn es etwas gibt
 
ZZuretc:
Was unklar ist, werde ich erklären, wenn etwas
Es ist unklar, warum ich eine benutzerdefinierte Zählfunktion verwenden sollte, wenn es eine sofort einsatzbereite Auftragssumme gibt.
 
Mickey Moose:
Es ist unklar, warum ich eine benutzerdefinierte Zählfunktion verwenden sollte, wenn es eine vorgefertigte Auftragssumme gibt

Denn der Standard liefert die Gesamtzahl der Aufträge und Positionen im Konto unabhängig von Symbol, Magier und Typ.

 

Hallo zusammen! Könnten Sie mir bitte sagen, wie ich die Bedingung festlegen kann, dass der Preis eine horizontale Linie kreuzt? Und wie kann man diese Funktion mit maximaler Genauigkeit realisieren (die bei jedem Tick reagieren würde)?

Vielen Dank im Voraus))

 
Mickey Moose:
Ziel ist es, einen Auftrag zu eröffnen.
Wir erstellen eine Funktion, mit der wir die offenen Aufträge in einer Schleife durchgehen, und wenn sie 0 sind, öffnen wir sie.
Variante 2 :
Bedingung Auftragssumme ==0
Dies bedeutet, dass bei jedem Tick mindestens eine endlose Öffnung oder Öffnung von Aufträgen erfolgt.
Und warum?

Mit jedem Tick erhält das Terminal den neuesten Kurs vom Server und auch die Informationen über die Aufträge. Wenn das Terminal den Befehl OrderSend() an den Server sendet, benötigt der Server einige Zeit, um diesen Befehl zu verarbeiten und die Bestellung zu öffnen. Bis dahin wird bei jedem Tick eine Information über das Nichtvorhandensein eines Auftrags gesendet (nennen wir es leer). Die Funktion OrdersTotal() gibt Null zurück, und der Roboter sendet eine neue OrderSend().

Wenn der Server den Auftrag öffnet, enden die leeren Häkchen. Die Funktion OrdersTotal() gibt einen positiven Wert zurück, der Roboter wird sich beruhigen. Wenn sich die Kurse häufig ändern, werden die Häkchen häufig gesetzt, und es gibt viele leere Häkchen. Der Roboter wird viele OrderSend() senden. Der Server wird viele Bestellungen öffnen.

Die Schlussfolgerung ist, dass wir nach OrderSend() eine Pause einlegen sollten.

 
STARIJ:

Mit jedem Tick erhält das Terminal vom Server den neuesten Kurs sowie Informationen über Aufträge. Wenn das Terminal den Befehl OrderSend() an den Server sendet, benötigt der Server einige Zeit, um den Befehl zu verarbeiten und die Bestellung zu öffnen. Bis dahin wird bei jedem Tick eine Information über das Nichtvorhandensein eines Auftrags gesendet (nennen wir es leer). Die Funktion OrdersTotal() gibt Null zurück, und der Roboter sendet eine neue OrderSend().

Wenn der Server den Auftrag öffnet, enden die leeren Häkchen. Die Funktion OrdersTotal() gibt einen positiven Wert zurück, der Roboter wird sich beruhigen. Wenn sich die Kurse häufig ändern, werden die Häkchen häufig gesetzt, und es gibt viele leere Häkchen. Der Roboter wird viele OrderSend() senden. Der Server wird eine Vielzahl von Aufträgen öffnen.

Schlussfolgerung: Wir sollten nach OrderSend() eine Pause einlegen.

Wenn die Antwort auf OrderSend() positiv ist, es ein Ticket gibt und dementsprechend eine Position eröffnet/eine Order platziert wurde, sollten wir die Handelsumgebung erneut anfordern, anstatt unendlich lange zu warten.

 

Wie sieht es mit einer Funktion aus, die eine nicht-magische Eigenschaft annimmt und verändert?

Aber warum geben andere Funktionen nicht mehrere Aufträge auf, sondern nur SellLimit?

 
ZZuretc:
Wie sieht es mit einer Funktion aus, die eine nicht-magische Eigenschaft annimmt und verändert?

Die Ordensmagie kann nicht verändert werden.