Schaffung einer magischen Zahl - Seite 2

 
cameofx:
Meine Güte, du hast meine Bearbeitungsgeschwindigkeit übertroffen :)). Ich habe es bearbeitet. Ich habe vergessen zu erwähnen, dass es eine GlobalVariable ist.

Und was passiert, wenn Sie eine Sitzung von einem ANDEREN Terminal aus fortsetzen müssen (z.B. weil Ihr Computer abgestürzt ist)...? Sie bräuchten immer noch eine Persistenzschicht (GV's werden mit dem Terminal gespeichert - clientseitig). Die ganze Idee hinter einer "automatisierten" magischen Zahl ist es, eine eindeutige Zahl für jeden Experten zu erhalten, ohne eine Persistenzschicht zu benötigen...

 
gordon:

Denn dann müssen Sie eine Persistenzstufe für diese Magie behalten. Was passiert, wenn Ihr Terminal neu startet? Die Magie wäre dann eine andere...

Ich habe irgendwo gelesen, dass GlobalVariable-Werte etwa 14 Tage nach dem letzten Zugriff existieren. Wenn diese Technik funktioniert, haben wir außerdem den zusätzlichen Vorteil, dass wir den Zeitpunkt der Bestellung anhand der magischen Zahl abrufen können.

Was meinen Sie dazu?

 
gordon:

Und was passiert, wenn Sie eine Sitzung von einem ANDEREN Terminal aus fortsetzen müssen (z.B. weil Ihr Computer abgestürzt ist)...? Sie bräuchten immer noch eine Persistenzschicht (GVs werden mit dem Terminal gespeichert - clientseitig). Die ganze Idee hinter einer "automatischen" magischen Zahl ist es, eine eindeutige Zahl für jeden Experten zu erhalten, ohne eine Persistenzschicht zu benötigen...

Das würde wahrscheinlich die GV kaputt machen, aber die Sekunden bleiben erhalten, und sie ist IMHO einzigartig für die Sekunden.

 
cameofx:

Das würde wahrscheinlich die GV kaputt machen, aber die Sekunden werden halten und es ist einzigartig für die Sekunden IMHO..

Sie ist einzigartig, da gibt es keinen Widerspruch. Aber noch einmal: Nehmen wir an, der Computer geht kaputt. Sie bringen Ihren Experten zu einem anderen Computer mit einem anderen Terminal, melden sich mit demselben Konto an und setzen denselben Experten fort. Wenn der Experte richtig konzipiert ist, sollte dies kein Problem sein, außer dass der Experte nun den Aufträgen, die er bearbeitet, eine ANDERE Magie zuweisen würde. Es wird also offensichtlich nicht funktionieren.

 
cameofx:

Ich habe irgendwo gelesen, GlobalVariable Werte existieren wie 14 Tage nach dem letzten Zugriff. Wenn diese Technik funktioniert, haben wir außerdem den zusätzlichen Vorteil, dass wir den Zeitpunkt der Bestellung anhand der magischen Zahl abrufen können.

Was meinst du?

Ich glaube 30... Aber egal, sie bleiben clientseitig mit dem spezifischen Terminal.


p.s. wenn du es noch nicht getan hast, dann schau dir diesen Thread an -> https://www.mql5.com/en/forum/120034. Diskutiert das gleiche Problem und hat viele coole Ideen...

 
gordon:

... außer, dass der Experte nun den Aufträgen, die er bearbeitet, eine ANDERE magische Zahl zuweisen würde. Also wird es offensichtlich nicht funktionieren.

Ich verstehe das nicht...

- Ich dachte, es ginge darum, für jeden generierten Handel eine andere magische Zahl zu vergeben? Erst nachdem eine Order vom Broker akzeptiert wurde, ist die OrderMagicNumber() festgelegt und kann abgerufen werden.

Wenn der vorherige Handel mit dem ehemaligen 'toten' Client-Terminal erfolgreich eine OrderMagicNumber generiert hat, dann wird der nächste gleiche oder ein anderer Experte in einem anderen Terminal nicht die gleiche magische Zahl generieren.

- IMHO - um es mit Ihren Worten zu sagen: Die Zeit ist beständig, ohne dass eine Schichtung notwendig ist, keine zwei Zeiten sind jemals gleich... :))

- Vielen Dank für die Links, ich habe sie gelesen. Ich habe nichts gegen magische Zahlen, die nach dem Zufallsprinzip generiert werden, aber ich bevorzuge dennoch eine magische Zahl, die einigermaßen logisch ist und andere Verwendungsmöglichkeiten hat.

- Vielleicht bricht die Technik zusammen, wenn man 2 oder mehr Aufträge im Bruchteil einer Sekunde auf verschiedenen Terminals annimmt, was ich für unwahrscheinlich halte...

 
cameofx:

