Build 646: le variabili Bool non danno le impostazioni corrette - pagina 4

 
deysmacro:
È meglio che MetaQuotes dia la possibilità all'utente di decidere se vuole resettare o meno dopo la ricompilazione, giusto? Sì, sono d'accordo.
 
alop: Non capisco il tuo esempio con EXTERN scritto con i lucchetti?
// #define EXTERN extern
EXTERN typename var1=...;
EXTERN typename var2=...;
Finché il #define è commentato non ci sono extern. Scomponi il commento, allora diventano TUTTI extern.
 

WHRoeder... Sono ancora un po' confuso su quello che stai dicendo...

Quindi come dovrebbe essere scritto il codice - per forzare i cambiamenti delle variabili nei grafici alla ricompilazione?

Questo è un grosso problema per molti di noi - penso da entrambi i punti di vista...

Alcune persone non vogliono che le variabili cambino alla ricompilazione - e capisco TOTALMENTE...

Ma per altri - che hanno più di 30 coppie in esecuzione - dover cliccare "reset" in ogni grafico è un DISASTRO...

Comunque, penso che quello che stai dicendo è che la modifica del codice di cui sopra forzerà i cambiamenti delle variabili oppure no...

Potresti per favore fare un esempio del tipo:

Forzare il cambio di variabile:

(esempio qui)

Nessun cambio di variabile forzato:

(esempio qui)

Penso che quanto sopra sarebbe molto utile per entrambe le parti di questo scenario...

Grazie mille per il vostro aiuto!

 

Inoltre - se vogliamo forzare i cambiamenti delle variabili nei grafici attivi (eas) - non c'è un file cache che possiamo semplicemente cancellare per forzare il cambiamento delle variabili alla ricompilazione?

Ho cercato di trovarlo - ma i valori memorizzati sembrano essere nascosti in un file misterioso da qualche parte...

Grazie ancora per il tuo aiuto...

Gli esempi di codice di cui sopra farebbero anche il trucco, ma sarebbe bello sapere dove trovare le impostazioni della cache - come un altro workaround....

 

Quindi anche...

Se cambio la linea

#define EXTERN extern 

extern typename var1=....;

a

#define EXTERN extern 

define extern typename var1=....;

Ottengo un errore di lettura - le variabili esterne sono già state definite...

Quindi - credo - il tuo workaround sembra confuso, potresti per favore chiarire...

Grazie mille.

 
whistler:

Quindi anche...

Se cambio la linea

extern typename var1=....;

a

define extern typename var1=....;

Ottengo un errore di lettura - le variabili esterne sono già state definite...

Quindi - credo - il tuo workaround sembra confuso, potresti per favore chiarire...

Grazie mille.

Prova questo:

#define EXTERN e non mettere nulla qui

EXTERN bool trade1 =true; <= Aggiungi EXTERN dove normalmente avresti extern

EXTERN bool trade2 = true;

EXTERN bool trade3 = false;

Quando vuoi aggiungere le extern all'inizio, fai così:

#define EXTERN extern

Quando vuoi rimuovere l'extern fai così

#define EXTERN assicurati di rimuovere extern come segue

#define EXTERN

Andy

 

Il dialogo di input manuale di solito non è necessario durante la fase di codifica, quindi non usate il modificatore esterno finché i cambiamenti di codifica non sono completati.

// will not reset on recompile unless the value is changed in the code.
extern int Var1 = 20;
extern int Var2 = 40;
//will always reset on recompile
int Var1 = 20;
int Var2 = 40;
 

Roba impressionante... Grazie mille...

Ho rimosso extern e ricompilato, ma quando ho lanciato MetaTrader e ho guardato le impostazioni dell'EA dal grafico - le variabili da cui avevo rimosso extern erano scomparse completamente... Ho chiuso MetaTrader, e poi ho rilanciato MetaEditor...

Ho aggiunto di nuovo extern - ho ricompilato di nuovo - e poi ho rilanciato MetaTrader - le variabili sono state aggiunte di nuovo nell'EA - e le variabili sono state aggiornate alle nuove impostazioni delle variabili...

Quindi - ha funzionato - GRAZIE TANTE! :) Soopa stahs!

 
whistler: WHRoeder... Sono ancora un po' confuso su quello che stai dicendo...
Questo
Uguale a
// #define EXTERN extern
EXTERN typename var1=...;
EXTERN typename var2=...;
typename var1=...;
typename var2=...;
#define EXTERN extern
EXTERN typename var1=...;
EXTERN typename var2=...;
extern typename var1=...;
extern typename var2=...;
#define EXTERN /*EMPTY*/
EXTERN typename var1=...;
EXTERN typename var2=...;
typename var1=...;
typename var2=...;
 

Ciao!

Dopo aver ricompilato (F5), vai su EA, apri gli ingressi (F7) - c'è il pulsante 'Reset' in basso a destra. Cliccando su questo, l'EA viene resettato ai valori (hard-)codificati.

Mi ci è voluto un po' per capirlo... LOL. I miracoli accadono. E anche le stronzate. LOL

Cordiali saluti,

Simon

S amore nia