Der große und schreckliche MT4 für immer (oder wie man einen Übergang strategisch plant) - Seite 30
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
Das ist eine seltsame Sache, die man bei Forts macht. Dies ist der wichtigste Teil des Positionsabschlusses.
Hier ist ein Auszug aus dem Log des Expert Advisors, d.h. er ist nach 20 Iterationen der ResultDeal()-Prüfung an den Abschnitt gelangt, an dem das Deal-Ticket Null ist:
JL 0 10:08:04.462 e-MultiPattern-0.15 (RTS-9.21,M5) cStoploss::sortSL12 Дистанция контртренд=0 BID=172690.0, закроем Short
JM 0 10:08:06.695 e-MultiPattern-0.15 (RTS-9.21,M5) ** 333-cMyTrade::ClosePosition. После закрытия позиции № сделки=0, Order=16868286 state=ORDER_STATE_FILLED
Hier ist ein Auszug aus dem Terminalprotokoll:
IG 0 10:08:04.465 Trades '733618': exchange buy 2 RTS-9.21 at market
KN 0 10:08:04.480 Trades '733618': accepted exchange buy 2 RTS-9.21 at market
OQ 0 10:08:04.481 Trades '733618': exchange buy 2 RTS-9.21 at market placed for execution
FG 0 10:08:04.517 Trades '733618': Order #16868286 buy 2 / 2 RTS-9.21 at market done in 52.326 ms
JN 0 10:08:04.517 Trades '733618': deal #3413752 buy 2 RTS-9.21 at 172780 done (based on order #16868286)
Wer kennt sich mit SB und MT5-Handelslogik gut aus? Im Protokoll des Terminals sind die Auftragserteilung und die Erstellung des Geschäfts in einem Moment - 04,517 Sekunden - erfolgt.
Aber der EA in der while-Schleife hat nie ein Handelsticket gesehen und wurde nach 20 Iterationen bei 06,695 Sekunden beendet. Warum hat die Struktur ein Auftragsticket, aber kein Geschäftsticket?
Wie wird garantiert, dass Sie einen Tauschschein erhalten, insbesondere wenn Sie einen Teilabschluss verwenden?
Es ist nicht leicht zu erklären, da es viele Fallstricke gibt. Erarbeitung einer Lösung, die es den Benutzern ermöglicht, ohne Probleme zu arbeiten. Das Parsen der internen Implementierung ist jedoch nur etwas für Kenner.
Und mal ganz im Ernst...?
Der "Humor"-Thread hier
Die Kompatibilität von unten nach oben ist eine der Grundvoraussetzungen für Software. Der Code einer Vorgängerversion muss von der Nachfolgerversion adäquat wahrgenommen werden. Andernfalls verwirft der Entwickler einfach die bisherige Entwicklung und führt eine neue ein. Der Weg ins Nirgendwo.
Ich stimme absolut zu, dass es (vor allem für Entwickler) notwendig ist, MQL4-Code in MQL5-Code zu kompilieren.
Machen Sie einen richtigen Tester für mt4 und in ein paar Jahren wird mt5 von allen vergessen sein
Baskakov, und die Tochter benutzt MT5, das berüchtigte...
Wenn ResultDeal gleich Null ist, wird es auch nach einer Million Iterationen in der Schleife noch Null sein, da es sich um einen unveränderlichen Parameter handelt.
Denn der erteilte Marktauftrag ist das Ergebnis von OrderSend.
Das ist nicht ganz klar. In der Hilfe zur MqlTradeResult-Struktur heißt es
Wenn der Abschluss ein Orderticket zurückgegeben hat, aber kein Orderticket vorhanden ist, handelt es sich dann um die Vorgangsart TRADE_ACTION_PENDING?
Oder TRADE_ACTION_DEAL und das Trade Ticket ist möglicherweise "spät" und nicht in der Struktur enthalten?
D.h. ist es besser, über die HistorySelect-Funktionen nach einem Geschäft nach Auftrag zu suchen?
Und außerdem, tut mir leid, ist das ein wunder Punkt. Für Entwickler: hören Sie auf, unsinnige und ungerechtfertigte Ausgaben für die Wartung von MT4 zu verschwenden, Sie haben bereits die Hälfte Ihrer hochkarätigen Fachleute damit beschäftigt.
Bauen Sie den MQL4-MQL5-Compiler einmal und konzentrieren Sie sich auf die wichtigen Dinge. Erreichen Sie in der Endversion einen stabilen ersten Platz unter Ihren Mitbewerbern.
Das ist nicht ganz klar. In der Hilfe zur MqlTradeResult-Struktur heißt es
Wenn bei der Schließung ein Auftragsticket zurückgegeben wird, aber kein Handelsticket vorhanden ist - handelt es sich dann um einen Vorgang vom Typ TRADE_ACTION_PENDING?
Oder TRADE_ACTION_DEAL und das Trade Ticket ist möglicherweise "spät" und nicht in der Struktur enthalten?
D.h., ist es besser, das Geschäft über die HistorySelect-Funktionen nach der Reihenfolge zu suchen?
Die Methode PositionClose(Symbol) in SB weist jedoch die Geschäftsart TRADE_ACTION_DEAL zu.
Es hat sich herausgestellt, dass es einen Fahrschein für den Handel geben sollte, der aber oft nicht vorhanden ist.