Noch einmal zum Thema Multithreading - Seite 6

 
dd:

Es geht also nicht nur um die Übermittlung des Haftbefehls, sondern um eine ganze Reihe anderer Kontrollen. Aber alle werden in eine Warteschlange gestellt, bis eine Funktion beendet ist, die andere wird nicht ausgeführt ....

Ich habe das alles in den Begriffen des Problems beschrieben. Und das ist eine komplexe Aufgabe. DLL oder Chats oder was auch immer - was mich interessiert, ist das Szenario, in dem ich diese Aufgaben parallelisieren und im Tester laufen lassen kann, um die Situation zu verstehen ...

Sie müssen sich entscheiden, ob Sie wegen des Lichts gekommen sind oder um allen zu sagen, was zu tun ist und wie es zu tun ist.

Ich habe keine Lust, Ihr Problem weiter zu lösen, Sie wissen besser, was zu tun ist und wie es getan werden muss.

Viel Glück!

 
Andrey Khatimlianskii:

Sie müssen sich entscheiden, ob Sie wegen des Lichts hier sind oder um allen zu sagen, was funktionieren soll und wie es funktionieren soll.

Ich habe keine Lust, Ihr Problem weiter zu lösen; Sie wissen besser, was zu tun ist und wie man es tut.

Viel Glück!

Es wurden keine praktischen Ratschläge zu den Bedingungen des Problems gegeben... Ihnen auch eine gute Nacht...
 
Andrey Khatimlianskii:

Sie müssen sich entscheiden, ob Sie wegen des Lichts hier sind oder um allen zu sagen, was funktionieren soll und wie es funktionieren soll.

Ich habe keine Lust, Ihr Problem weiter zu lösen; Sie wissen besser, was zu tun ist und wie man es tut.

Viel Glück!

meine liebe liebe, mein schöner sonnenschein, hast du das problem gelesen? es ist dort klar beschrieben - in der schleife müssen neben dem auftrag senden in einer sekunde eine menge anderer aufgaben erledigt werden - zum beispiel 500 000 aufträge abschließen oder nicht abschließen - check ... 0,1 Lot, 50 000 Einzahlung, sind Sie gut in Mathe? Und ja, es ist synthetisch. Aber Ihr Rat ist wertlos.
 
dd:

Ich brauche 5 Tage, um diese Strategie im Tester mit 24 Kernen auszuführen. Und nur ein Kern funktioniert. Ganz zu schweigen von der Tatsache, dass das Protokoll - niemand braucht ein dummes Protokoll für diese Zeit - auf ein paar Terabytes aufgebläht werden kann. Und das alles ohne Optimierungen. Und dieses blöde Protokoll lässt sich in keiner Weise deaktivieren ...

Was meinen Sie, wenn ich den Prozess beschleunigen würde, sagen wir - 4 Zeitpläne, jeder auf seinem Kern - eine Erhöhung in diesem Punkt 4 mal. Hinzu kommt ein separater Prozess für den Abschluss von z. B. 1000 Geschäften oder die Aufteilung dieses Prozesses auf 5 oder 10 Threads - eine Verzehnfachung. Plus ein separates Verfahren zur Eröffnung von Positionen durch Signale ...

Ich denke mehrfach und mal ...

Aber jede Millisekunde + Verzögerung zum Broker + Verzögerung vom Broker zur Börse (wenn es sich nicht um eine Küche handelt) ist ein großer Verlust. Es ist seltsam, dass dies in Sibirien nicht verstanden wird...

Ein Durchgang im Testgerät in 5 Tagen? Dies ist ein herausragender Fall))

 
Dmitry Fedoseev:

Ein Durchgang im Testgerät in fünf Tagen? Dies ist ein herausragender Fall))

nun, wenn Sie einen Handel haben und fünf Minuten warten nichts ausstehen ... aber wenn es Tausende von ihnen pro Sekunde gibt, ist das nichts Besonderes :)
 
dd:
Nun, wenn es eine Transaktion gibt und wir fünf Minuten auf nichts ausstehendes warten ... aber wenn es Tausende von ihnen pro Sekunde gibt, ist das nichts Besonderes :)

Führen Sie die Optimierung durch, mindestens 24 Durchläufe und alle Kerne werden beschäftigt sein. Es macht also keinen Sinn, etwas in einem einzigen Durchgang zu parallelisieren.

 
Dmitry Fedoseev:

Führen Sie die Optimierung durch, mindestens 24 Durchläufe und alle Kerne werden beschäftigt sein. Es macht also keinen Sinn, etwas in einem einzigen Durchgang zu parallelisieren.

Sie verwechseln das Kalte mit dem Heißen. Ich werde mit der Optimierung beginnen, wenn ich sie brauche. Im Moment möchte ich eine optimale Code-Ausführung mit dem aktuellen EA erreichen, die eine Reihe von Aktionen in jeder Sekunde hat. Verwechseln Sie nicht Parallelität in der "Optimierung" und Parallelität in einem einzelnen EA ... Dies sind zwei große Unterschiede. Sie versuchen immer zu sagen, dass Sie ein und dasselbe Skript parallel laufen lassen können ... Das bestreite ich nicht und niemand bestreitet das. In diesem Thema geht es um etwas anderes - wie man mehrere Kerne bei der Ausführung eines Skripts verwendet.
 
dd:
In diesem Thema geht es um etwas anderes - wie man mehrere Kerne bei der Ausführung eines einzigen Skripts verwendet.
Der Code muss bereits für die Verwendung mehrerer Threads geschrieben sein! Es gibt keinen anderen Weg.
 
Aliaksandr Hryshyn:
Der Code sollte bereits für die Verwendung mehrerer Threads geschrieben sein!
Keine Frage, und ich bitte um einen Hinweis, wie man es macht. Aber nach dem Lesen, nicht nur dieses Threads, ist mir klar geworden, dass es nicht so einfach ist. Ich habe meine Aufgabe so klar wie möglich beschrieben - und ich würde gerne das Rezept hören.
 
dd:
Ich stelle keine Fragen und bitte um Ratschläge, wie man es machen kann. Aber nach dem Lesen, nicht nur dieses Threads, ist mir klar geworden, dass es nicht so einfach ist. Ich habe meine Aufgabe so klar wie möglich beschrieben - und ich würde gerne das Rezept hören.
Es kann verschiedene Rezepte geben, das idealste, je nach Formulierung des Problems, ist die Verwendung von dll mit seinen schriftlichen Berechnungen in den Indikatoren. Aber das ist kompliziert und es lohnt sich nicht... Aber Sie müssen genau wissen, welche Art von Code Sie dort haben.