Ошибки, баги, вопросы - страница 1996

 
Slava:
Кто мешает?

MQL5 не позволяет.

 
fxsaber:

MQL5 не позволяет.

Кто сказал: "Не позволяет"? Попробуйте, например, так

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

Кто сказал: "Не позволяет"? Попробуйте, например, так

Вы бы сами попробовали. Не позволяет.

 
fxsaber:

Вы бы сами попробовали. Не позволяет.

Попробовал ещё раз (а вдруг?).

Позволяет

 
Slava:

Попробовал ещё раз (а вдруг?).

Позволяет

У Вас не 1653 билд, похоже.

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


Результат

false
1653
 
fxsaber:

Задумался, а правильно ли это, раз порождает такие на самом деле ОЧЕНЬ сложно выявляемые ошибки.

Сам факт-то, что программа работает неправильно крайне тяжело уловить. Потом для выяснения причин нужно добиться воспроизведения ошибочности, а это не менее тяжело. И затем откопать в огромном коде не полноценную инициализацию какой-нибудь переменной - жуть. Warnings очень помогают с этим. Но только простые случаи. Такие же, как инициализация не на весь массив нереально проверить на стадии компиляции.

Возможно ваши мысли о чём-то другом, но для конкретного случая банальная невнимательность программиста привела к такой ошибке.

А не будет раздражать портянка в несколько метров с предупреждениями?

 
fxsaber:

У Вас не 1653 билд, похоже.


Результат

Видимо папка MyPreferredTemplates отсутствует. А при сохранении папка не создаётся. Убрал папку из пути и вот результат.

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

Видимо папка MyPreferredTemplates отсутствует. А при сохранении папка не создаётся. Убрал папку из пути и вот результат.

Спасибо, не догадался бы! Теперь пашет. До этого пробовал "..\\..\\Files\\template.tpl" - не получилалось так же. Что обозначает слэш перед Files, что работает "\\Files\\template.tpl"? Как до него можно было догадаться?

 
fxsaber:

У Вас не 1653 билд, похоже.


Результат

Работает с билда 1565. С марта 2017 года.

GetLastError что возвращает?

 
fxsaber:

Спасибо, не догадался бы! Теперь пашет. До этого пробовал "..\\..\\Files\\template.tpl" - не получилалось так же. Что обозначает слэш перед Files, что работает "\\Files\\template.tpl"? Как до него можно было догадаться?

Слеш в начале имени файла означает "от корня MQL5"