Numéro magique automatique

 

Bonjour à tous, c'est mon premier message dans ce forum.


J'aimerais savoir ce que vous pensez de ce code qui permet de créer un numéro magique unique pour chaque graphique de l'EA. Cela vous semble-t-il correct ?

Merci.


int MagicNumber;

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


 
NablaQuant:

Je voudrais vous demander ce que vous pensez de ce code pour créer un numéro magique unique pour chaque graphique de l'EA. Cela vous semble correct ?

C'est assez astucieux - à condition que vous n'ayez pas besoin que le numéro magique reste le même pour chaque EA à travers les redémarrages de MT4 (il y a aussi une très petite chance que, à travers les redémarrages, un EA puisse obtenir un handle de fenêtre précédemment utilisé par un autre EA).

 

Et la taille de l'entier peut être supérieure à l'entier MQL4.

Et IIRC hWnd peut être une valeur négative ? Pas bon pour un nombre magique !

-BB-

 
BarrowBoy:

Et la taille de l'entier peut être supérieure à l'entier MQL4.

Et IIRC hWnd peut être une valeur négative ? Pas bon pour un nombre magique !

-BB-

Je n'avais pas pensé à cela, mais MT4 autorise les nombres magiques négatifs - du moins sur le courtier que j'utilise régulièrement pour mes tests. (J'ai déjà fait cela par accident.) Par conséquent, il ne devrait pas y avoir de problème de ce point de vue : les 32 bits du hWnd sont simplement traités comme un entier 32 bits signé.

 
Utiliser la fonction de hachage
 
antslag:
Utiliser la fonction de hachage

Oui, mais un hachage de quoi ?

 
jjc:

Eh bien, oui, mais un hachage de quoi ?

J'ai fait cela il y a quelque temps et cela a très bien fonctionné. J'ai assigné un numéro à deux chiffres à chaque paire, un chiffre pour les positions courtes et longues (certains de mes EAs ne négociaient que dans un sens), et un numéro à deux chiffres pour les TFs.

Ensuite, il suffit d'ajouter les chiffres et vous avez le MagicNumber.

 
DayTrader:

J'ai fait cela il y a quelque temps et cela a très bien fonctionné. J'ai attribué un numéro à deux chiffres à chaque paire, un chiffre pour les positions courtes et longues (certains de mes EAs ne négociaient que dans un sens), et un numéro à deux chiffres pour les TFs.

C'est très bien... mais ce qui est génial avec la méthode de NablaQuant, c'est qu'elle génère des numéros magiques uniques même si plusieurs EA fonctionnent sur des graphiques pour le même symbole et la même période. L'idéal serait quelque chose qui fasse cela et qui persiste lors des redémarrages de MT4, mais je ne vois pas comment y parvenir en utilisant les informations de MT4 (ou un hash de ces informations).

 
jjc:

C'est génial... mais ce qui est génial avec la méthode de NablaQuant, c'est qu'elle génère des numéros magiques uniques, même si plusieurs EA fonctionnent sur des graphiques pour le même symbole et la même période. L'idéal serait quelque chose qui fasse cela et qui persiste à travers les redémarrages de MT4, mais je ne vois pas comment y parvenir en utilisant n'importe quelle information dans MT4 (ou un hash de cette information).

C'est possible, mais il faut le faire avec précaution...

Ci-joint un EA que j'ai fait il y a quelque temps (beaucoup de travail, pas très rentable)... L'AutoMagic est là-dedans.

Dossiers :
 
DayTrader:

C'est possible mais il faut faire attention...

Ci-joint un EA que j'ai fait il y a quelques temps (beaucoup de travail, pas très rentable)... L'AutoMagic est là.

Il me manque quelque chose ici. Si j'ouvre deux graphiques, par exemple USDJPY H1, et que j'ajoute une instance de l'EA à chacun d'eux, alors les deux utilisent le nombre magique 9999033.

 
jjc wrote >>

Il y a quelque chose qui m'échappe. Si j'ouvre deux graphiques, par exemple USDJPY H1, et que j'ajoute une instance de l'EA à chacun d'eux, les deux utilisent le nombre magique 9999033.

Donc, l'application du terminal MT est-elle un 'conteneur' - avec un seul hWnd pour <l'ensemble> ?

Raison: