Variabili globali contro FileWrite - pagina 3

 

@deysmacro

Ma sto ancora lottando per vedere motivo perché la gente non vuole usare ChartID()? A volte cambia? A volte si duplica?

Altrimenti, perché dovrei reinventare la ruota aggiungendo linee di codice invece di DoubleToStr(ChartID(),0)?

 

@angevoyageur

Grazie ancora per la risposta.

Mi scuso per essere stato poco chiaro con tutti.

Ho capito cosa sono i Magic number e ho capito cosa fa ChartID().

Sto solo cercando di trovare il modo migliore per creare un nome GV unico che non verrà cambiato, che può essere recuperato dopo un riavvio del terminale e che non deve essere conosciuto da nessun'altra istanza EA.

ChartID() sembra adattarsi al conto, ma la gente continua a suggerire modi molto più complicati per farlo. Ecco perché sono confuso.

 
toast:

Grazie ancora per la risposta.

Mi scuso per essere stato poco chiaro con tutti.

Ho capito cosa sono i Magic number e ho capito cosa fa ChartID().

Sto solo cercando di trovare il modo migliore per creare un nome GV unico che non verrà cambiato, che può essere recuperato dopo un riavvio del terminale e che non deve essere conosciuto da nessun'altra istanza EA.

ChartID() sembra adattarsi al conto, ma la gente continua a suggerire modi molto più complicati per farlo. Ecco perché sono confuso.


Avere un generatore di nomi per GV e poi controllare se il nome unico GV esisteva o no. Questo è tutto.

Quando usate ChartID(), non avete il controllo, ma usando il generatore di nomi, avete il controllo.

Se ancora trovate che usare ChartID() è buono, allora, per favore fatelo.

Sto mettendo un punto qui.

 

Beh, grazie comunque per il tuo aiuto.

Se generassi il nome per il GV, come verrebbe recuperato dopo un riavvio del terminale? Dovrebbe essere in un altro GV, o dedotto dagli input dell'utente che possono essere cambiati...

Penso che userò ChartID().

Tutte queste altre opzioni sembrano scrivere codice per il gusto di farlo.

In assenza di qualsiasi ragione reale per cui ChartID() sia una cattiva idea, mi atterrò ad essa.

 
toast:

Beh, grazie comunque per il tuo aiuto.

Se generassi il nome per il GV, come verrebbe recuperato dopo un riavvio del terminale? Dovrebbe essere in un altro GV, o dedotto dagli input dell'utente che possono essere cambiati...

Penso che userò ChartID().

Tutte queste altre opzioni sembrano scrivere codice per il gusto di farlo.

In assenza di qualsiasi ragione reale per cui ChartID() sia una cattiva idea, mi atterrò ad essa.

ChartID() sembra una buona idea per creare un nome unico, bisogna solo controllare che questo ID sia persistente attraverso il riavvio di MT4. Non l'ho mai controllato.

Facci sapere.

 
angevoyageur:

ChartID() sembra una buona idea per creare un nome unico, devi solo controllare che questo ID sia persistente attraverso il riavvio di MT4. Non l'ho mai controllato.

Facci sapere.



Sì, lo è. L'ho controllato oggi stesso.

Prima esecuzione:

Dopo il riavvio del terminale:

 
se il grafico è stato chiuso e riaperto si è perso il precedente ChartED()
 

Sì, se hai chiuso quel particolare grafico (mantenendo il resto del terminale aperto) l'ID viene perso.

Ma se il grafico viene chiuso perché l'intero terminale è stato chiuso, l'ID rimarrà lo stesso quando il terminale verrà riaperto.

 

Io userei il numero di conto o un numero derivato da esso. Non mi fiderei di ChartID, cosa succede se l'utente deve reinstallare MT4 o chiude accidentalmente il grafico mentre i trade sono aperti. Il numero del conto che ha i trade aperti dell'EA è robusto.

 
SDC:

Io userei il numero di conto o un numero derivato da esso. Non mi fiderei di ChartID, cosa succede se l'utente deve reinstallare MT4 o chiude accidentalmente il grafico mentre i trade sono aperti. Il numero del conto che ha i trade aperti dell'EA è robusto.


Ho già detto a Brindisi di creare un generatore di nome unico però.