Errori, bug, domande - pagina 1153
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
Il video nei messaggi del forum non viene riprodotto. c'è uno spazio vuoto al posto del video. provato con molti browser. dispositivo - Lenovo K900.
Come si esegue un programma installato in Windows 8.1? Con /portable?
Se si lavora in Windows 8.1 come utente normale, il terminale MT5 non ricorda i numeri di conto inseriti. Anche MetaEditor non salva lo stato della memoria MQL5. Questo può essere risolto solo se si lavora come amministratore o se "Run this program as administrator" è selezionato nelle proprietà di metaeditor64.exe e terminal64.exe.
P.S. Il terminale è l'ultimo - ma il problema non è nuovo.
Buon pomeriggio.
Ho un indicatore abbastanza impegnativo in termini di risorse (che è calcolato da 7+ array), si carica normalmente solo "a intermittenza" nel terminale, non so per quale motivo. Nessun errore in esso, è qualcosa con il terminale MT5 stesso...
Vorrei provarlo nel tester, ma nel tester continua a dare un errore: ho allegato uno screenshot.
Per favore, c'è qualche possibilità di elaborare l'errore prima dell'avvio del tester e ricaricare forzatamente l'indicatore nel tester, se appare?
Buon pomeriggio.
Ho un indicatore abbastanza impegnativo in termini di risorse (che è calcolato da 7+ array), si carica normalmente solo "a intermittenza" nel terminale, non so per quale motivo. Nessun errore in esso, è qualcosa con il terminale MT5 stesso...
Vorrei provarlo nel tester, ma nel tester continua a darmi un errore: ho allegato uno screenshot.
Per favore, c'è un modo per gestire l'errore prima dell'avvio del tester e ricaricare forzatamente l'indicatore nel tester, se appare?
.
L'errore è nel tuo codice, non nel terminale. C'è anche un suggerimento su dove cercare l'errore: linea 302, posizione 49. Questo errore è un'uscita dell'array dal suo range. Per esempio, avete un array con dimensione [4], ma state cercando di ottenere il valore [5].
Non riesco a risolverlo, l'array si riempie di virgolette (100%) o di valori di indicatori. Nel terminale in un certo momento il valore delle quotazioni o degli indicatori X esce NULL, e in un altro momento esce un valore normale (non sulla barra 0). Non so perché succede.
Il valore NULL è sempre presente nel tester. L'errore si verifica quando cerco di moltiplicare una quota o un valore di indicatore, ma non c'è NULL.
Non riesco a risolverlo, l'array si riempie di virgolette (100%) o di valori di indicatori. Nel terminale in un certo momento il valore delle quotazioni X dà NULL, e in un altro momento dà un valore normale (non sulla barra 0). Non so perché succede.
Il valore NULL è sempre presente nel tester. L'errore si verifica quando cerco di moltiplicare una quota o un valore di indicatore, ma non c'è NULL.
Questo codice è il codice dell'indicatore e della funzione OnInit(). Di conseguenza, OnInit() viene elaborato al momento dell'avvio del terminale - e questo codice visualizza correttamente il prezzo di tick. È OnInit() e non init() - come il tuo. Se l'errore si ripete, invia il codice e la versione del terminale.
L'errore è che stai cercando di ricevere informazioni di mercato (MarketInfo...) in OnInit() dall'indicatore. L'indicatore non ha funzioni di trading e quindi, durante l'inizializzazione non aspetta l'aggiornamento delle informazioni del conto e del mercato.
Per ottenere i dati di mercato, usa OnInit() dell'EA, non l'indicatore.
Se volete usare le informazioni di mercato nell'indicatore, dovete inserire un flag (bool) e controllare la correttezza delle informazioni del conto (Account...) nella funzione OnCalculate() nel caso della prima esecuzione o in OnInit() se cambiate timeframe o impostazioni dell'indicatore.
Non ingannare la gente. Indipendentemente dall'utilizzo di init() o OnInit() dell'indicatore, il terminale non garantisce che questo gestore venga chiamato quando il login è fatto e il valore del tick è noto. Quindi è facile ottenere zero anche in OnInit. Inoltre non c'è alcun divieto sull'uso di informazioni di mercato negli indicatori. Ma in questo caso dobbiamo davvero trasferire l'inizializzazione alla parte di calcolo dell'indicatore ed eseguirla sui primi tick.
Non ci sono funzioni di trading nell'indicatore. L'Expert Advisor ha funzioni commerciali. Pertanto, quando l'EA chiama l'ambiente di mercato e/o le informazioni sul conto, tutto va correttamente in OnInit().
Per provare le mie parole, ecco un semplice EA in cui OnInit() si riferisce all'ambiente di trading e alle informazioni del conto:
Non ci sono funzioni di trading nell'indicatore. L'Expert Advisor ha funzioni commerciali. Pertanto, quando l'EA chiama l'ambiente di mercato e/o le informazioni sul conto, tutto va correttamente in OnInit().
Per provare le mie parole, ecco un semplice Expert Advisor che OnInit() chiama l'ambiente di mercato e le informazioni del conto: