Der große und schreckliche MT4 für immer (oder wie man einen Übergang strategisch plant) - Seite 24
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Auf Russisch? Auf Spanisch? Auf Englisch? Welcher ist es?
natürlich in allen Sprachen, die das Terminal unterstützt
das Format spielt keine Rolle - es kann ein SB in Form einer Klasse sein, bei der der Konstruktor die Sprache als Parameter erhält
oder es kann eine Gruppe von benutzerdefinierten Funktionen mit der Sprachendung GetTxtErrDescription_RU() sein
oder sogar eine normale Funktion wie GetLastError()
wenn Sie es wünschen
OK, vergessen Sie es, ich habe alles, und mein Rang erlaubt es mir nicht, mich um das allgemeine Wohlbefinden zu kümmern, lassen Sie speziell ausgebildete Leute sich um die Benutzerfreundlichkeit kümmern.
Ich habe erraten, warum Ihre Position doppelt ist.))) Weil Sie zwei Bibliotheken in CodeBase platziert haben)))
Warum mögen Sie nicht GetTickCount(); es verlangsamt nicht den gesamten Code, im Gegensatz zu Sleep, können Sie mindestens 500ms hinzufügen, wenn der Ping hoch ist,
In meinem Multisymbol wird für jedes Paar ein separater Zähler nach OrderSend aktiviert, der Rest der Logik funktioniert weiter
Warum mögen Sie nicht GetTickCount(); es verlangsamt nicht den gesamten Code im Gegensatz zu Sleep, Sie können zumindest 500ms hinzufügen, wenn der Ping hoch ist,
Es handelt sich um eine aktive Schleife, die den Prozessor auslastet. Was ist, wenn es 50 solcher Expert Advisors im Terminal gibt? Es gibt 8 von ihnen auf einem Paar, wo alle 8 Befehle auf einem Spike senden werden.
Es handelt sich um einen aktiven Zyklus, der die CPU belastet. Was ist, wenn es 50 solcher Expert Advisors im Terminal gibt? Auf einem Paar befinden sich 8 von ihnen, während auf der Haarnadel alle 8 von ihnen Befehle senden werden.
Es wird für eine halbe Sekunde aktiviert und erst nach dem Absenden des Auftrags wird es nicht mehr angesteuert und prüft zunächst das Vorhandensein der offenen Positionen
Ich optimierte meinen Code, wurde es schneller und begann zu öffnen 2 Positionen zu einem Zeitpunkt) auf den ersten Schlaf geholfen, aber es war verlangsamt die Dinge, ich habe 7 ZeichenIch habe den MT4-Stil noch nicht selbst ausprobiert, aber theoretisch sollte er funktionieren. Ich hatte noch keine Gelegenheit, sie mir anzusehen.
Es funktioniert. Es war interessant, zwei Versionen zu vergleichen (mit und ohne Warteposition).
Mit Warteposition nach OrderSend.
Ohne auf die Position zu warten, ist das Ergebnis sofort sichtbar.
Ich war mir sicher, dass die zweite Variante schneller war. Es stellte sich heraus, dass sie in der Zeit der Ausführung gleich war.
Wenn auf die Position ByPass.Is() gewartet wurde, gab der Code einmal false zurück, während er ohne Warten 740 Mal zurückgab. Alles in allem scheint die Krücke zu funktionieren.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Der große und der schreckliche MT4 für immer (oder wie Sie Ihre Migrationsstrategie aufbauen)
Igor Makanu, 2021.05.10 10:28
es scheint zu funktionieren:
Aber sehr langsam, und die Lösung ist mäßig.
Die Geschwindigkeit ist in Ordnung. Mangelnde Synchronisierung 37 Mal.
Seine Geschwindigkeit ist normal. Mangelnde Synchronisierung 37 Mal.
Ich überprüfte auf fx: dieses Skript öffnete 10 Aufträge 5 mal schnell, und das letzte Mal war ich schnell, wenn ich 10 Aufträge für 10 Sekunden auf der Demo geöffnet, die Schließung der Aufträge war auch nicht schnell.
Hier ist ein Kratzer im Protokoll für die Bestellung 11143290:
LL 0 11:19:31.444 Trades '20615687': order #11143290 buy 0.1 / 0.1 EURUSD at market done in 1580.643 ms
PO 0 11:19:33.621 Trades '20615687': deal #1865643 buy 0.1 EURUSD at 1.21460 done (based on order #11143290)
CL 0 11:19:33.622 Trades '20615687': Marktkauf 0.1 EURUSD
JF 0 11:19:33.679 Trades '20615687': akzeptiert Marktkauf 0.1 EURUSD
QO 0 11:19:33.679 Trades '20615687': Marktkauf 0.1 EURUSD zur Ausführung platziert
KM 0 11:22:41.224 Trades '20615687': market sell 0.1 EURUSD, close #11143290 buy 0.1 EURUSD 1.21460
DR 0 11:22:41.280 Trades '20615687': akzeptiert Markt verkaufen 0.1 EURUSD, schließen #11143290 kaufen 0.1 EURUSD 1.21460
KQ 0 11:22:41.282 Trades '20615687': market sell 0.1 EURUSD, close #11143290 buy 0.1 EURUSD 1.21460 placed for execution
ON 0 11:22:43.824 Trades '20615687': market sell 0.1 EURUSD, close #11143290 buy 0.1 EURUSD 1.21460
DO 2 11:22:43.880 Trades '20615687': market sell 0.1 EURUSD, close #11143290 buy 0.1 EURUSD 1.21460 [Order zum Schließen dieser Position existiert bereits]
JN 0 11:22:46.280 Trades '20615687': market sell 0.1 EURUSD, close #11143290 buy 0.1 EURUSD 1.21460
OL 2 11:22:46.336 Trades '20615687': market sell 0.1 EURUSD, close #11143290 buy 0.1 EURUSD 1.21460 [Order zum Schließen dieser Position existiert bereits]
Ich habe gerade die fx...n überprüft.
Ich werde mir diesen Server ansehen müssen. Es wäre gut, die hier vorgeschlagene Krücke zu prüfen, für wen sie wichtig zu sein scheint.
Nach einer Weile auf dieses Thema zurückzukommen, wäre sehr widerstrebend. Es ist besser, gleich auf die Fehler hinzuweisen, wenn es welche gibt.
Wir werden uns diesen Server ansehen müssen. Es wäre gut, die hier vorgeschlagene Krücke zu prüfen, für wen sie wichtig zu sein scheint.
Ich würde es hassen, nach einer Weile wieder auf dieses Thema zurückzukommen. Besser ist es, sofort auf die Fehler hinzuweisen, falls es welche gibt.
In der PM hat der Server