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
Торговыми событиями считаются следующие изменения на счете:
Nicht in der Liste enthalten ist ein Handelsereignis wie die "Änderung der StopLoss- und/oder TakeProfit-Levels" einer offenen Position(SL- & TP-Änderung). Oder wird dies als ein Sonderfall der "Ausführung von Geschäften auf der Grundlage von Aufträgen" betrachtet?
Die Liste enthält kein solches Handelsereignis wie die "Änderung der StopLoss- und/oder TakeProfit-Levels" einer offenen Position(SL- & TP-Änderung). Oder wird dies als Sonderfall des "auftragsbasierten Handels" betrachtet?
"Modifikation von StopLoss und/oder TakeProfit Levels" bei einer offenen Position(SL & TP Modifikation)" ist näher an der
Ich habe über diese Frage nachgedacht. Aber wenn wir von "Setzen, Löschen und Ändern von Aufträgen" sprechen, meinen wir eigentlich das Setzen, Löschen und Ändern von schwebenden Aufträgen. Die Änderung der SL- und/oder TP-Niveaus einer offenen Position ist etwas anders geartet, da die entsprechenden Anfragen in die Kategorie der "Aufträge zur sofortigen Ausführung" fallen. Oder verstehe ich denBegriff "sofortige Ausführung" falsch?
Der Artikel enthält ein Beispiel für das Laden der Handelsgeschichte für einen Tag (ein Code enthält ein Beispiel für das Laden der Geschichte für 3 Tage). Ja, dies ist eine Einschränkung und das Beispiel ist nicht universell. Aber wenn der Leser diese Besonderheit beim Lesen des Artikels versteht, wird er in der Lage sein, selbst zu entscheiden, in welchem Intervall und ab welchem Zeitpunkt er die Handelshistorie in den Cache laden muss.
Der Leser hat die einfachsten Beispiele und Algorithmen erhalten und kann sie nun selbständig in den notwendigen Ereignisverarbeitungsfunktionen anwenden. Er kann selbständig seine eigene Handelshistorie erstellen und deren Initialisierung und Synchronisierung vornehmen usw.
Der Versuch, spezifische Rezepte und Funktionen für die optimale Arbeit mit der Handelshistorie für alle Fälle zu geben, wird mindestens einen weiteren Artikel erfordern. Genauer gesagt, nicht die Beispiele selbst, sondern Ansätze zur Lösung bestimmter Aufgaben. Dieser Artikel sollte dazu dienen, zu verstehen, wie Handelsfunktionen funktionieren und auf welche Nuancen man achten sollte, um nicht die eigene Zeit mit der Recherche zu verschwenden.
Ich bin mir sicher, dass nach der Lektüre des Artikels von nun an alles einfach sein wird.
Rashid, ich will die Nützlichkeit des Artikels nicht schmälern.
Es ist nur so, dass er ohne Beispiele aus dem Leben (die sich auf das Schreiben eines EA anwenden lassen) recht referentiell wirkt.
Ja, er enthält nützliche Informationen, und ein verständiger Mensch wird sie nutzen können. Aber ein unbedarfter Benutzer wird nicht in der Lage sein, eine normale Arbeit mit der Geschichte zu organisieren, nachdem er nur diesen Artikel gelesen hat, d. h. er wird für ihn nutzlos sein.
Es gibt einen solchen Teil in dem Artikel:
"Hier ist zum Beispiel ein Skript, das nach der letzten Bestellung des letzten Tages sucht und Informationen dazu anzeigt.
In der Skriptbeschreibung steht, dass nach der letzten Bestellung gesucht wird, aber im Code selbst ist davon die Rede, dass das Ticket mit dem letzten Index in der Liste der historischen Bestellungen gesucht wird:
Das heißt, es wird angedeutet, dass sich das Ticket mit dem höchsten Index auf die letzte Bestellung bezieht. Aber ich habe nirgendwo in den Materialien gefunden, dass der letzte Auftrag immer garantiert den höchsten Index in der Liste der historischen Aufträge hat... Wenn, sagen wir, nur ein Auftrag in der Liste ist, gibt es keine Frage. Aber wenn die Liste mehr Aufträge enthält - können wir uns dann immer auf die vorgeschlagene Methode zur Ermittlung des letzten Auftrags verlassen? Mit anderen Worten, ist garantiert, dass der letzte historische Auftrag immer den höchsten Index in der Liste der historischen Aufträge hat?Guten Tag!
1) Ich habe mir die Positionseigenschaften angesehen:
POSITION_PROFIT
Was ist das, woran wird es gemessen?
Beispiel:
double profit =PositionGetDouble(POSITION_PROFIT);
Ergebnis:
EURUSD Position #101470723: POSITION_MAGIC=0, open pos price=1.30825, close pos price=1.30835, type=POSITION_TYPE_BUY, profit=-2061584302, comment=.
profit=-2061584302 wie ist das zu verstehen?
2) Kann jemand genau, aber einfach erklären, wie dieser Eintrag zu lesen ist
ENUM_POSITION_TYPE type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
Vielleicht hat die cis-Funktion PositionGetInteger(POSITION_TYPE) den Wert einer Eigenschaft namens POSITION_TYPE für eine vorausgewählte Position angefordert, aber dieser Wert wird als Aufzählungsnummer zurückgegeben, und um ihn in einer verdaulichen Form darzustellen, holen wir uns diesen verdaulichen Wert bereits aus der cis-Aufzählung ENUM_POSITION_TYPE in die Typvariable, deren Typ gleichzeitig als ENUM_POSITION_TYPE deklariert wird?
Verstehe ich in diesem Fall richtig, dass es möglich ist, selbst eine bestimmte Klasse zu schreiben, die im Sinne einer Funktion wird, etwa
Initialisierung textPosition = diese bestimmte Klasse; // in deren Konstruktor in den Positionspuffer einlesen und alle Parameter merken
und dann verwenden:
tekPriceOpening=tekPosition.PriceOpening;
tekDirectionPosition=tekPosition.DirectionPosition;
tekDirectionPosition=tekPosition.DirectionPosition; tekDirectionPosition=tekPosition.DirectionPosition;
tekProfitPosition=tekPosition.ProfitPosition;
Ich danke Ihnen!
2) Kann jemand genau erklären, aber nur erklären, wie dieser Eintrag zu lesen ist
ENUM_POSITION_TYPE type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
Die Funktion PositionGetInteger("property identifier") gibt einen Wert vom Typ long zurück. Wenn der "Eigenschaftsbezeichner" von einem anderen Typ als long ist (z.B. der Bezeichner POSITION_TYPE ist vom Typ ENUM_POSITION_TYPE), ist es wünschenswert, den von der Funktion PositionGetInteger() zurückgegebenen Wert in einen Wert des gewünschten Typs zu wandeln (d.h. in einen Wert vom Typ ENUM_POSITION_TYPE).
In Ihrem Beispiel wird die Variable vom Typ ENUM_POSITION_TYPE deklariert, der der Wert vom Typ ENUM_POSITION_TYPE zugewiesen wird, der als Ergebnis der expliziten Umwandlung des Wertes vom Typ long in den Wert vom Typ ENUM_POSITION_TYPE erhalten wird.
Die Regeln für das Casting von Werten numerischer Typen sind in MQL5 Reference Guide / Language Basics / Data Types / Type Casting / Casting numerischer Typen beschrieben.
Zitat aus dem Artikel: "Wenn die Verbindung zum Handelsserver unterbrochen wird, versucht das Terminal in regelmäßigen Abständen , die Verbindung wiederherzustellen".
Wie oft wird versucht, die Verbindung wiederherzustellen?
Verstanden, danke.