Numero magico automatico

 

Ciao a tutti, questo è il mio primo post in questo forum.


Vorrei chiedere cosa ne pensate di questo codice per fare un numero magico unico per ogni grafico allegato EA. Sembra essere ok?

Grazie.


int MagicNumber;

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


 
NablaQuant:

Vorrei chiedere cosa ne pensate di questo codice per fare un numero magico unico per ogni grafico collegato all'EA. Sembra andare bene?

Questo è abbastanza astuto - a condizione che non sia necessario che il numero magico rimanga lo stesso per ogni EA attraverso i riavvii di MT4 (c'è anche una piccola possibilità che, attraverso i riavvii, un EA possa ottenere un handle di finestra precedentemente utilizzato da un altro EA).

 

E la dimensione dell'intero potrebbe essere maggiore dell'intero MQL4

E IIRC hWnd può essere un valore negativo? Non va bene per un numero magico!

-BB-

 
BarrowBoy:

E la dimensione dell'intero potrebbe essere maggiore dell'intero MQL4

E IIRC hWnd può essere un valore negativo? Non va bene per un numero magico!

-BB-

Non ci avevo pensato, ma MT4 permette numeri magici negativi - almeno sul broker che uso regolarmente per i test. (L'ho fatto prima per caso.) Quindi, non dovrebbe esserci un problema da quel punto di vista: i 32 bit di hWnd vengono semplicemente trattati come un intero firmato a 32 bit.

 
Utilizzare la funzione hash
 
antslag:
Usa la funzione hash

Beh, sì, ma un hashish di cosa?

 
jjc:

Beh, sì, ma un hashish di cosa?

L'ho fatto un po' di tempo fa e ha funzionato alla grande. Ho assegnato un numero di 2 cifre ad ogni coppia, 1 cifra a short e long (alcuni dei miei EAs negoziavano solo in un modo), e un numero di 2 cifre per i TFs.

Poi semplicemente aggiungi i numeri e hai il MagicNumber.

 
DayTrader:

L'ho fatto un po' di tempo fa e ha funzionato alla grande. Ho assegnato un numero di 2 cifre ad ogni coppia, 1 cifra a short e long (alcuni dei miei EAs negoziavano solo in un modo), e un numero di 2 cifre per i TFs.

Questo è fantastico... ma la cosa intelligente del metodo di NablaQuant è che genera numeri magici unici anche se ci sono più EAs in esecuzione sui grafici per lo stesso simbolo e timeframe. L'ideale è qualcosa che lo faccia e che persista attraverso i riavvii di MT4, ma non riesco a vedere un modo per ottenere questo utilizzando qualsiasi informazione all'interno di MT4 (o un hash di quelle informazioni).

 
jjc:

Questo è fantastico... ma la cosa intelligente del metodo di NablaQuant è che genera numeri magici unici anche se ci sono più EA in esecuzione sui grafici per lo stesso simbolo e timeframe. L'ideale è qualcosa che lo faccia e che persista attraverso i riavvii di MT4, ma non riesco a vedere un modo per ottenere questo utilizzando qualsiasi informazione all'interno di MT4 (o un hash di quelle informazioni).

Si può fare, ma deve essere gestito con attenzione...

In allegato c'è un EA che ho fatto un po' di tempo fa (molto lavoro, non molto redditizio)... L'AutoMagic è lì dentro.

File:
 
DayTrader:

Si può fare, ma deve essere gestito con attenzione...

In allegato c'è un EA che ho fatto un po' di tempo fa (molto lavoro, non molto redditizio)... L'AutoMagic è presente.

Mi manca qualcosa qui. Se apro due grafici, ad esempio USDJPY H1, e aggiungo un'istanza dell'EA a ciascuno di essi, entrambi utilizzano il numero magico 9999033.

 
jjc wrote >>

Mi manca qualcosa qui. Se apro due grafici, ad esempio USDJPY H1, e aggiungo un'istanza dell'EA a ciascuno di essi, entrambi usano il numero magico 9999033.

Quindi l'app del terminale MT è un 'contenitore' - con una singola hWnd per <l'intera cosa>?