Fragen von einem "Dummy" - Seite 100

 
220Volt:

Guten Tag. Es gibt ein solches Phänomen wie die Verzerrung der letzten Bits in Double, bitte geben Sie an, welche Bedingungen müssen geschaffen werden, damit eine solche Verzerrung auftritt? Ist eine Verzerrung im Betrieb möglich = ? Ist eine Verzerrung möglich, wenn ganze Zahlen in Double gespeichert werden? Bei der Durchführung von Operationen?

x=M_PI;
y=sqrt(x);
y=y*y;

Was ist eine Variante der Verzerrung?
 

Bitte beraten Sie mich. Gibt es eine Möglichkeit, programmatisch (in der OnTrade()-Funktion) herauszufinden, ob ein Stop Loss, Take Profit oder eine schwebende Order manuell (mit Hilfe des Terminals) gesetzt, geändert oder gelöscht wurde? Und ein kurzes Beispiel, wenn es nicht schwierig ist.

Im Moment werden die aufgeführten Vorgänge protokolliert und in Dateien geschrieben, die sich im Verzeichnis D:\Metatrader 5\logs\ befinden. Ich kann sie also nicht programmatisch lesen.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
tol64:

Bitte beraten Sie mich. Gibt es eine Möglichkeit, programmatisch (in der OnTrade()-Funktion) herauszufinden, ob ein Stop Loss, Take Profit oder eine schwebende Order manuell (mit Hilfe des Terminals) gesetzt, geändert oder gelöscht wurde? Und ein kurzes Beispiel, wenn es nicht schwierig ist.

Die Funktion hat schon früher Ereignisse behandelt, wenn bestimmte Listen geändert wurden, ohne dass es dafür Parameter gab. Wenn alles gleich ist, stellt sich heraus, dass Ereignisse des Setzens, Änderns oder Löschens unabhängig davon behandelt werden müssen, ob Aufträge manuell gesetzt werden oder nicht. Ist dies richtig? Wenn dies der Fall ist, können wir versuchen, das Ticket für jedes Handelsereignis herauszufinden (wenn sich das Ereignis auf eine Bestellung bezieht), und wenn wir herausfinden, dass kein solches Ticket programmatisch eingerichtet wurde, können wir sein Schicksal verfolgen. Es geht ungefähr so.
 
Yedelkin:
Zuvor behandelte die Funktion Ereignisse, wenn bestimmte Listen geändert wurden, es gab keine Parameter. Wenn alles beim Alten bleibt, sollten Ereignisse zum Setzen, Ändern oder Löschen unabhängig davon empfangen werden, ob Aufträge manuell gesetzt werden oder nicht. Ist dies richtig? Wenn dies der Fall ist, können wir versuchen, das Ticket für jedes Handelsereignis herauszufinden (wenn sich das Ereignis auf eine Bestellung bezieht), und wenn wir herausfinden, dass kein solches Ticket programmatisch eingerichtet wurde, können wir sein Schicksal verfolgen. Es geht ungefähr so.
Ja, das ist richtig, aber nur, wenn sich die Ereignisse auf den Handel beziehen, soweit ich das verstanden habe. Ich muss herausfinden, ob die Ereignisse der Änderung von Aufträgen im manuellen Modus programmatisch verfolgt werden können.
 
tol64:
Ja, das ist alles richtig, aber nur, wenn die Ereignisse mit dem Handel zusammenhängen, soweit ich das verstanden habe. Ich muss herausfinden, ob es möglich ist, Auftragsänderungsereignisse im manuellen Modus programmatisch zu verfolgen.

Nein, nein, lesen Sie dringend die Dokumentation :) Oder noch bessere Artikel. Die Liste der Angebote ist nur ein Teil aller Listen. Es bedeutet, dass die Ereignisse anders sein sollten... Aber ich habe es selbst vor langer Zeit gelesen, vielleicht habe ich es vergessen.

Der Artikel"Processing of Trade Events in the Expert Advisor with the OnTrade() Function" und der Artikel"Trade Events in MetaTrader 5" von Roche.

 
Yedelkin:

