Errori, bug, domande - pagina 1525
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
MT4. Ancora una volta vorrei attirare la vostra attenzione sulle peculiarità dell'inizializzazione delle variabili globali del programma.
Forum sul trading, sistemi di trading automatico e test di strategia
Bug, bug, domande
Slawa, 2016.02.24 07:34
Coda. L'applicazione ha solo due ore.
In generale, tali domande dovrebbero essere poste sul forum. Perché molti possono essere colpiti. Mi permetto di citarla e di rispondere immediatamente
Questo è un comportamento pianificato. Infatti, è esplicitamente descritto nella documentazione
L'upload e il download comportano una completa reinizializzazione di tutto.
In cinque, come hai giustamente notato, la situazione è simile.
È vero, era storicamente in quattro, e abbiamo cambiato questo comportamento all'inizio quando siamo passati al nuovo MQL4 (per farlo comportare come negli esperti, cioè come ci si aspetta). Ma sono sorte molte domande con i vecchi indicatori, che si basavano su questa inizializzazione. Siamo stati costretti a tornare
Nei cinque, questo è stato il caso immediatamente a causa dell'architettura. Quando cambi i parametri, il vecchio indicatore con i vecchi parametri viene distrutto e viene creato un nuovo indicatore con i parametri cambiati.
Grazie. Conclusione - una citazione dalla documentazione: "... funzione predefinita OnInit(), il cui scopo è la corretta inizializzazione di tutte le variabili globali e statiche del programma".
Quindi azzerare o rendere predefinite tutte le variabili globali o gli array inOnInit().
1. Creo un array della forma:
CArrayString list[5];
2. Provo a chiamare l'elenco dei metodi tramite <Ctrl+Space>.
list[0].
La lista dei metodi non appare. È normale che sia così?1. Creo un array della forma:
2. Provo a chiamare l'elenco dei metodi nel codice tramite <Ctrl+Space>.
L'elenco dei metodi non appare. È normale che sia così?Lasciatemi provare a fare un'ipotesi. Se ci sono altri errori nel codice oltre al fatto che il metodo/membro non è specificato, la lista non apparirà sempre.
Provato. No, supposizione sbagliata. Ma alcune pressioni ripetute della combinazione hanno aiutato.
Alexey Kozitsyn:
Ma alcune pressioni ripetute della combinazione hanno aiutato.
Purtroppo la tua ricetta non funziona per me.
1. Codice semplice:
risultato: 50
2. Aggiunta dell'input del modificatore:
risultato: 4294967276
Si aspettava un risultato di 50. Dove mi sbaglio?
1. Codice semplice:
risultato: 50
2. Aggiungiamo un ingresso modificatore:
risultato: 4294967276
Mi aspettavo un risultato di 50. Dove mi sbaglio?
fmax confronta due numeri doppi. Quindi va così:
e il risultato:
fmax confronta due numeri doppi. Quindi va così:
In MQL, viene dichiarata ed eseguita una conversione di tipo implicita. In particolare uint -> double.
La domanda è perché non funziona correttamente con le variabili di input.
1. Codice semplice:
risultato: 50
2. Aggiungere il modificatore di input:
risultato: 4294967276.
Mi aspettavo un risultato di 50. Dove mi sbaglio?
Per favore, datemi il codice completo.
Ci sono 2 possibilità qui ed entrambe sono sbagliate.
1. Il codice viene eseguito al di fuori di qualsiasi funzione.
2. la variabile di ingresso è dichiarata all'interno della funzione