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
Entschuldigung für die indiskrete Frage an die Organisatoren der Meisterschaft:
Wie wird die Besteuerung des Preises gehandhabt (da der Betrag jedes Preises sehr hoch ist):
Muss jeder Preisträger seine eigene Steuer zahlen? (und in welchem Rhythmus?) Oder wird sie zentralisiert werden? (d.h. die Steuern sind bereits berücksichtigt?).
Es wäre eine Schande, die Hälfte des Preises für Steuern aufzugeben!
Eigentlich ist es besser, gar nicht zu gewinnen, damit es einem nicht leid tut... .
Entschuldigung für die indiskrete Frage an die Organisatoren der Meisterschaft:
Wie wird die Besteuerung des Preises gehandhabt (da der Betrag jedes Preises sehr hoch ist):
Muss jeder Preisträger seine eigene Steuer zahlen? (und in welchem Rhythmus?) Oder wird sie zentralisiert werden? (d.h. die Steuern sind bereits berücksichtigt?).
Es wäre eine Schande, die Hälfte des Preises für Steuern aufzugeben!
Ja, die Preisträger zahlen ihre eigenen Steuern - das ist bei Preisen in der ganzen Welt üblich.
Die Frage ist: Wenn der Fehlercode nicht 135 oder 138 ist, gibt es dann eine Schleife? Wenn ja, wie kann dies vermieden werden, und wie kann gewährleistet werden, dass die Aufträge geschlossen werden?
Es gibt keine Möglichkeit zu testen, ob dieses Schließen von Aufträgen immer korrekt funktionieren wird:
Lesen Sie bitte noch einmal den Ratgeberartikel.
Grobe Vernachlässigung der Fehlerkontrolle bei Schleifenbildung
(Ich habe Fehlerkontrolle, schwebende Aufträge werden nicht verwendet, oder sollte ich eine Schleife Exit-Bedingung als auch machen? Was ist dann mit der Auftragsabschlussgarantie zu tun? Oder habe ich vielleicht nicht alle Fehlercodes verarbeitet?
Fehlende Kontrolle über OrderSelect - asynchrone Prozesse in Aktion
(ja, ich prüfe nicht, was Order_Select zurückgibt! Nun, sagen wir, wenn in diesem speziellen Fall es falsch zurückgibt, was wird innerhalb der Schleife ändern, oder was wird falsch sein? Ich ändere die Bestellung nicht, ich schließe sie!)
Überspringen der Aktualisierungsfunktion der Marktumgebung durch RefreshRates()
(Ich glaube, ich habe es aktualisiert, hier sollte alles in Ordnung sein)
Vielleicht gibt es einen fertigen Code für die Schließung ALLER Aufträge? Ich würde es zu schätzen wissen, wenn Sie ihn veröffentlichen könnten!
P.S. Was Rosh vorschlägt http://www.alpari-idc.ru/ru/experts/articles/9.html , garantiert nicht, dass die Aufträge abgeschlossen werden!
- OrderSelect-Ergebnis wird nicht geprüft
- das Ergebnis von OrderClose() wird nicht explizit geprüft
- GetLastError() kann ohne jegliche Handelsoperationen aufgerufen werden (z.B. wenn Sie auf einen schwebenden Auftrag gestoßen sind)
- RefreshRates() wird nicht immer aufgerufen, sondern nur, wenn ein Fehler auftritt - das ist ein grober Fehler
- wenn es in der Liste ausstehende Aufträge gibt, ist dies eine 100%-Schleife
Das Ergebnis: Es gibt 5 Fehler in 9 Zeilen - der Code kann nur verworfen werden.Sogar 5 Fehler:
- OrderSelect-Ergebnis wird nicht geprüft
- das Ergebnis von OrderClose() wird nicht explizit geprüft
- GetLastError() kann ohne jegliche Handelsoperationen aufgerufen werden (z.B. wenn Sie auf einen schwebenden Auftrag gestoßen sind)
- ...
Das Ergebnis: Es gibt 5 Fehler in 9 Zeilen - der Code kann nur verworfen werden.Der OrderSelect sollte die erforderlichen Aufträge auswählen und der OrderClose sollte sie schließen.
Und es sollten keine Fehler auftreten :-)
Oder auf Kosten des Auftraggebers :-)
Es gibt sogar 5 Fehler:
Beschränkungen: Schwebende Aufträge werden nicht verwendet
1. Warum sollten wir das Ergebnis überprüfen, wenn wir einen Auftrag abschließen müssen? Wenn er false zurückgibt, kehrt er im nächsten Durchgang dorthin zurück, da eine while-Schleife verwendet wird.
2. Siehe Punkt 1.
3. Zu diesem Zweck gibt es eine Prüfung auf Fehlercodes.
4. Wenn die Aktualisierung immer erfolgt, hat es keinen Sinn, nach Fehlern zu suchen :(
5. Keine ausstehenden Aufträge
Alle Beispiele für die Schließung von Aufträgen, die ich bei meiner Suche gefunden habe, sind Single-Pass-Verfahren und funktionieren nur, wenn mit dem Server alles in Ordnung ist, es keine Rückfragen gibt usw. Und sie alle führen dazu, dass eines Tages ein Auftrag nicht geschlossen wird und wir einen guten Gewinn erzielen... Wenn ich falsch liege, korrigieren Sie mich oder geben Sie mir einen Link, der mich vom Gegenteil überzeugt.
Natürlich bin ich mir bewusst, dass mein Code zu einer Schleife führen kann, aber das ist meiner Meinung nach besser als das Risiko, einen Auftrag nicht abzuschließen, was zu schweren finanziellen Verlusten führen könnte.
Obwohl es besser wäre, wenn alle Aufträge mit einer 100%igen Garantie abgeschlossen würden und es keine Chance gäbe, dass ein Auftrag herumliegt, ist dies der Code, den ich gerne von Ihnen hätte =)
Hier ist ein leicht geänderter Code, der sogar schwebende Aufträge berücksichtigen sollte:
Sie ist nicht so "rücksichtslos" wie die vorherige?
Ich verstehe immer noch nicht, warum OrderSelect und OrderClose in diesem Fall überprüft werden?
OrderSelect muss immer angekreuzt sein, dies wird in den Nützlichen Tipps ausdrücklich erwähnt:
In der Regel nimmt ein Händler sein Programm als einzige Aufgabe wahr, die er zu erledigen hat. In der Realität gibt es jedoch viele asynchrone Änderungen im Handelskonto während des Betriebs des Expert Advisors: Positionen werden geändert, hinzugefügt und gelöscht. Wenn das Ergebnis jedes OrderSelect()-Aufrufs nicht kontrolliert wird, kann es passieren, dass der Experte zu einem bestimmten Zeitpunkt mit falschen (Null-)Daten arbeitet und einen falschen Zug macht.
Leider gibt es keine Garantien für Handelsgeschäfte. Der obige Code ist viel besser als der vorherige.
OrderSelect muss immer angekreuzt sein, dies wird in den Nützlichen Tipps ausdrücklich erwähnt:
... Positionen werden geändert, hinzugefügt und entfernt. ...
Kein Kommentar zu "hinzugefügt und entfernt" :-(
Bitte geben Sie mir ein funktionierendes Beispiel für einen Code, der OrderSelect verwendet, um OrderCloseTime zu erhalten.