[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 343
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 beiden Seiten gibt es einen Stapel ausstehender Aufträge. Wenn einer der schwebenden Aufträge ausgelöst wird, wird auf der anderen Seite der äußerste schwebende Auftrag gelöscht. Im Screenshot habe ich gezeigt, was passiert, wenn ein Kaufauftrag ausgelöst und der äußerste Short-Auftrag gelöscht wird.
Ich habe es getan, wenn eine Position ausgelöst hat. Was aber, wenn nicht nur einer, sondern gleich 3 auf einmal auslösen? D.h., ich sollte irgendwie die Anzahl der ausgelösten schwebenden Aufträge schätzen und die schwebenden Aufträge des entgegengesetzten Signals schließen.
Wie kann man das am besten tun? Vielleicht hat jemand diesen Punkt bereits umgesetzt? Ich habe mich nicht entschlossen, diese Frage in einem separaten Zweig zu stellen, denn vielleicht wird es für diejenigen, die diesen Punkt besser verstehen, sehr einfach sein.
Wenn wir nur die niedrigste Position löschen wollten, könnten wir eine Position finden, die zum niedrigsten Preis eröffnet wurde, und sie in der Schleife löschen. Aber was sollen wir tun, wenn es mehrere Positionen gibt? Ich würde mich freuen, die Meinung derjenigen zu hören, die bereits Erfahrungen mit Bestellrastern haben.
Hier ist eine Frage - hat jemand die Geschwindigkeit des MT-5-Testers auf verschiedenen Prozessoren getestet?
Wenn ja, geben Sie mir bitte einen Link. Oder sagen Sie mir wenigstens, welcher der Spitzenprozessoren von AMD und INTEL in Bezug auf die Geschwindigkeit besser ist?
Natürlich sprechen wir über Desktops, nicht über Laptops oder Supercomps. :-)
Hier ist eine Frage - hat jemand Geschwindigkeitstests mit verschiedenen Prozessoren auf dem MT-5 Testgerät durchgeführt?
Wenn ja, geben Sie mir bitte einen Link. Oder sagen Sie mir wenigstens, welcher der Spitzenprozessoren von AMD und INTEL in Bezug auf die Geschwindigkeit besser ist?
Natürlich sprechen wir über Desktops, nicht über Laptops oder Supercomps. :-)
alles über fünf ist hier :https://www.mql5.com/ru/forum
Victor, wenn der unterste Eintrag gelöscht wird, wird der nächste Eintrag, der der unterste geworden ist, unter der gleichen Bedingung gelöscht. Die Schnelligkeit ist Ihnen überlassen; das Wichtigste für das Programm ist, dass es nicht gleich tickt, aber das ist in Ordnung! Versuchen Sie es!
Boris, das ist verständlich. Ich habe gerade über Folgendes nachgedacht. Ich denke, wir müssen eine Schleife von 0 bis zu einer Variablen erstellen, die den Wert der ausgelösten Aufträge speichert, und bei jedem Durchlauf der Schleife die Funktion zum Auffinden des gewünschten Auftrags ausführen und sie dann schließen. Ich bin mir nicht sicher, wie ich es beheben kann, dass dieser Vorgang zum jetzigen Zeitpunkt ausgeführt wird.
Es wäre übrigens besser, mit der Standardsuchfunktion nach den extremsten Aufträgen zu suchen und dann die Werte für den Zeitpunkt der Auftragseröffnung und den Preis an die Funktion zum Schließen der Aufträge zu übergeben, oder?
Auf beiden Seiten gibt es einen Stapel ausstehender Aufträge. Wenn einer der schwebenden Aufträge ausgelöst wird, wird auf der anderen Seite der äußerste schwebende Auftrag gelöscht. Im Screenshot habe ich gezeigt, was passiert, wenn ein Kaufauftrag ausgelöst und der äußerste Short-Auftrag gelöscht wird.
Ich habe es getan, wenn eine Position ausgelöst hat. Was aber, wenn nicht nur einer, sondern gleich 3 auf einmal auslösen? D.h., ich sollte irgendwie die Anzahl der ausgelösten schwebenden Aufträge schätzen und die schwebenden Aufträge des entgegengesetzten Signals schließen.
Wie kann man das am besten tun? Vielleicht hat jemand diesen Punkt bereits umgesetzt? Ich habe mich nicht entschlossen, diese Frage in einem separaten Zweig zu stellen, denn vielleicht wird es für diejenigen, die diesen Punkt besser verstehen, sehr einfach sein.
Wenn wir nur die niedrigste Position löschen wollten, könnten wir eine Position finden, die zum niedrigsten Preis eröffnet wurde, und sie in der Schleife löschen. Aber was sollen wir tun, wenn es mehrere Positionen gibt? Nun, ich würde mich freuen, die Meinung derjenigen zu hören, die Erfahrung im Umgang mit Auftragsrastern haben
Wenn ich mich nicht irre, versuche ich, mit Hilfe einiger Paare von Pending Orders einen guten Zug zu machen.
Löschungsalgorithmus :
1) Suchen Sie in der Liste der offenen Stellen und schreiben (merken) Sie sich die Stellen.
2) Suchen Sie in der Liste der eingestellten schwebenden Aufträge nach einem passenden "slow" aus der Liste der Posen, wenn sie übereinstimmen - löschen Sie den schwebenden Auftrag.
Und keine Schmerzen mehr.
Zum Beispiel, wenn Sie ein alter Programmierer sind, oder wenn Sie keine Ahnung vom Programmieren haben, oder wenn es zu modisch ist, alles anders zu machen? ??? а ?
Hier ist eine Frage - hat jemand die Geschwindigkeit des MT-5-Testers auf verschiedenen Prozessoren getestet?
Wenn ja, geben Sie mir bitte einen Link. Oder sagen Sie mir wenigstens, welcher der Spitzenprozessoren von AMD und INTEL in Bezug auf die Geschwindigkeit besser ist?
Natürlich sprechen wir über Desktops, nicht über Laptops oder Supercomps. :-)
Bei einem 5er nutzen Sie die Clouds zum Testen und vergessen Sie Ihren Prozessor, auch wenn er schnell ist und mehrere Kerne hat. Das beschleunigt das Ganze um ein Vielfaches. Aber Sie müssen einen Pfennig bezahlen. In der Tat gab es hier schon einmal eine Diskussion
Guten Tag an alle!
Meine Frage scheint einfach zu sein, aber ich habe alle Artikel durchforstet, konnte aber keine Antwort finden - wie funktioniert der Operator return(-1)? An wen wird die Kontrolle weitergegeben? Zum Beispiel in diesem Code:
sonst return(0);
Mit Null in Klammern und ohne Klammern scheint alles klar zu sein. Aber was ist mit (-1)?
Ich danke Ihnen für Ihre Antwort. :)
Boris, das macht Sinn. Ich habe gerade über Folgendes nachgedacht. Ich denke, wir sollten eine Schleife von 0 bis zu einer Variablen bilden, die den Wert der ausgelösten Aufträge speichert, und die Funktion ausführen, die nach dem gewünschten Auftrag sucht und ihn dann bei jeder Iteration der Schleife abschließt. Ich bin mir aber nicht ganz sicher, wie ich es anstellen soll, dass dieses Verfahren derzeit ausgeführt wird.
Übrigens ist es besser, mit der Standardsuchfunktion nach den extremsten Aufträgen zu suchen, und dann den offenen Zeitwert und den Preis an die Funktion zum Schließen der Aufträge zu übergeben, oder?