Nein, nein, lesen Sie dringend die Dokumentation :) Zumindest dieser Teil war dort mehr oder weniger klar. Die Transaktionsliste ist nur ein Teil der Gesamtliste. Also müssen auch die Ereignisse anders sein.

Und noch besser: Es gab einen Artikel über diese Funktion und einen Artikel von Roche über Fachveranstaltungen (wenn ich mich im Titel nicht irre).

)) In OnTrade() gelingt es mir, Ereignisse wie diese zu definieren:

DEAL_ENTRY_IN, DEAL_ENTRY_OUT, DEAL_ENTRY_INOUT.

Ich kann auch feststellen, ob es sich bei einem dieser Ereignisse nur um ein Geschäft handelt oder ob ein schwebender Auftrag ausgelöst wurde und um welche Art von schwebendem Auftrag es sich handelt. Und auch, ob es sich um eine neue Stelle oder um die Aufstockung/Absenkung einer bereits bestehenden Stelle handelt.

---

Ich weiß nicht, wie ich Änderungen von Aufträgen feststellen kann. Ich habe auch in der Dokumentation keine Beispiele dafür gesehen. Ich brauche einen Hinweis. Ein einfacher Hinweis von den Entwicklern. Gibt es eine solche Möglichkeit oder nicht? Und wird diese Möglichkeit jemals umgesetzt werden oder nicht, um diese Frage loszuwerden oder um zu versuchen, sie auf eine andere clevere Weise zu lösen. :)

---

Es gibt auch diesen Abschnitt in der Dokumentation: Arten von Gewerben. Diese Ereignisse können jedoch identifiziert werden, wenn sie programmatisch durchgeführt wurden.

 
Yedelkin:

...

Artikel über diese Funktion"Behandlung von Handelsereignissen in EAs mit der Funktion OnTrade()".

Ich habe in diesem Artikel gefunden, wonach ich gefragt habe. Ich habe es einmal gelesen, aber völlig vergessen. :)
 
tol64:
Ich habe in diesem Artikel gefunden, wonach ich gefragt habe. Ich habe es einmal gelesen, aber völlig vergessen. :)

Im Allgemeinen vergesse ich nach einem Monat alle Feinheiten. Deshalb lese ich nur noch. Ich habe Teile des Handbuchs und Artikel gelesen :)

Hier ist ein weiterer Satz "...Änderung von SL und TP ändert sich nicht ... und auch OnTrade-Ereignis wird nicht generiert, wir überschreiben nur Felder SL und TP (wie für offene Position)" kann nützlich sein. Ich selbst habe allerdings noch nicht herausgefunden, wie man das macht.

 
tol64:
Ja, das ist richtig, aber nur, wenn sich die Ereignisse auf den Handel beziehen, soweit ich das verstanden habe. Ich muss herausfinden, ob Auftragsänderungsereignisse programmatisch im manuellen Modus verfolgt werden können.
Wenigstens das Setzen und Entfernen eines Auftrags wird gehandhabt, aber ohne Parameter ist das alles eine Plackerei. Ich kann nicht für das Wechselgeld sprechen, aber es sollte auch von der Idee gehandhabt werden.
tol64:
Ich habe in diesem Artikel gefunden, wonach ich gefragt habe. Ich habe es einmal gelesen, es aber völlig vergessen. :)
Ich habe sofort darüber nachgedacht. Vielleicht sind die darin beschriebenen Lösungen nicht so ideal und elegant, wie wir sie gerne hätten (vor allem, wenn man bedenkt, dass die Parameter noch fehlen), aber im Prinzip haben sie alle Grundlagen.
 

Können Sie mir sagen, wie ich den Geld- und Briefkurs eines anderen Währungspaares bekomme, das im Moment nicht aktuell ist, in mt4 gab es einen marketinfo Befehl, in mt5 gibt es keinen.

Ich habe eine Vermutung, dass wir in RichtungSymbolInfoDouble(Symbol(),SYMBOL_ASK) und hier mitSymbol() Wert arbeiten müssen, aber ich kann nicht herausfinden, wie.

Grund der Beschwerde: