Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1856
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
Ein Ratschlag. Ich bin mit einer Frage nicht weitergekommen.
Wie zähltiOpen für Ask oder Bid?
Das Problem ist, dass der Vergleich des Eröffnungskurses von heute mit dem Eröffnungskurs von gestern zu einer Spread-Kolokation zu führen scheint, und dann gibt es weitere Probleme im Code: Entweder werden nur Käufe oder Verkäufe gehandelt, weil die iOpen-Kurse an manchen Tagen nicht korrekt sind.
Das Problem ist, dass der Vergleich des heutigen Eröffnungskurses mit dem gestrigen Eröffnungskurs zu einer Spread-Kolokation zu führen scheint und ich dann Probleme im Code bekomme. Ich kann entweder nur Gebote oder nur Verkäufe handeln, da die iOpen-Kurse an manchen Tagen nicht korrekt sind.
Das Diagramm basiert auf dem Geldkurs
Leute, bitte um Rat.
Ich schreibe einen Multi-Währungs-EA, alles funktioniert wie geplant, außer für die Eröffnung von Aufträgen. Bitte sagen Sie mir, was das Problem ist.
Ich erhalte keine Fehlermeldungen, ich kann nur keine Aufträge öffnen
Ich erhalte keine Fehlermeldung, es werden nur keine Aufträge geöffnet.
Zurückgegebener Wert
Gibt die Ticketnummer zurück, die dem Auftrag vom Handelsserver zugewiesen wurde, oder -1 im Falle eines Fehlschlags. Um Fehlerinformationen zuerhalten , müssen Sie GetLastError() aufrufen.
Selbst der Compiler sagt Ihnen, dass Ordersend überprüft werden sollte.
Der Kauf wird mit Ask getätigt. Es kann aber auch mit Bid funktionieren, wenn der Schlupf mindestens so groß ist wie der Spread, was die Suche nach diesem Fehler erschweren könnte.
einen Multicurrency-EA und alles funktioniert wie geplant, außer bei der Eröffnung von Aufträgen. Ich bin auf der Suche nach Fehlermeldungen.
Es wird keine Fehlermeldung ausgegeben, es wird nur keine Bestellung geöffnet.
Haben Sie bemerkt, wo der Fehler liegt?
https://docs.mql4.com/ru/trading/ordersend
Примечание
Bei der Eröffnung einer Marktorder (OP_SELL oder OP_BUY) kann nur der letzte Geldkurs (für den Verkauf) oder Briefkurs (für den Kauf) als Eröffnungskurs verwendet werden. Wenn die Operation für ein anderes Finanzinstrument als das aktuelle durchgeführt wird, sollte man die FunktionMarketInfo() mit dem Parameter MODE_BID oder MODE_ASK verwenden, um die neuesten Kurse für dieses Instrument zu erhalten.
Sie können keinen geschätzten oder nicht-normalisierten Preis verwenden. Wenn der angeforderte Eröffnungskurs nicht im Preisfluss enthalten ist oder der angeforderte Preis nicht nach der Anzahl der Dezimalstellen normalisiert ist, wird der Fehler 129 (ERR_INVALID_PRICE) erzeugt. Wenn der angeforderte Eröffnungskurs stark veraltet ist, wird unabhängig vom Wert des Slippage-Parameters ein Fehler 138 (ERR_REQUOTE) erzeugt. Ist der angefragte Preis hingegen veraltet, aber noch im Preisfluss vorhanden, wird der Auftrag zum aktuellen Preis eröffnet, und zwar nur dann, wenn der aktuelle Preis innerhalb der Preisspanne+Slippage liegt.
...
Es ist auch wünschenswert, einen einzigartigen Zauber für den Roboter festzulegen.
Soviel ich weiß, sind Ask und Bid bereits normalisiert. Eine ähnliche Frage wurde bereits gestellt, und es wurde kein Widerspruch erhoben.
Die Magie und die Ziffern von Stoploss und Profit mögen angemessen sein, aber die Absicht des Autors ist nicht bekannt.
Soviel ich weiß, sind Ask und Bid bereits normalisiert. Eine ähnliche Frage wurde bereits gestellt, und es wurde kein Widerspruch erhoben.
Vielleicht ist es angebracht, die Magie und die Ziffern von Stop-Loss und Gewinn zu erwähnen, aber ich weiß nicht, was die Idee des Autors war.
Soweit ich weiß, wird in der Dokumentation kein Wort darüber verloren. Sie sollten also besser Vorkehrungen treffen. Es wird es nicht schlimmer machen.
Die SL und TP werden berechnet. Daher sollten sie auf jeden Fall auf den Ziffernwert normiert werden.
Hallo Freunde.
Guten Tag.
Wie erhalte ich die Eröffnungszeit des zweiten und der nachfolgenden Aufträge, da OpenOrderTime() nur den ersten ausgibt, und wie erhalte ich den Eröffnungspreis des zweiten und der nachfolgenden Aufträge, da das Analogon OpenOrderPrice() auch den Preis des ersten ausgibt?