Errori, bug, domande - pagina 1996

 
Slava:
Chi lo ferma?

MQL5 non lo permette.

 
fxsaber:

MQL5 non lo permette.

Chi ha detto: "Non lo fa"? Prova, per esempio, così

ChartSaveTemplate(chart_id,"\\Files\\MyPreferredTemplates\\cewl.tpl");
 
Slava:

Chi ha detto: "Non lo permette"? Prova questo, per esempio

Dovresti provarlo tu stesso. Non permette.

 
fxsaber:

Dovresti provarlo tu stesso. Non lo permette.

Provato di nuovo (e se?).

Lo fa

 
Slava:

Provato di nuovo (e se?).

Permette

Non sembra che tu abbia una build 1653.

void OnStart()
{
  Print(ChartSaveTemplate(0, "\\Files\\MyPreferredTemplates\\cewl.tpl"));
  Print(TerminalInfoInteger(TERMINAL_BUILD));
}


Risultato

false
1653
 
fxsaber:

Mi sono chiesto se questa è la cosa giusta da fare, dato che genera errori così MOLTO difficili da individuare.

Il fatto stesso che il programma non funzioni correttamente è estremamente difficile da cogliere. Poi, per scoprire il motivo, bisogna riprodurre l'errore, il che è altrettanto difficile. E poi devi scavare in un codice enorme dove un'inizializzazione di qualche variabile è incompleta - orribile. Gli avvertimenti aiutano molto in questo. Ma solo casi semplici. Casi come l'inizializzazione non per l'intero array non sono realistici da controllare in fase di compilazione.

Forse i vostri pensieri sono altri, ma in questo caso particolare la banale disattenzione del programmatore ha portato a questo errore.

Non sarete infastiditi da una serie di avvertimenti lunghi alcuni metri?

 
fxsaber:

Non sembra che tu abbia una build 1653.


Risultato

Sembra che manchi la cartella MyPreferredTemplates. E la cartella non viene creata quando si salva. Ho rimosso la cartella dal percorso e questo è il risultato.

2017.09.11 14:59:51.538 00 (EURUSD,H1)  true
2017.09.11 14:59:52.328 00 (EURUSD,H1)  1653
 
Alexey Viktorov:

Sembra che manchi la cartella MyPreferredTemplates. E quando lo salvo, non crea una cartella. Ho rimosso la cartella dal percorso e questo è il risultato.

Grazie, non l'avrei mai detto! Ora funziona. Prima ho provato "...\files\template.tpl" - non ha funzionato allo stesso modo. Cosa significa la barra prima di Files che"\files_template.tpl" funziona? Come avrei potuto immaginarlo?

 
fxsaber:

Non sembra che tu abbia una build 1653.


Risultato

Funziona dalla build 1565. A partire da marzo 2017.

GetLastError cosa restituisce?

 
fxsaber:

Grazie, non l'avrei mai detto! Ora funziona. Prima ho provato "...\files\template.tpl" - non ha funzionato allo stesso modo. Cosa significa la barra prima di Files che"\files_template.tpl" funziona? Come avrei potuto immaginarlo?

La barra all'inizio del nome del file significa "dalla radice di MQL5".