[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 605

 
rigonich:


In der Praxis wird dies bei allen Operationen, die mit Aufträgen arbeiten, verwendet. Sie müssen zunächst einen Auftrag auswählen und dann etwas mit ihm tun (Auftragsinformationen anzeigen, einen Handelsauftrag an den Server senden, um ihn zu ändern oder zu schließen). Es gibt zwei Möglichkeiten, Aufträge im Terminal auszuwählen: über das Ticket, d. h. die Nummer, die dem Auftrag auf dem Server zugewiesen ist und sich für einen bestimmten Auftrag nicht ändert, oder über die Auftragsnummer (Index), unter der der Auftrag im Terminal gespeichert ist. Diese Zahl kann sich bei jedem Tick ändern, je nachdem, welche und wie viele Aufträge eröffnet, eingestellt, geschlossen oder gelöscht werden.

Um mit Aufträgen zu arbeiten, organisieren Sie Zyklen der Auftragsauswertung.


Nun, ich habe zum Beispiel einen Limit-Auftrag zur Eröffnung von D1. TP und SL können für einige Tage nicht funktionieren, wenn wir eine Bestellung prüfen, wird sie verfügbar sein und wir werden keine neue Bestellung eröffnen. Es ist also nicht gut. Dadurch werden potenzielle Abschlüsse verpasst.
 
hoz:

Nun, ich habe zum Beispiel einen Limit-Auftrag zur Eröffnung von D1. TP und SL können für ein paar Tage nicht funktionieren, wenn wir für eine Bestellung überprüfen... es wird verfügbar sein und wir werden nicht eine neue öffnen. Es ist also nicht gut. Dadurch werden potenzielle Abschlüsse verpasst.

Überprüfen Sie dann die Öffnungszeiten aller Aufträge und sehen Sie nach, ob heute einer offen ist.
 
rigonich:
Die erste Option kann mit minimalen Änderungen verwendet werden (suchen Sie nach der Geschichte und was Sie brauchen), und über die zweite, warum sind Sie so auf sie gebogen? Dass er nicht mehr als einen Handel pro Tag eröffnet?

Ich muss den genauen Zeitpunkt des letzten gestern eröffneten Handels kennen (der natürlich am nächsten Tag geschlossen wird - aber wann genau, ist irrelevant - vielleicht sofort, vielleicht heute früh), damit der Expert Advisor weiß, dass der gestrige Handel den heutigen NICHT beeinflusst - deshalb habe ich es so geplant.

Aber der geschlossene Handel von heute MUSS sich auf den offenen Handel von heute auswirken.

d.h. der Expert Advisor sollte bei der morgendlichen Öffnung zwischen dem gestrigen und dem heutigen Handel unterscheiden. Und dies kann nur durch einen Vergleich der OFFENEN Zeit geschehen.

 
rigonich:


Das wird es sein.

Oder besser gesagt, sie wird es sein, aber sie wird offen sein, nicht geschlossen


Wie erhält man die Eröffnungszeit des letzten Handels von gestern?
 
rigonich:


Das wird es sein.

Ich meine, sie wird es sein, aber sie wird nicht geschlossen sein, sie wird offen sein.


Verdammt richtig... das steht dort deutlich geschrieben

(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

 
rigonich:
Die erste Option kann mit minimalen Änderungen verwendet werden (suchen Sie nach der Geschichte und was Sie brauchen). Dass sie nicht mehr als einen Handel pro Tag eröffnet?


eine Möglichkeit gefunden.

gibt es diese Funktion

Funktion isTradeToDay().

Diese Funktion gibt das Handelskennzeichen für den heutigen Tag zurück. Die Flagge ist oben -Stimmt- es wurden heute Positionen eröffnet. Flagge unten -Falsch- heute keine Positionen eröffnet

Ich frage mich nur - wenn eine Position um 23:00 Uhr eröffnet und um 4:00 Uhr geschlossen wird, was wird diese Funktion um 7:00 Uhr anzeigen?

 
lottamer:


gibt es eine solche Funktion

Die Funktion isTradeToDay().


Geben Sie uns einen Link zu dieser Funktion, ja? Woher haben Sie es?
 
Equilibrium:


Danke für die Antwort, aber es hat mir nicht viel geholfen, wieder einmal lege ich das Problem, vielleicht hat jemand anderes einige Gedanken zu diesem???

Guten Tag, bitte helfen Sie mir, ich kann nicht verstehen, warum unnötige Aufträge geöffnet werden ((, im Screenshot sind sie rot eingekreist, der Code ist angehängt...


Tut mir leid, ich habe mich "verzettelt". Ich habe Ihre Frage am Morgen bemerkt und wollte sofort antworten, jetzt ist es Nacht und ich bin gerade zur Besinnung gekommen. Dies geschieht auf folgende Weise:

1. Zunächst starten Sie Ihren EA zum Testen ohne Visualisierung, öffnen dann einen Chart und speichern die Vorlage unter dem Namen Ihres EAs.

2. Schließen Sie den Chart, starten Sie den Expert Advisor im Visualisierungsmodus, stellen Sie die schnellste Geschwindigkeit ein, da es sich um einen 4-Stunden-Chart handelt, und beobachten Sie.

3. Ich denke, alle Fragen werden verschwinden.

P.S. Sie können die Indikatorwerte auch ausdrucken, bevor Sie eine Bestellung aufgeben, und dann in den Protokollen nachsehen.

 
lottamer:


eine Möglichkeit gefunden.

gibt es diese Funktion

Funktion isTradeToDay().

Diese Funktion gibt das Handelskennzeichen für den heutigen Tag zurück. Die Flagge ist oben -Stimmt- es wurden heute Positionen eröffnet. Flagge unten -Falsch- heute keine Positionen eröffnet

Aber ich möchte wissen, was diese Funktion um 7 Uhr morgens anzeigt, wenn ein Geschäft um 23 Uhr eröffnet und um 4 Uhr morgens geschlossen wird.


Ich glaube, diese Funktion gibtTrue zurück, wenn der Markt geöffnet ist, undFalse, wenn er geschlossen ist.

Genauer gesagt, möchte ich wissen, ob es eine Funktion gibt, die die Flaggengeschäfte nach Datum und Termin (Marktzeitplan) zurückgibt

 
drknn:
Können Sie mir bitte einen Link zu dieser Funktion geben? Woher haben Sie es?


https://forum.mql4.com/ru/38949/page4#434232
Grund der Beschwerde: