Variabili globali contro FileWrite - pagina 2

 
toast:

Grazie per la risposta.

Sì, sono d'accordo.

Ma il problema sarà il seguente:

Viene aperto un trade con il numero magico 123.

Quando si gestisce questo trade, l'EA cercherà GV con il nome 123xxxxxx

Ora l'utente cambia l'impostazione dell'EA per il numero magico a 789 mentre il trade è ancora attivo.

Quindi ora l'EA sta cercando GV con nome 789xxxxx (che non esiste).

Essenzialmente, sto cercando una convenzione di denominazione GV che non può essere modificata dall'input dell'utente.


Non nascondere il numero magico.

Il modo più semplice è dire ai tuoi utenti qual è il numero magico, sapranno come gestirlo.

 
angevoyageur:
Non permettere di cambiare il numero magico se ci sono ancora operazioni aperte con la vecchia magia.


Ad esempio quando non ci sono ordini aperti, allora il cambiamento avrà effetto. Se ci sono ancora operazioni aperte, l'utente può ancora cambiare ma non avrà effetto.


Questa logica può essere fatta abbastanza facilmente.

 

Grazie per la risposta.

Immagino che sia possibile, ma un po' disordinato? L'unico modo che mi viene in mente per farlo è un ciclo attraverso gli ordini e controllare che non ci siano ordini aperti. Se questo è il caso, allora applicare l'input int MagicNumber a int NewMagic

O c'è un modo più semplice?

Il ChartID() sembra molto più semplice, c'è qualche problema nell'usarlo?

 

Penso che stavo postando nello stesso momento di alcuni altri...

@fxMeter - se vogliono usare l'EA su più grafici, allora ho bisogno di un modo per continuare a cambiare il numero magico senza incorrere in duplicati. Il che ci riporta di nuovo ai GV.

@deysmacro - Penso che stavamo pensando alla stessa soluzione

Ma di nuovo - tutto questo sembra un sacco di lavoro se ChartID() può essere usato?

 
toast:

Penso che stavo postando nello stesso momento di alcuni altri...

@fxMeter - se vogliono usare l'EA su più grafici, allora ho bisogno di un modo per continuare a cambiare il numero magico senza incorrere in duplicati. Il che ci riporta di nuovo ai GV.

@deysmacro - Penso che stavamo pensando alla stessa soluzione

Ma di nuovo - tutto questo sembra un sacco di lavoro se ChartID() può essere usato?


Molto lavoro all'inizio. Poi poco lavoro da fare una volta implementato.

I codici sono sempre così :)

 
Sono d'accordo che può essere fatto, ma ancora una volta mi sto chiedendo perché le persone sono contrarie all'uso di ChartID()? C'è qualcosa di sbagliato?
 
toast:
Sono d'accordo che può essere fatto, ma ancora una volta mi sto chiedendo perché le persone sono contrarie all'uso di ChartID()? C'è qualcosa di sbagliato?

https://forum.mql4.com/62102
 

Grazie per il link, ma non credo che questo problema si applichi a me - non sto cercando di comunicare il ChartID a qualsiasi altra istanza dell'EA.

Voglio solo sapere se ChartID() è un identificatore affidabile e unico del grafico corrente da usare come nome GV?

 
toast:

Grazie per il link, ma non credo che questo problema si applichi a me - non sto cercando di comunicare il ChartID a qualsiasi altra istanza dell'EA.

Voglio solo sapere se ChartID() è un identificatore affidabile e unico del grafico corrente da usare come nome GV?


Meglio avere l'identificatore costruito nel tuo ea. Da lì puoi fare molte cose ed è affidabile.
 
toast:

Grazie per il link, ma non credo che questo problema si applichi a me - non sto cercando di comunicare il ChartID a qualsiasi altra istanza dell'EA.

Voglio solo sapere se ChartID() è un identificatore affidabile e unico del grafico corrente da usare come nome GV?


magic number e ChartID() sono cose totalmente diverse. magic è registrato con il tuo trade sul lato server. ChartID() è solo per identificare un grafico nella tua istanza corrente del terminale.

Motivazione: