Fragen von einem "Dummy" - Seite 15

 
Yedelkin:
Zusätzliche Frage: Gibt es eine elegante Möglichkeit, Informationen bei der Übergabe von double <-> long zu speichern?
Kopieren einfacher Strukturen https://www.mql5.com/ru/docs/basis/types/casting#casting_structure
Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - Документация по MQL5
 
stringo:

Alle 64. In der Tat. Klammern Sie sich nicht an einen signierten oder unsignierten Typ.

Am besten, Sie überzeugen sich selbst davon. Dann ist die Frage ein für alle Mal geklärt.

Ja. Ich habe bereits geschrieben, dass ich die Typumwandlung vergessen habe.

und bereits alles überprüft. Das Zeichen ist nicht verloren, alles ist in Ordnung.

 
Ups! Dasselbe wie im zweiten Beispiel von Metadriver! ...So wichtig ist die Betonung des scheinbar schon Gelesenen.
 
sergeev:

Prüfen Sie PositionClose in der Klasse CTrade.
Ich bin sicher, dass es genauso sein wird wie bei Ihnen. Die einzige Schlussfolgerung ist, dass es keinen anderen Weg gibt.

Aber ich unterstütze Ihren Antrag. Ich bitte die Entwickler, diese Variante zu berücksichtigen.

Hinzufügen des Operationstyps TRADE_ACTION_CLOSE - Schließen einer Position für ein bestimmtes Symbol in seinem Volumen zum aktuellen Preis.

Das wäre ideal! Zweitens.

Für den Rest des Forums werde ich das Problem noch einmal kurz umreißen.

Mit dem bestehenden System der Verbuchung von Geschäften/Aufträgen und Schließungsmethoden in MQL5 besteht immer eine Wahrscheinlichkeit ungleich Null, dass die vom Markt geschlossene SL/TP-Position nicht tatsächlich geschlossen wird und die entgegengesetzte Position geöffnet wird.

Je näher der Markt an der SL/TP-Position ist, desto höher ist diese Wahrscheinlichkeit, was ein Schließen des Marktes mit einem geschlossenen SL/TP unmöglich macht (da ein SL/TP-Schluss während des Sendens eines neuen Marktauftrags zum Schließen auftreten kann).

Die bestehenden Lösungen sind nicht zufriedenstellend

a) Das Entfernen von SL/TP vor dem Schließen des Auftrags nimmt Zeit in Anspruch, und im Falle eines Verbindungsfehlers bleibt die Position ohne Stopp usw. auf dem Markt.

b) Das Warten auf die Auslösung von SL/TP ist ebenfalls keine Option, da wir möglicherweise früher aussteigen müssen.

Ich verstehe, dass die Einführung des neuen Rechnungslegungssystems gewisse Einschränkungen mit sich bringt, aber wenn die Bequemlichkeit des Produkts zugunsten des Konzepts völlig geopfert wird, ist es unwahrscheinlich, dass die breite Masse daran interessiert ist :(

Liebe Entwickler, was empfehlen Sie für einen GARANTIERTEN Ausstieg aus dem Markt (der Preis ist nicht wichtig)? Wenn ich in MQL4 eine Schließung anfordere, kann ich sicher sein, dass die Position geschlossen wird, oder der Expert Advisor erhält einen Fehlercode und versucht es weiter.

 
Yedelkin:

Erledigt! In der Chiffre ersetzen Sie Zeile 14 durch L.l = 4548887299649496524

............

Treffer! ;)

 
Aus der Referenz:
PositionClose
...
Примечание

Успешное окончание работы метода PositionClose(...)
не всегда означает успешное совершение торговой операции.
Необходимо проверять результат выполнения торгового запроса
(код возврата торгового сервера) вызовом метода ResultRetcode().

Ich warne Sie.

***

Bei der manuellen Positionsschließung konnte keine derartige Warnung gefunden werden, aber beim Handel zum Zeitpunkt der Schließung eines Zählers ...

Erhöht sich der Slippage in Abhängigkeit von der Volatilität, damit eine Position garantiert geschlossen werden kann? Oder was? Ist es so ein "Hallo an die Pip-Händler"?

Ich unterstütze die Frage an die Entwickler.

 

Silent, es geht hier nicht um Schlupf und Rückgabecodekontrolle.

Das Problem besteht darin, dass Sie, um eine Position zu schließen, explizit eine Aufforderung zur Eröffnung einer neuen Position senden müssen, allerdings in umgekehrter Richtung.

Der Handelsserver sieht diese Anfrage genau als Eröffnung einer neuen Position an. Es ist nicht darauf trainiert, zu verstehen, dass wir eigentlich eine bestehende Position schließen wollen.

Unter dem Gesichtspunkt des Netting ist das in gewisser Weise richtig, aber dann ist es unmöglich, eine Position GARANTIERT mit SL/TP aus dem Markt zu schließen. Unabhängig davon, wie weit dieser SL/TP auseinander liegt, können wir nicht sicher sein, dass der Kurs, während wir einen neuen Auftrag vorbereiten (um ihn zu schließen), unseren SL/TP einholt und die Position von selbst geschlossen wird. Und unsere neue Ordnung wird eine Gegenposition erarbeiten und eröffnen.

Ich glaube, der einzige Ausweg ist, wie Sergejew vorschlug, dem Server beizubringen, eine Anfrage zur Eröffnung einer neuen Position von der Schließung einer bestehenden Position zu unterscheiden, indem ein neues Kontrollkästchen des Operationstyps"TRADE_ACTION_CLOSE" implementiert wird.

Aber vielleicht haben die Entwickler ihre eigene Variante?

 
Hat denn niemand eine Lösung?
 
Cron:
Hat denn niemand eine Lösung?
Es gibt Lösungen, aber sie werden Sie kaum zufrieden stellen... Zum Beispiel, um SL/TP zu entfernen und dann nach dem Algorithmus... Sie haben es selbst gesagt:"Vom Standpunkt des Netting aus gesehen scheint es richtig zu sein, aber dann ist es unmöglich, eine Position GARANTIERT aus dem Markt zu schließen...".
 
Yedelkin:
Es gibt einige Lösungen, aber sie passen nicht zu Ihnen. Zum Beispiel das Entfernen von SL/TP und so weiter je nach Algorithmus... Sie haben selbst gesagt:"Vom Standpunkt des Netting aus gesehen scheint es richtig zu sein, aber dann ist es unmöglich, eine Position GARANTIERT vom Markt zu schließen...".

Ja, das Entfernen von SL/TP ist Zeitverschwendung und birgt das Risiko, im Falle von Verbindungsproblemen ohne Stopp auf dem Markt zu bleiben.

Ich denke jedoch, dass"TRADE_ACTION_CLOSE" aus Gründen der Bequemlichkeit für viele Benutzer, die in DC arbeiten, hinzugefügt werden könnte. [ Und zum Beispiel, um diese Art von Operation zu deaktivieren, wenn das Netting wichtig ist? (FORTS, RTS)].

Ohne einige Schritte in Richtung Benutzer macht es für viele Kunden von Brokerfirmen keinen Sinn, zu MT5 zu wechseln. Da ich einige Erfahrung in der Programmierung habe, stieß ich bei der Portierung eines EA von MQL4 nach MQL5 auf einige Schwierigkeiten. Aber alle wurden auf die eine oder andere Weise gelöst, mit Ausnahme dieses SL/TP-Problems und der Schließung vom Markt.

Ich möchte die Entwickler nicht belehren, was sie besser wissen als ich, aber ich möchte erwähnen, dass das Streben nach einem universellen Produkt für Börsen und Maklerfirmen auf Kosten der Benutzerfreundlichkeit zu einer geringeren Nachfrage nach dem Produkt führen wird und viele Leute bei MT4 bleiben werden :(