Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 443

 
Karputov Vladimir:
Quindi vale la pena aggiungere altre stampe e vedere dove va l'algoritmo.
Così quando si cambia il TF sono lì - non so dove altro aggiungere altre stampanti lì....
 

Installata la build 880 di MT4 - compila senza errori, ma il terminale si blocca (la vecchia build funziona correttamente).

Dopo aver avviato un altro terminale e aver compilato lì - sotto la vecchia build, avvio il terminale con la nuova build e ottengo un errore quando provo a cambiare EA (invocare l'editor) 2015.09.19 22:23:11.272 MetaEditor non trovato - avvio in modalità terminale

Errori al lancio dell'EA

2015.09.19 22:29:49.948 2014.01.20 21:30 Kamikadze_MA_V_04_42_Fibo_04.ex4 GBPUSD,M15: OrderSend error 4051

2015.09.19 22:29:49.948 2014.01.20 21:30 Kamikadze_MA_V_04_42_Fibo_04.ex4 GBPUSD,M15: importi non validi per la funzione OrderSend


 
-Aleks-:

Installata la build 880 di MT4 - compila senza errori, ma il terminale si blocca (la vecchia build funziona correttamente).

Dopo aver avviato un altro terminale e aver compilato lì - sotto la vecchia build, avvio il terminale con la nuova build e ottengo un errore quando provo a cambiare EA (invocare l'editor) 2015.09.19 22:23:11.272 MetaEditor non trovato - avvio in modalità terminale

Errori al lancio dell'EA

2015.09.19 22:29:49.948 2014.01.20 21:30 Kamikadze_MA_V_04_42_Fibo_04.ex4 GBPUSD,M15: OrderSend error 4051

2015.09.19 22:29:49.948 2014.01.20 21:30 Kamikadze_MA_V_04_42_Fibo_04.ex4 GBPUSD,M15: importo lotti non valido per la funzione OrderSend


А

#property strict
lo metti nel tuo codice?
 
Karputov Vladimir:

А

Lo metti nel tuo codice?
Sì - certo! Ho dovuto tornare alla build 840 - funziona più correttamente.
 
Per favore, ditemi come creare una variabile globale con la generazione del nome della variabile - dovrebbe essere "Nome della variabile/numero magico".
 
-Aleks-:
Per favore, ditemi come creare una variabile globale con la generazione del nome della variabile - dovrebbe essere "Nome della variabile/numero magico".
Si può fare così, o si può essere guidati da:Variabili
 
Karputov Vladimir:
Si può fare così, o si può essere guidati da:Variabili
Non capisco la risposta - lasciatemi chiarire la mia domanda. Ho un codice, dove c'è una variabile esterna Magic - il suo valore è impostato dall'utente, ho bisogno di garantire la stabilità relativa del sistema dopo aver acceso/spento il terminale, perché c'è qualche algoritmo all'interno del programma che fa calcoli statistici e il suo ultimo valore è importante per eseguire l'algoritmo. Ho deciso di prendere una variabile globale per memorizzare i dati di calcolo, ma dovrebbe essere legata a un certo EA - sarebbe logico legarla per magia - ottenendo così il nome della variabile "global variable name+Magic". Quindi la domanda è: come generare correttamente un nuovo nome di variabile?
 
-Aleks-:
Non capisco la risposta - lasciatemi chiarire la domanda. Ho un codice, dove c'è una variabile esterna Magic - il suo valore è impostato dall'utente, ho bisogno di garantire la stabilità relativa del sistema dopo aver abilitato / disabilitato il terminale, perché c'è qualche algoritmo all'interno del programma che fa calcoli statistici e il suo ultimo valore è importante per eseguire l'algoritmo. Ho deciso di prendere una variabile globale per memorizzare i dati di calcolo, ma dovrebbe essere legata a un certo EA - sarebbe logico legarla per magia - ottenendo così il nome della variabile "global variable name+Magic". Quindi la domanda è: come generare correttamente un nuovo nome di variabile?

La stabilità e una variabile esterna che può essere modificata dall'utente sono già condizioni incompatibili. Esempio: la prima esecuzione - l'utente ha cambiato la variabile esterna, che avete legato a questo prefisso nel vostro codice. Il terminale si riavvia e l'utente cambia di nuovo la variabile esterna. Cosa farete?

Nel tuo algoritmo, l'ultimo valore calcolato (quello che è molto importante dopo il riavvio) - che tipo è? Doppio? Se non lo è, ci saranno problemi.

 
Karputov Vladimir:

La stabilità e una variabile esterna che può essere modificata dall'utente sono già condizioni incompatibili. Esempio: la prima esecuzione - l'utente ha cambiato la variabile esterna, che avete legato a questo prefisso nel vostro codice. Il terminale si riavvia e l'utente cambia di nuovo la variabile esterna. Cosa farete?

Nel tuo algoritmo, l'ultimo valore calcolato (quello che è molto importante dopo il riavvio) - che tipo è? Doppio? In caso contrario, ci sarà già un problema.

Beh, l'utente sono io, quindi non dovrebbe cambiare nulla freneticamente. Quali altre opzioni ci sono? In init mettere il ricalcolo e cercare il valore giusto?

La variabile è int, ma potete usare double - non è importante - memorizzerà gli interi.

 
-Aleks-:
... Perché all'interno del programma c'è un algoritmo che esegue il calcolo statistico e il suo ultimo valore è importante per l'esecuzione dell'algoritmo. Ho deciso di prendere una variabile globale per memorizzare i dati di calcolo, ma dovrebbe essere legata a una certa EA - sarebbe logico legarla con la magia - in questo modo, il nome della variabile "nome della variabile globale + magia" sarà generato. Quindi la domanda è: come generare correttamente un nuovo nome di variabile?

Cosa c'è di sbagliato in questo? :

   string strText="rezult";
   string strGlobalVariableName=strText+"_"+inpMagic;