Automatische magische Zahl

 

Hallo zusammen, dies ist mein erster Beitrag in diesem Forum.


Ich möchte fragen, was Sie über diesen Code denken, um eine eindeutige Magic Number für jede Grafik atached EA zu machen. Scheint das in Ordnung zu sein?

Danke!


int MagicNumber;

int init()
{
MagicNumber = WindowHandle(Symbol(),0);
Kommentar( MagicNumber);
}


 
NablaQuant:

Ich möchte fragen, was Sie über diesen Code denken, um eine eindeutige Magic Number für jede Grafik atached EA zu machen. Scheint das in Ordnung zu sein?

Das ist ziemlich raffiniert - vorausgesetzt, dass die Magic Number nicht für jeden EA über Neustarts von MT4 hinweg gleich bleiben muss (es besteht auch eine sehr geringe Chance, dass ein EA über Neustarts hinweg ein Fenster-Handle erhält, das zuvor von einem anderen EA verwendet wurde).

 

Und die Integer-Größe könnte größer sein als MQL4 Integer

Und IIRC hWnd kann ein negativer Wert sein? Nicht gut für eine magische Zahl!

-BB-

 
BarrowBoy:

Und die Integer-Größe könnte größer sein als MQL4 Integer

Und IIRC hWnd kann ein negativer Wert sein? Nicht gut für eine magische Zahl!

-BB-

Daran hatte ich nicht gedacht, aber MT4 erlaubt negative magische Zahlen - zumindest bei dem Broker, den ich regelmäßig zum Testen verwende. (Ich habe dies schon einmal aus Versehen getan.) Daher sollte es aus dieser Sicht kein Problem geben: die 32 Bits von hWnd werden einfach als vorzeichenbehaftete 32-Bit-Ganzzahl behandelt.

 
Hash-Funktion verwenden
 
antslag:
Hash-Funktion verwenden

Nun, ja, aber was für ein Hash ?

 
jjc:

Nun, ja, aber was für ein Hash ?

Ich habe das vor einiger Zeit gemacht und es hat wunderbar funktioniert. Ich habe jedem Paar eine zweistellige Nummer zugewiesen, eine Ziffer für Short und Long (einige meiner EAs handelten nur in eine Richtung), und eine zweistellige Nummer für TFs.

Dann einfach die Zahlen aneinanderhängen und man hat die MagicNumber.

 
DayTrader:

Ich habe das vor einiger Zeit gemacht und es hat gut funktioniert. Ich habe jedem Paar eine zweistellige Zahl zugewiesen, eine Ziffer für Short und Long (einige meiner EAs handelten nur in eine Richtung) und eine zweistellige Zahl für TFs.

Das ist großartig... aber das Clevere an der Methode von NablaQuant ist, dass sie eindeutige magische Zahlen generiert, selbst wenn mehrere EAs auf Charts für dasselbe Symbol und denselben Zeitrahmen laufen. Ideal wäre etwas, das das tut und über Neustarts von MT4 hinweg bestehen bleibt, aber ich sehe keine Möglichkeit, dies mit Informationen innerhalb von MT4 (oder einem Hash dieser Informationen) zu erreichen.

 
jjc:

Das ist großartig... aber das Clevere an der Methode von NablaQuant ist, dass sie eindeutige magische Zahlen generiert, selbst wenn mehrere EAs auf Charts für dasselbe Symbol und denselben Zeitrahmen laufen. Ideal wäre etwas, das das tut und über Neustarts von MT4 hinweg bestehen bleibt, aber ich sehe keine Möglichkeit, dies mit Informationen in MT4 (oder einem Hash dieser Informationen) zu erreichen.

Es kann getan werden, aber es muss sorgfältig behandelt werden...

Angehängt ist ein EA, den ich vor einer Weile gemacht habe (viel Arbeit, nicht sehr profitabel)... Die AutoMagic ist da drin.

Dateien:
 
DayTrader:

Es kann getan werden, aber es muss sorgfältig behandelt werden...

Beigefügt ist ein EA, den ich vor einer Weile gemacht habe (viel Arbeit, nicht sehr profitabel)... Die AutoMagic ist da drin.

Ich übersehe hier etwas. Wenn ich zwei Charts öffne, z.B. USDJPY H1, und jedem von ihnen eine Instanz des EAs hinzufüge, dann verwenden beide die magische Zahl 9999033.

 
jjc wrote >>

Ich übersehe hier etwas. Wenn ich zwei Charts für z.B. USDJPY H1 öffne und jedem davon eine Instanz des EAs hinzufüge, dann verwenden beide die magische Zahl 9999033.

Ist die MT-Terminal-Applikation also ein 'Container' - mit einem einzigen hWnd für <das Ganze>?