Strukturregeln. Lernen, wie man Programme strukturiert, Erforschung von Möglichkeiten, Fehlern, Lösungen usw. - Seite 8

 
GaryKa:

Und dann müssen wir eine Rückkopplung zwischen dem "Ausführenden" und dem "Analysator" einführen und darüber hinaus die Parameter dieser nicht idealen Leistung irgendwie in das mathematische Modell des Analysators einbauen

Wie wirkt sich die Rückkopplung in diesem Fall aus? Angenommen, Sie wollten das Produkt zu 1,00 Rubel kaufen, aber Ihre nicht-ideale Leistung wurde zu 1,02 erbracht.

Er kann nicht geändert werden - der Analysator muss mit dem neuen Wert arbeiten. Wenn Sie meinen, dass Sie einen SL von 0,98 hatten und ihn nun auf die Differenz, d.h. 1,00, verschieben müssen. Ich denke, es ist einfacher, die Logik zu ändern - erst kaufen und dann SL auf einen festen Abstand zum Basispreis setzen.

 
A100:

Wie wirkt sich die Rückkopplung in diesem Fall aus? Nehmen wir an, Sie wollten zu 1,00 Rubel kaufen und es wurde zu 1,02 Rubel ausgeführt.

Im Falle einer Weiterleitung. Oder im Falle einer Limit-Order, wenn Sie Ihr Portfolio ausgleichen müssen, nachdem das Limit ausgelöst wurde.

 
TheXpert:

Im Falle einer Weiterleitung. Oder im Falle eines Portfolioausgleichs nach einem Limit-Trigger.

Im Falle des Portfolioausgleichs ist das schwer zu sagen. Und ich denke, die Frage der erneuten Abfrage sollte im Ausführungsblock gelöst werden - wiederholte Abfragen innerhalb vordefinierter Grenzen - zum Beispiel 10 Abfragen mit einer Pause, bis der Preis weiter als 50 Punkte vom gewünschten Preis entfernt ist.

Der Analysator kann dem Executor im Voraus mitteilen, was im Falle eines Fehlschlags zu tun ist - wiederholen oder "aufgeben".

 

Glauben Sie nicht, dass ich schlau bin, aber sehen Sie sich diese Architektur des Schreibens einer Kampf-TK noch einmal an. Es gibt keine Rückmeldung.

Es gibt virtuelle Positionen und es gibt eine reale Handelsumgebung, die an die Virtualität angepasst ist.

In diesem Fall spielt es keine Rolle, ob in der Plattform oder in einem anderen Buchhaltungssystem eine Aufrechnung stattfindet.

 
TheXpert:
Dies ist nur ein Beispiel für das, worüber ich gesprochen habe - der Handelsteil hängt von der Strategie ab.
Das muss nicht sein. Wenn Sie eine intelligente Positionsdarstellung entwickelt und die korrekte Arbeit mit Positionen organisiert haben, hat die Art der Ausführung keinen Einfluss auf die Logik des Expert Advisors selbst. In meiner Engine beispielsweise wird die Art der Ausführung durch eine einfache Aufzählung festgelegt. Wenn Sie Limit-Aufträge wollen, nur zu; wenn Sie Stop-Aufträge wollen, nur zu. Nehmen wir eine Stop-Order mit Angabe der maximalen Slippage an. Tatsächlich handelt es sich um einen Limitauftrag, dessen Preis um den Slippage-Wert schlechter ist als der aktuelle. Das bedeutet, dass wir in allen Fällen mit Limit-Aufträgen arbeiten können. Das Problem der Mengenüberschreitung kann leicht gelöst werden. Wenn der Expert Advisor entscheidet, dass das erforderliche Volumen nicht erreicht wird, eröffnet er eine zweite Position in derselben Richtung. Auf der Ebene der Basisklassen wird das Hedging transparent unterstützt, und wir haben keine Probleme damit. Darüber hinaus kann die Entscheidung, ob bei unzureichendem Volumen eine zweite Position eröffnet wird oder nicht, auf die Ebene der Basisklasse delegiert werden. Dann können wir einfach den Modus beschreiben, in dem die Basisklasse gezwungen wird, neue Positionen in die Liste der zu bearbeitenden Positionen aufzunehmen. Das Strategiemodul nimmt sie auf und verarbeitet sie nach seinen eigenen Regeln.
 
hrenfx:

Glauben Sie nicht, dass ich schlau bin, aber sehen Sie sich diese Architektur des Schreibens einer Kampf-TK noch einmal an. Dort gibt es keine Rückmeldung.

Auf einer niedrigeren Ebene kann es sie nicht geben.

C-4:

Es sollte nicht davon abhängen.

Okay, es sollte nicht sein, es sollte nicht sein. Und Sie müssen noch lernen, wie man Bilder malt. Und Bilder sind Abstraktionen.
 
hrenfx:

Glauben Sie nicht, dass ich schlau bin, aber sehen Sie sich diese Architektur des Schreibens einer Kampf-TK noch einmal an. Es gibt keine Rückmeldung.

Das ist die normale Architektur, zumindest nach meinem Geschmack ganz gut.


Es gibt virtuelle Positionen und es gibt eine reale Handelsumgebung, die an die Virtualität angepasst ist.

Das ist genau das, was sie hier über die Komplexität und Unzuverlässigkeit des Synchronisationsgeräts (in diesem Fall meines) argumentieren.


In diesem Fall spielt es keine Rolle, ob die Aufrechnung in der Plattform oder in einem anderen Buchhaltungssystem erfolgt.

Ich habe einen ähnlichen Treiber für vier geschrieben, als fünf noch gar nicht veröffentlicht war. Die Netting-Positionen werden in den Treiber eingegeben, und der Treiber übersetzt sie in vier Aufträge, die alle Lose im Laufe des Spiels "reduzieren".
 
TheXpert:

Auf einer niedrigeren Ebene kann es nicht anders sein.

OK, es muss nicht sein, es muss nicht sein. Und Sie müssen noch lernen, wie man Bilder malt. Und Bilder sind Abstraktionen.
Wir sind nicht auf die Muhinsky-Akademien gegangen!
 
TheXpert:

Auf einer niedrigeren Ebene kann es nicht anders sein.

OK, es muss nicht sein, es muss nicht sein. Und Sie müssen noch lernen, wie man Bilder malt. Und Bilder sind Abstraktionen.
Eine wichtige Ausnahme: Die Logik der HFT-Algorithmen wird tatsächlich durch die Art und Weise beschrieben, wie sie ausgeführt werden.
 
Ich dachte gerade, wenn MQL5 Mehrfachvererbung unterstützt und eine Klasse abstrakte Methoden deklarieren könnte, würde dies den Weg für die Verwendung von Schnittstellen ebnen, was für große Projekte großartig wäre.