Erreurs, bugs, questions - page 1996

 
fxsaber:

MQL5 ne le permet pas.

Qui a dit : "Il ne le fait pas" ? Essayez, par exemple, comme ceci

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

Qui a dit : "Ne le permet pas" ? Essayez ceci, par exemple

Vous devriez l'essayer vous-même. Il ne permet pas.

 
fxsaber:

Vous devriez l'essayer vous-même. Il ne le permet pas.

J'ai essayé à nouveau (et si ?).

Elle le fait

 
Slava:

J'ai essayé à nouveau (et si ?).

Permet d'accéder à

Vous n'avez pas l'air d'avoir une version 1653.

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


Résultat

false
1653
 
fxsaber:

Je me suis demandé si c'était la bonne chose à faire, puisque cela génère des erreurs TRÈS difficiles à détecter.

Le fait même que le programme ne fonctionne pas correctement est extrêmement difficile à détecter. Ensuite, pour trouver la raison, il faut reproduire l'erreur, ce qui est tout aussi difficile. Et puis vous devez fouiller dans un énorme code où l'initialisation d'une variable est incomplète - horrible. Les avertissements sont d'une grande aide à cet égard. Mais seulement les cas simples. Des cas tels que l'initialisation qui ne concerne pas l'ensemble du tableau ne sont pas réalistes à vérifier au stade de la compilation.

Vous pensez peut-être à autre chose, mais dans ce cas précis, l'inattention banale du programmeur a conduit à cette erreur.

Ne serez-vous pas ennuyé par une série d'avertissements de quelques mètres de long ?

 
fxsaber:

Vous n'avez pas l'air d'avoir une version 1653.


Résultat

Apparemment, le dossier MyPreferredTemplates est manquant. Et le dossier n'est pas créé lors de la sauvegarde. J'ai supprimé le dossier du chemin et voici le résultat.

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

Apparemment, le dossier MyPreferredTemplates est manquant. Et quand je l'enregistre, ça ne crée pas de dossier. J'ai supprimé le dossier du chemin et voici le résultat.

Merci, je ne l'aurais pas deviné ! Ça marche maintenant. Avant cela, j'ai essayé "...\\..\\\NFiles\\Ntemplate.tpl" - cela n'a pas fonctionné de la même manière. La barre oblique devant Files signifie-t-elle que"\\\\Files\\\\\Ntemplate.tpl" fonctionne ? Comment aurais-je pu le deviner ?

 
fxsaber:

Vous n'avez pas l'air d'avoir une version 1653.


Résultat

Fonctionne depuis la version 1565. En mars 2017.

GetLastError renvoie quoi ?

 
fxsaber:

Merci, je ne l'aurais pas deviné ! Ça marche maintenant. Avant cela, j'ai essayé "...\\..\\\NFiles\\Ntemplate.tpl" - cela n'a pas fonctionné de la même manière. La barre oblique devant Files signifie-t-elle que"\\\\Files\\\\\Ntemplate.tpl" fonctionne ? Comment aurais-je pu le deviner ?

La barre oblique au début du nom du fichier signifie "de la racine de MQL5".
 
Slava:

Fonctionne depuis la version 1565. Depuis mars 2017.

GetLastError : que renvoie-t-il ?

Il a aidé à régler le problème. Il est difficile de dire si ce comportement est correct, à savoir que sans la présence d'un dossier, le modèle n'est pas sauvegardé.