Magic Number

 

Hallo,


mal eine Frage, wie vergebt ihr die Magic Number.

Ich schreibe diese ja üblicherweise in die input Variblen. In Verbindung mit dem Symbol ist das ganze dann eindeutig.


Jetzt könnte es aber rein theoretisch passieren, das der EA 2x auf dem selben Symbol mit verschiedenen Einstellungen läuft. Dann hab ich da das Problem, das er die 2 nicht unterscheiden kann.

wie macht ihr das? Habt Ihr einen MN generator anhand der Chart ID? 

MN anhand der Ticketnummer? Der Uhrzeit?


danke

amando

 
amando:

Hallo,


mal eine Frage, wie vergebt ihr die Magic Number.

Ich schreibe diese ja üblicherweise in die input Variblen. In Verbindung mit dem Symbol ist das ganze dann eindeutig.


Jetzt könnte es aber rein theoretisch passieren, das der EA 2x auf dem selben Symbol mit verschiedenen Einstellungen läuft. Dann hab ich da das Problem, das er die 2 nicht unterscheiden kann.

wie macht ihr das? Habt Ihr einen MN generator anhand der Chart ID? 

MN anhand der Ticketnummer? Der Uhrzeit?


danke

amando

Hallo,


ich mach die MN meist als User-Variable. damit kann dann jede instanz deines ea mit einer eigenen nummer laufen.


- M.

 
Lazerus:

Hallo,


ich mach die MN meist als User-Variable. damit kann dann jede instanz deines ea mit einer eigenen nummer laufen.


- M.

ja, das mach ich auch gerade, als eingabe variable, aber das passt mit meiner Faulheit nicht zusammen, daher suche ich was automatisches. ich brauch ja einen Denkansatz wie man das gestalten könnte, da ist mir die Chart ID eingefallen

 

Hmm, Vorschlag:

mit MQLInfoString() kriegt man den EA-Namen

und mit GetHashcode() kriegt man einen eindeutigen Integerwert.

Ist aber beides nicht getestet und Versuchsergebnisse wären nicht schlecht :)

Danke schon mal.

Dokumentation zu MQL5: Standardbibliothek / Template-Sammlungen von Daten / GetHashCode
Dokumentation zu MQL5: Standardbibliothek / Template-Sammlungen von Daten / GetHashCode
  • www.mql5.com
Wenn der T-Typ ein Objekt ist, das die Schnittstelle IEqualityComparable implementiert, wird der Hashcode basierend auf seiner Methode HashCode erhalten. In allen anderen Fällen wird der Hashcode als Hashwert vom Namen des Typs dieses Wertes berechnet.
 
Carl Schreiber:

Hmm, Vorschlag:

mit MQLInfoString() kriegt man den EA-Namen

und mit GetHashcode() kriegt man einen eindeutigen Integerwert.

Ist aber beides nicht getestet und Versuchsergebnisse wären nicht schlecht :)

Danke schon mal.

Ahja, kannst mir da mal auf die sprünge helfen? Was bitte ist ein Hashcode? Das seh ich das erste mal

 

Hier sind ein paar Links:

https://www.datenschutzbeauftragter-info.de/hashwerte-und-hashfunktionen-einfach-erklaert/
https://de.wikipedia.org/wiki/Hashfunktion
http://www.cs.hmc.edu/~geoff/classes/hmc.cs070.200101/homework10/hashfuncs.html
https://en.wikipedia.org/wiki/MurmurHash
https://en.wikipedia.org/wiki/Jenkins_hash_function
http://www.burtleburtle.net/bob/hash/doobs.html


Die Hashfunktion berechnet aus einer Zeichenfolge eine  eindeutige Zahl aus 0-15, d.h. 0-9,a,b,c,d,e,f

Diese Buchstaben müsste man dann ersetzen für eine MagicNummer.

Hashfunktion – Wikipedia
Hashfunktion – Wikipedia
  • de.wikipedia.org
Eine Hashfunktion (auch Streuwertfunktion) ist eine Abbildung, die eine große Eingabemenge (die Schlüssel) auf eine kleinere Zielmenge (die Hashwerte) abbildet. Eine Hashfunktion ist daher im Allgemeinen nicht injektiv. Die Eingabemenge kann Elemente unterschiedlicher Längen enthalten, die Elemente der Zielmenge haben dagegen meist eine feste...
 
Carl Schreiber:

Hier sind ein paar Links:

https://www.datenschutzbeauftragter-info.de/hashwerte-und-hashfunktionen-einfach-erklaert/
https://de.wikipedia.org/wiki/Hashfunktion
http://www.cs.hmc.edu/~geoff/classes/hmc.cs070.200101/homework10/hashfuncs.html
https://en.wikipedia.org/wiki/MurmurHash
https://en.wikipedia.org/wiki/Jenkins_hash_function
http://www.burtleburtle.net/bob/hash/doobs.html


Die Hashfunktion berechnet aus einer Zeichenfolge eine  eindeutige Zahl aus 0-15, d.h. 0-9,a,b,c,d,e,f

Diese Buchstaben müsste man dann ersetzen für eine MagicNummer.

Was es nicht alles gibt ;-) danke für die Links, sehr interessant, das erklärt einiges was im hintergrund abgeht ;-)

 

Wenn man die Hashfunktion adler32 verwendet (es ist ja kein Sicherheitsproblem)

wird aus dem EA-Namen Scalper => 0abf02cb => 0101115021213

Ist doch ganz einfach ;)

Online hash calculator - Online tools
  • www.tools4noobs.com
Hashing engines supported: md2, md4, md5, sha1, sha224, sha256, sha384, sha512, ripemd128, ripemd160, ripemd256, ripemd320, whirlpool, tiger128,3, tiger160,3, tiger192,3, tiger128,4, tiger160,4, tiger192,4, snefru, snefru256, gost, gost-crypto...
 
Carl Schreiber :

Wenn man die Hashfunktion adler32 verwendet (es ist ja kein Sicherheitsproblem)

wird aus dem EA-Namen Scalper => 0abf02cb => 0101115021213

Ist doch ganz einfach ;)

Wenn es für Ihren eigenen Gebrauch ist, denke ich, ist es in Ordnung.

Wenn Sie Ihren EA auf irgendeine Weise teilen möchten, sollten Sie dies nicht tun (auch nicht mit ChartID), da die Leute alle seltsamen Dinge tun, wie den EA-Namen zu ändern, wenn Trades bereits geöffnet sind.

 
Alain Verleyen:

Wenn es für Ihren eigenen Gebrauch ist, denke ich, ist es in Ordnung.

Wenn Sie Ihren EA auf irgendeine Weise teilen möchten, sollten Sie dies nicht tun (auch nicht mit ChartID), da die Leute alle seltsamen Dinge tun, wie den EA-Namen zu ändern, wenn Trades bereits geöffnet sind.

Einen vorschlag@@Alain ?

 
amando :

Einen vorschlag@@Alain ?

Sei nicht faul ;-)