Errori, bug, domande - pagina 1506
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
Si prega di perdonare qualsiasi informazione incompleta.
1. le informazioni sono nella scheda Log:
2. L'indicatore testato per la rimozione è il Bollinger Bands standard:
- il file dell'indicatore si trova in C:\Program Files\Alpari Limited MT5\MQL5\Indicators\Examples\BB.ex5;
- Il file compilato viene aggiunto manualmente al grafico;
- entrambi i file sono allegati a questo post.
3. Codice completo di Expert Advisor che rimuove l'indicatore e sul quale viene rilevato il bug:
void OnInit(){
ChartIndicatorDelete(0,0,"Bollinger Bands");
}
Risultato del test:
Dopo aver trascinato un tale "Expert Advisor" (nell'applicazione - DeleteInd.ex5) sul grafico
Le Bande di Bollinger aggiunte manualmente al grafico vengono cancellate, ma il grafico non viene più scalato quando le dimensioni del grafico cambiano.
Grazie per una domanda così dettagliata e ben formattata (nessuno ha scritto così da molto tempo!).
Quello che ho in mente è questo:
Ottengo un errore
ERRARE_INDICATORE_CARTOGRAFIA_CANNOT_DEL
4115
Errore quando si cancella l'indicatore dal grafico
Questo errore si verifica perché dopo la cancellazione dell'indicatore dall'EA, la finestra del grafico dove BB era, anche se possiamo vederlo, ma in realtà è già cancellato. Per verificarlo, dopo aver eseguito l'Expert Advisor, passate ad un altro profilo nel terminale e poi tornate indietro (al vecchio profilo) e trovate che il grafico si è sciacquato come una mucca.
La mia configurazione:
Grazie per una domanda così dettagliata e ben scritta (è passato molto tempo da quando qualcuno ha scritto così!).
Ecco cosa sta succedendo:
Ottengo un errore
ERRARE_INDICATORE_CARTOGRAFIA_CANNOT_DEL
4115
Errore quando si cancella l'indicatore dal grafico
Questo errore si verifica perché dopo la cancellazione dell'indicatore dall'EA, la finestra del grafico dove BB era, anche se possiamo vederlo, ma in realtà è già cancellato. Per verificarlo, dopo aver eseguito l'Expert Advisor, passate ad un altro profilo nel terminale e poi tornate indietro (al vecchio profilo) e trovate che il grafico si è sciacquato come una mucca.
La mia configurazione:
Quando eseguo il tuo codice nel log ottengo solo:
2016.02.11 20:14:01.996 Experts expert DeleteInd (XAUUSD,M1) loaded successfully
Ma dopo che sono passato ad un altro profilo e sono tornato indietro la finestra è assente (anche se le citazioni in essa stavano cambiando dopo l'aggiunta di un Expert Advisor).
Significa che si tratta di un bug? Per quanto ho capito, la funzione ChartIndicatorDelete() non dovrebbe portare a questo comportamento anomalo di un grafico. È possibile ripararlo?
Quando eseguo il tuo codice, lo ottengo solo nel registro:
2016.02.11 20:14:01.996 Experts expert DeleteInd (XAUUSD,M1) loaded successfully
Ma dopo essere passato a un altro profilo e dopo essere tornato indietro la finestra è assente (anche se le quotazioni in essa stavano cambiando dopo aver aggiunto l'Expert Advisor).
Significa che si tratta di un bug? Per quanto ho capito, la funzione ChartIndicatorDelete() non dovrebbe portare a questo comportamento anomalo di un grafico. È possibile ripararlo?
Ho fatto uno scambio. Ma quello che è successo è il seguente: se compilo il file mq4 nella cartella Experts, il programma funziona solo come EA, come indicatore (quando lo copio nella cartella Indicators) non è nemmeno impostato sul grafico. Ma se lo ricompilo in questa cartella, tutto va bene. Lo stesso vale per l'EA, non sarà installato se è stato compilato nella cartella Indicators. Per favore, ditemi qual è la ragione di questo? La modalità di compilazione è rigorosa, non ci sono errori.
Nell'ultima build di MT5 1241 la funzione ChartIndicatorDelete "incasina" il grafico. Il grafico non viene ridisegnato quando si ridimensiona, il grafico non viene salvato quando si chiude il terminale, ecc.
Questo è già stato risolto. Si prega di attendere la prossima build
Lo sportello ha avvertito che ci dovrebbe essere un solo file,
Cari sviluppatori, potreste consigliarmi se la ricorsione di funzioni e metodi di classe è permessa in MQL? Sto facendo una chiamata ricorsiva al metodo e ottengo uno stack overflow.
Certo che è permesso. Altrimenti non si otterrebbe uno stack overflow.
E cosa vi aspettavate?
Controlla la profondità di ricorsione in qualche modo?
Certo che è permesso. Altrimenti non si otterrebbe uno stack overflow.
Cosa vi aspettavate?
Controlla la profondità della ricorsione in qualche modo?