Auguri per MT5 - pagina 113

 

Quello che manca in MQL è una funzione che mostri il numero di barre modificate per un simbolo/tempo specificato. Ogni volta devo controllare l'intera cronologia e confrontarla con quella precedente per trovare i cambiamenti. È molto irrazionale, richiede memoria sprecata per salvare l'intera cronologia in un array, più il costo di ottenere e confrontare la cronologia stessa.Soprattutto con MT5 dove la storia precedente viene periodicamente cancellata dalla memoria e poi deve essere scaricata dal disco. E non voglio nemmeno parlare di complicare il codice. Così tante difficoltà ridicole, invece di chiedere semplicemente a Metatrader che sa esattamente se la storia è stata cambiata o no.

Gli indicatori hanno un meccanismo simile (parametro prev_calculated), ma solo per quel simbolo e periodo, su cui l'indicatore sta funzionando. E diversi simboli possono partecipare ai calcoli. Quindi abbiamo bisogno di una funzione che restituisca il numero di barre aggiornate (o il tempo, da cui iniziano le barre aggiornate) per qualsiasi simbolo.

 
Signori sviluppatori, avete intenzione di fare una normale evidenziazione della sintassi in MetaEditor? Cioè tipi/classi in un colore, variabili in un altro, funzioni nel terzo, macro nel quarto, ecc. In generale, come nei normali IDE. Altrimenti solo gli strumenti standard MQL sono evidenziati. Come risultato, quando si usa attivamente OOP l'intero codice si trasforma in un testo nero solido (senza contare gli operatori). Non sarete in grado di distinguere immediatamente i nomi delle classi, degli oggetti e delle funzioni. È molto difficile da leggere. Spesso mi sorprendo a pensare che è molto più bello usare le primitive standard per il bene della chiarezza del codice (in modo che non sembri una massa nera). E non dovrebbe essere così.
 
meat:
Signori sviluppatori, avete intenzione di fare una normale evidenziazione della sintassi in MetaEditor? Cioè tipi/classi in un colore, variabili in un altro, funzioni nel terzo, macro nel quarto, ecc. In generale, come nei normali IDE. Altrimenti solo gli strumenti standard MQL sono evidenziati. Di conseguenza, quando si usa attivamente OOP l'intero codice si trasforma in un testo nero solido (senza contare gli operatori). Non sarete in grado di distinguere immediatamente i nomi delle classi, degli oggetti e delle funzioni. È molto difficile da leggere. Spesso mi sorprendo a pensare che è molto meglio usare primitive standard per il bene della chiarezza del codice (in modo che non sembri una massa nera). Ma non dovrebbe essere così.
Aprire in altri compilatori!!!
 

Peccato che nessuno degli sviluppatori risponda in questo thread. Mi chiedo se guardano anche qui... Anche nel service-desk, tutti i suggerimenti di solito non ricevono risposta (solo i bug vengono risolti). Non va bene.

Ma andiamo avanti.

Di tanto in tanto mi trovo di fronte a un problema tale per cui è impossibile identificare in modo univoco l'Expert Advisor/indicatore che sta girando. Per esempio, un Expert Advisor crea e utilizza un file (o una variabile globale) che viene usato specificamente per questo EA (o meglio, per questa istanza).E gli altri EA non dovrebbero usare questo file/variabile globale, ne hanno di propri. Quindi, come dovrebbe l'EA trovare il suo file/variabile dopo il riavvio del terminale o dopo la reinizializzazione dei parametri?

Se il file è nominato dal nome dell'EA / simbolo / timeframe, allora qualsiasi altra istanza di questo EA su un grafico simile aprirà quel file. Se il file è nominato dall'handle della finestra, allora l'handle non sarà più valido dopo un ricarico.

In breve, abbiamo bisogno di un ID unico per l'EA/indicatore, che non cambierebbe al ricaricamento. Per esempio, può essere il tempo di collegamento dell'EA al grafico. Suggerisco di aggiungere questo parametro a MQLInfoInteger.

 

Nel MetaEditor, vogliamo essere in grado di fare un passo indietro.

Cioè, la chiamata della funzione "Funzione_B" dalla funzione "Funzione_A":

bool Function_A(void)
  {
   Function_B()
   return(true);
  }

Dopo aver cliccato sul testo"Function_B" e poi cliccando il pulsante centrale o Alt+G - la Function_B viene commutata. Dopo aver rivisto il codice, è necessario tornare al luogo della chiamata - a Function_A. Ma non c'è questa funzionalità. E noi vogliamo farlo.

 
Karputov Vladimir:

Nel MetaEditor, vogliamo essere in grado di fare un passo indietro.

Cioè, la chiamata della funzione "Funzione_B" dalla funzione "Funzione_A":

Dopo aver cliccato sul testo"Function_B" e poi cliccando il pulsante centrale o Alt+G - la Function_B viene commutata. Dopo aver rivisto il codice, è necessario tornare al luogo della chiamata - a Function_A. Ma non c'è questa funzionalità. Ma ci piacerebbe.

Sì, sarebbe conveniente. Scrivete anche al Service Desk.

Abbiamo un accesso rapido alla definizione(Alt+G). Abbiamo bisogno di un rapido passaggio dalla definizione al retro.

 
Karputov Vladimir:

Nel MetaEditor, vogliamo essere in grado di fare un passo indietro.

Cioè, chiamando la funzione "Funzione_B" dalla funzione "Funzione_A":

Dopo aver cliccato sul testo"Function_B" e poi cliccando il pulsante centrale o Alt+G - la funzione_B viene commutata. Dopo aver rivisto il codice, è necessario tornare al luogo della chiamata - a Function_A. Ma non c'è questa funzionalità. E noi vogliamo farlo.

passo avanti Ctrl+-, passo indietro Ctrl+Shift+-
 
Vitalie Postolache:
passo avanti Ctrl+-, passo indietro Ctrl+Shift+-
Non è vero. Non funziona.
 
Karputov Vladimir:
Non è vero. Non funziona.

Strano, per me funziona. Ho premuto Alt+G sulla chiamata della funzione e sono saltato alla definizione della funzione, poi ho premuto Ctrl+- e sono tornato indietro.

Ho confuso le combinazioni sopra, è il contrario: passo avanti Ctrl+Shift+-, passo indietro Ctrl+-, scusa.

 
Karputov Vladimir:
Non è vero. Non funziona.
L'ho provato. Per me funziona. )