Статическая переменная может быть проинициализирована соответствующей ее типу константой или константным выражением, в отличие от простой локальной переменной, которая может быть проинициализирована любым выражением.
Что такое константное выражение?
Пытаюсь нарушить это правило и получить ошибку. Код ниже (на что хватило фантазии) компилируется без ошибок
datetime f(string d, int e)
{
staticstring a = d;
staticint b = e;
staticdatetime c = TimeCurrent();
return(c);
}
staticdatetime g = f(string(TimeLocal() % 100), int(TimeLocal() % 100));
voidOnStart()
{
Print(g);
}
Так тоже можно:
datetime f(string d, int e)
{
staticstring a = d;
staticint b = e;
staticdatetime c = TimeCurrent();
return(c);
}
class Foo
{
public:
staticconstdatetime a;
};
constdatetime Foo::a = f("", 0);
voidOnStart()
{
Print(Foo::a);
}
Для учета разных конфигураций открыл три торговых советника из стандартной поставки.
И сделал пакетную оптимизацию по CTRL+F7.
Выделенный результат можно приводить, как производительность системы.
Получается, что мой советник компилируется, как 72 (=87/1.2 ) MACD-советника. Какие цифры у Вас в таких попугаях?
Чего то у меня не все советники - полностью тёр все директории с ними и запускала снова - результат такой
Не знаю, откуда у меня третий советник. Прикрепил.
Вот лог
Вот лог
Не все знают про эту вкладку.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
Aleksey Vyazmikin, 2024.03.18 08:53
Это достаточно навороченный советник
Логично, что напрашивается добавление разработчиками стандартной константы для работы с gzip.
Хорошо бы.
Кто то может точно расшифровать что за 3 значения тут указываются? И какая память тут подразумевается?
2024.03.23 20:09:00.349 Core 1 2273 Mb memory used including 0.94 Mb of history data, 1728 Mb of cached tick data (total memory for tick data 1855 Mb)
1 2273 Mb memory used including 0.94 Mb of history data
2 1728 Mb of cached tick data
3 total memory for tick data 1855 Mb.
Задача подобрать подходящий режим тестирования и интервал, учитывая потребление оперативной памяти и кеша исторических данных в папках с агентами.
И какое значение из 3-х я должен принять к сведению по потреблению агентом оперативной памяти?
Какое значение кеша исторических данных будет в папке агента?
https://www.mql5.com/ru/docs/basis/variables/static
Статическая переменная может быть проинициализирована соответствующей ее типу константой или константным выражением, в отличие от простой локальной переменной, которая может быть проинициализирована любым выражением.
Что такое константное выражение?
Пытаюсь нарушить это правило и получить ошибку. Код ниже (на что хватило фантазии) компилируется без ошибок
Так тоже можно:
Пытаюсь нарушить это правило и получить ошибку.
При попытке опубликовать новую версию советника получил это:
Вопросы: