Ungültige Anfrage - habe gerade angefangen und kann es nicht herausfinden... - Seite 7

 
papaklass:

Mein Beitrag ist eine Antwort auf die Frage, warum ich die Standardbibliothek nicht verwende

Ich eigentlich auch. Aber ich für den Grund - dass ich meine Klassen viel früher als MK erstellt.

und ein Versuch, die Aufmerksamkeit der Entwickler auf die Redundanz von Metadaten in einer Klasse zu lenken.

Ich denke nicht, dass es redundant ist. das ist, wie OOP im Wesentlichen ist. Sie haben nur eine andere Vision von Wrappern, eine andere Klasse Design und Handel Struktur Logik. es ist wahrscheinlich eine Frage des Geschmacks.

------------------------

Aber mit Handelsfehlern - lassen Sie uns Beispiele nennen. Haben Sie eine universelle Möglichkeit, z.B. 10008 -> 10012 zu behandeln?
Sagen wir, unabhängig von vorherigen und nachfolgenden Aktionen des Expert Advisors.
Was sollte das Ergebnis der Bearbeitung dieses Auftrags sein, der nicht geöffnet wurde ...

 

Ungenutzte Funktionen werden sozusagen aus der endgültigen Datei ausgeschlossen.

Ein weiterer Punkt ist, dass "nicht-universeller" Code fast immer schneller ist als universeller Code (EAs sind beispielsweise schneller optimiert, und die Claudes werden etwas weniger bezahlt).

 
Vergessen Sie nicht die Compiler-Optimierung und das Massen-Inlining.

Es werden immer nur die Funktionen genommen, die im Code aufgerufen werden, alles andere wird bei der Optimierung übersprungen. Das heißt, wenn nur 3 der Klasse mit 61 Methoden verwendet werden, wird nur der Code von drei Methoden aufgenommen.

Inline-Funktionen, die Berücksichtigung der geringen Größe der Funktionen selbst und Code-Optimierung im Allgemeinen macht den Code einfach und flach.
 
papaklass:

Daher ist der Fall (10008 -> 10012) für mich uninteressant, denn wenn die Position nicht zu einem bestimmten Tick eröffnet wird, wird sie zum nächsten Tick eröffnet.

Ich versuche, meinen Code so zu gestalten, dass, wenn die Logik des Expert Advisors das Eröffnen einer Position erfordert, diese auch meistens eröffnet wird. Ob es beim nächsten Tick oder 10 Ticks später geöffnet wird,

Das ist genau der richtige Ansatz.

Und um auf die Frage der Fehlerbehandlung zurückzukommen - was fehlt in der Standardbibliothek? Welche Verbesserungen in Richtung Fehlerbehandlung/-analyse wollen sie einführen?

 
papaklass:

bei der Eröffnung einer Position mit einem Los, das größer ist als die verfügbaren Mittel, oder bei der Platzierung eines schwebenden Auftrags wird der minimal zulässige Schritt vom aktuellen Kurs nicht eingehalten, oder es wird ein Stop gesetzt, ohne die Richtung der Position zu berücksichtigen.

Und was ist mit der Bearbeitung dieser Situationen gemeint, mit der Korrektur von Fehlern im Auftrag des Programmierers durch die Bibliothek selbst?
d.h. die Bibliothek selbst kehrt die Haltestellen um, oder ändert das Los nach eigenem Ermessen?

oder einfach den entsprechenden Code als Antwort senden und den Proger über seine falsche Bestellung informieren?

 
sergeev:

und was ist mit dem Umgang mit diesen Situationen gemeint, die Bibliothek selbst korrigiert die Mängel der Bestellung des Programmierers?
d. h., dass die Bibliothek selbst die Haltestellen umkehrt oder das Los nach eigenem Ermessen ändert?

Noch ein paar unschuldige Fragen und Papaklass wird anfangen zu raten und etwas zu vermuten...
 

Es ist nur so, dass Programmierer unterschiedliche Auffassungen von "Notwendigkeit und Hinlänglichkeit" haben, weshalb Fragen zur Erweiterung der Funktionalität aufgeworfen werden.

Es ist besser, wenn sie sich völlig im Klaren sind, als im Unklaren zu bleiben.

 
papaklass:
Noch einmal: Ich kann niemanden von irgendetwas überzeugen. Wenn Sie die Biblio gut finden, lassen Sie sie so, wie sie ist. Auch nach der Diskussion werde ich diese Bibliothek nicht benutzen. Ich allein, oder?

Alexander, du bist nicht der Einzige. Aber das ist nicht der Sinn der Frage. Sein oder nicht sein.

Die Frage ist rein praktisch - mit Vorteilen für die Entwicklung (möglicherweise auch für Ihre).

Was ist mit der Bearbeitung dieser Situationen gemeint, mit der Korrektur von Fehlern im Auftrag des Programmierers durch die Bibliothek selbst?
Das heißt, die Bibliothek selbst kehrt die Haltestellen um, oder ändert das Los nach eigenem Ermessen?

Oder einfach den entsprechenden Code als Antwort senden und den Proger über seine falsche Bestellung informieren?
 
papaklass:
... Warum sagen Sie dem Programmierer nicht, dass sein Auftrag ungültig ist und geben vor dem Senden einen Fehlercode aus?
Es scheint, dass eine falsche Anfrage auf der Client-Seite abgeschnitten wird und den Server nicht erreicht.
 
papaklass:
Die Antwort liegt auf der Hand: Warum sollte man eine falsche Bestellung an den Server senden und auf eine Antwort warten? Warum sagen Sie dem Programmierer nicht gleich, dass sein Auftrag falsch ist und geben einen Fehlercode aus, bevor Sie ihn abschicken?
Reden wir über das Hinzufügen von OrderCheck zu CTrade::OrderSend?