Ich verstehe das nicht...

- Ich dachte, es ginge darum, für jeden generierten Handel eine andere magische Zahl zu vergeben? Erst wenn ein Auftrag vom Broker akzeptiert wird, ist die OrderMagicNumber() festgelegt und kann abgerufen werden.

Wenn der vorangegangene Handel mit dem früheren "toten" Client-Terminal erfolgreich eine OrderMagicNumber generiert hat, dann wird der nächste gleiche oder andere Experte in einem anderen Terminal nicht die gleiche magische Zahl generieren.

- IMHO - um es mit Ihren Worten zu sagen: Die Zeit ist beständig, ohne die Notwendigkeit einer Schichtung, keine zwei Zeiten sind jemals gleich :))

- Vielen Dank für die Links, ich habe sie gelesen. Ich habe nichts gegen magische Zahlen, die nach dem Zufallsprinzip generiert werden, aber ich bevorzuge trotzdem eine magische Zahl, die einigermaßen logisch ist und andere Verwendungsmöglichkeiten hat.

- Die Technik bricht zusammen, wenn 2 oder mehr Aufträge im Bruchteil einer Sekunde auf verschiedenen Terminals angenommen werden, was ich für unwahrscheinlich halte...

Nein... Es gilt für den gesamten Experten. Wenn Sie also mehrere Experten auf demselben Konto betreiben, werden sie sich nicht gegenseitig stören. Ich persönlich mag oder benutze auch kein automatisches System. Ich verwende eine Reihe von magischen Zahlen für jeden Experten im Gegensatz zu einer magischen Zahl, weil ich Informationen in der Magie speichern. Unabhängig davon wird in diesem Thread erörtert, wie man automatisch eine eindeutige magische Zahl für jeden Experten festlegen kann.

 
Gordon,
Vielleicht habe ich mich nicht klar genug ausgedrückt, aber lesen Sie bitte noch einmal meinen Beitrag über diese Technik. Sie gilt für den gesamten Experten
(und folglich für jeden Experten, jeden Handel, jedes Terminal, automatisch) ... daher die Verwendung des WindowsExpertName()-Aufrufs, der seine ID abruft und sie jedes Mal mit einem GlobalVariable-Zähler verkettet, wenn der Experte mit demselben Namen mit verschiedenen Charts & TimeCurrent() verbunden ist.
Bitte überlegen Sie es sich noch einmal. Entweder es hält oder es hält nicht. Wenn Sie oder andere finden, dass es leicht zu brechen ist, dann muss ich das wahrscheinlich auch überdenken... :))
 
cameofx:
Gordon,
Ich schätze Ihre Meinung. Vielleicht habe ich mich nicht klar genug ausgedrückt, aber lesen Sie bitte noch einmal meinen Beitrag über diese Technik. Es ist für den gesamten Experten... daher die Verwendung
WindowsExpertName()-Aufruf und die Verkettung mit einem GlobalVariable-Zähler jedes Mal, wenn der Experte mit demselben Namen mit verschiedenen Charts verbunden ist.
Bitte überlegen Sie es sich noch einmal. Entweder es hält oder es hält nicht. Wenn Sie oder andere finden, dass es leicht zu brechen ist, dann muss ich das wahrscheinlich auch überdenken... :))
Das habe ich. Ich bezog mich auf das, was du gesagt hast ("Ich dachte, es geht darum, für jeden generierten Handel eine andere magische Zahl zu vergeben"), nicht auf den ursprünglichen Beitrag. Tut mir leid, wenn ich mich nicht klar ausgedrückt habe.

Wie auch immer, nachdem ich es noch einmal gelesen habe. Hier sind die Probleme, die ich damit sehe:
- Was ist die ID-Nummer? Eine fest kodierte eindeutige Nummer für jeden Experten oder was? Es ist leicht sicherzustellen, dass die Experten nicht denselben Namen haben, es ist schwieriger sicherzustellen, dass sie nicht dieselbe Nummer haben, vor allem, wenn sie fest codiert ist.
- Ausdauer. Ausdauer. Dauerhaftigkeit. Nochmals - wie kann man eine Sitzung von einem anderen Terminal aus fortsetzen. Wo wird zum Beispiel der Zeitrahmen gespeichert?
- Der Benutzer könnte manuell mit GV's herumspielen (aber das wird in den meisten Fällen kein Problem sein...).

Edit: vielleicht ist der Zeitrahmen kein gutes Beispiel...
 
Ich bin froh, dass du zur selben Zeit online bist wie ich...:) Ich stehle mir die Zeit zwischen der Arbeit... :D
Ich werde ein paar Codes eingeben...