Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
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.
Sì, questa opzione non è stata incorporata perché non ne ho mai avuto bisogno. L'unica possibilità di distinguere tra due grafici indentici (che posso vedere) sarebbe l'hash nella maniglia della finestra...
ma poi si perderebbe la persistenza sui riavvii e la chiusura dei grafici, e quindi gli ordini orfani potrebbero essere creati come risultato.
Quindi l'applicazione terminale MT è un 'contenitore' - con una singola hWnd per <l'intera cosa>?
Sì. È un'applicazione MDI abbastanza tipica. C'è una finestra di livello superiore che contiene cose come barre degli strumenti, riquadri e l'area client MDI. Quest'ultima poi contiene ogni grafico, e ogni grafico in realtà consiste di due finestre: un contenitore con l'area di disegno al suo interno. Ognuna di queste cose ha il proprio handle hWnd. La funzione WindowHandle() restituisce l'handle dell'area di disegno, e quindi usando la chiamata API GetParent() tre volte si ottiene l'hWnd della finestra MT4 di primo livello.
fwiw, io uso sotto e non ho mai avuto duplicati. Stesso EA su fino a 10 grafici [qualsiasi tipo].
Non ho una risposta alla sovrabbondanza di spazzatura effettiva consegnata alla funzione hash. Ci ho messo dentro tutto, compreso il lavello della cucina. Cioè, non sono un matematico..., ho solo martellato e cesellato fino a quando non ho mai avuto ripetizioni - anche all'avvio del terminale con 10 profili grafici tutti uguali EA...
Ovviamente, mi piacerebbe avere un metodo migliore e più descrivibile/logico... quindi inizia a farlo a pezzi :O)
fwiw, io uso sotto e non ho mai avuto duplicati. Stesso EA su fino a 10 grafici [qualsiasi tipo].
Non ho una risposta alla sovrabbondanza di spazzatura effettiva consegnata alla funzione hash. Ci ho messo dentro tutto, compreso il lavello della cucina. Cioè, non sono un matematico..., ho solo martellato e cesellato fino a quando non ho mai avuto ripetizioni - anche all'avvio del terminale con 10 profili grafici tutti uguali EA...
Ovviamente, mi piacerebbe avere un metodo migliore e più descrivibile/logico... quindi inizia a farlo a pezzi :O)
Mi piace. In particolare il buon vecchio hashtag djb2.
Roba molto impressionante ragazzi :)
I contenitori MDI mi riportano indietro <sigh>.
Continuo a dire che, IMHO, i Magic Numbers sono troppo importanti per applicarli a caso!
Sono sicuro che CB confermerebbe che il recupero prevedibile al riavvio è un elemento estremamente importante in un sistema robusto...
FWIW
-BB-
Con questo codice un EA è in grado di riconoscere i propri ordini se la piattaforma si spegne. Utilizza Variabili Globali quindi se si vuole rendere l'EA "inmune" allo spegnimento del PC potrebbe essere riscritto per utilizzare file invece di Variabili Globali. Ho allegato anche un esempio che apre una posizione proprio al momento dell'init e la chiude nella barra successiva, si può caricare l'esperto in timeframe 1M, spegnere metatrader e poi riaprirlo, basta aspettare la barra successiva per vedere come l'EA chiude il suo ordine. Non è stato provato con grafici multipli né ingannato con ordini multipli, ma cosa ne pensate?
Mi piace. In particolare il buon vecchio hashish djb2.
grazie - ma mi sento davvero a disagio per un po' di codifica disinformata in makeexpertid...
È ancora presto, ma forse qualcuno individuerà il difetto (o i difetti)... se sono presenti
Roba molto impressionante ragazzi :)
I contenitori MDI mi riportano indietro <sigh>.
Continuo a dire che, IMHO, i Magic Numbers sono troppo importanti per applicarli a caso!
Sono sicuro che CB confermerebbe che il recupero prevedibile al riavvio è un elemento estremamente importante in un sistema robusto...
FWIW
-BB-
Continuo a dire che, IMHO, i Magic Numbers sono troppo importanti per essere applicati a caso!
di sicuro BB, dati vip. Ho passato troppo tempo a cercare di scoprire un dato unico che più istanze di un EA potessero utilizzare. Questo dato doveva essere ripetibile in modo che tutti i file aperti fossero mappabili al recupero/riavvio. Volevo permettere la possibilità a qualsiasi numero di istanze EA dello stesso ccy+per grafico di aprire 'in qualche modo' un nome di file unico e al riavvio magicamente riaprire...
I dati della maniglia della finestra potrebbero essere quel 'fattore X'?
di sicuro BB, i dati vip. Ho passato troppo tempo a cercare di scoprire un dato unico che più istanze di un EA potessero usare. Questo dato doveva essere ripetibile in modo che tutti i file aperti fossero mappabili al recupero/riavvio. Volevo dare la possibilità a qualsiasi numero di istanze EA dello stesso ccy+per grafico di aprire 'in qualche modo' un nome di file unico e al riavvio magicamente riaprire...
Non riesco a vedere come questo sia possibile senza che MT4 o l'utente assegnino un ID a ciascun EA. O, più precisamente, non vedo nulla che non implichi qualcosa di molto brutto come generare un ID unico e poi modificare il file .chr dell'EA per memorizzare l'ID come parte dei parametri esterni dell'EA.
E, per l'intrattenimento generale, quanto segue non fa realmente avanzare la discussione in alcun modo, ma sostituisce l'input all'hash djb2 con un valore che è garantito essere unico (al costo di richiedere chiamate DLL). Non so quanto sia buono djb2 su cose come i GUID, ma ho appena provato a generare 1.000.000 di ID senza alcuna collisione. Ma ancora non risolve il problema del riavvio.
I dati della maniglia della finestra potrebbero essere quel 'fattore X' ?
Se non stavi chiudendo parzialmente alcun ordine, potevi usare il commento dell'ordine per memorizzare le informazioni sulla coppia/timeframe di origine?
In questo modo l'EA, al riavvio, potrebbe capire se aveva degli ordini precedenti e quale numero magico avrebbe dovuto utilizzare?
NB
Mantenere i commenti a < 25 e controllare il LEFT(OrderComments(), 24) altrimenti la roba [sl] o [tp] potrebbe influenzare le cose
Presume che <tutta la storia> sia lasciata disponibile nella scheda Storia dell'account!
FWIW
-BB-