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

 
Aleksey Vyazmikin #:

Вот лог

Не все знают про эту вкладку.


 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

Aleksey Vyazmikin, 2024.03.18 08:53

0 errors, 0 warnings, 50084 msec elapsed, cpu='X64 Regular'

Это достаточно навороченный советник

Сложность - 29 MACD.
 
Roman #:
Логично, что напрашивается добавление разработчиками стандартной константы для работы с 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)

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

Статическая переменная может быть проинициализирована соответствующей ее типу константой или константным выражением, в отличие от простой локальной переменной, которая может быть проинициализирована любым выражением.

Что такое константное выражение?

Пытаюсь нарушить это правило и получить ошибку. Код ниже (на что хватило фантазии) компилируется без ошибок

datetime f(string d, int e)
  {
   static string a = d;
   static int b = e;
   static datetime c = TimeCurrent();
   return(c);
  }

static datetime g = f(string(TimeLocal() % 100), int(TimeLocal() % 100));

void OnStart()
  {
   Print(g);
  }

Так тоже можно:

datetime f(string d, int e)
  {
   static string a = d;
   static int b = e;
   static datetime c = TimeCurrent();
   return(c);
  }

class Foo
  {
public:
   static const datetime a;
  };

const datetime Foo::a = f("", 0);

void OnStart()
  {
   Print(Foo::a);
  }
 
Vladislav Boyko #:

Пытаюсь нарушить это правило и получить ошибку.

Устарела Документация. Давно практикуется подобное.
double Array[] = {TimeCurrent(), TimeTradeServer(), MathSin(0)};
 

При попытке опубликовать новую версию советника получил это:

Вопросы:

  1. С каким депозитом тестировался советник? У меня требование к депозиту от $1000
  2. Что возникли ограничения на размер просадки публикуемых советников?
 
Aleksander Gladkov #:

При попытке опубликовать новую версию советника получил это:

Вопросы:

  1. С каким депозитом тестировался советник? У меня требование к депозиту от $1000
  2. Что возникли ограничения на размер просадки публикуемых советников?

Сегодня еще интереснее 12% просадка тоже критична и вызывает Stop out


 
fxsaber #:

Кроме размера используемых исходников, от чего еще зависит время компиляции?


GPT говорит, что на время компиляции могут существенно влиять макросы и шаблоны. Для меня интуитивно, что должно быть наоборот.
Хотелось бы мне тоже знать как на самом деле.
Причина обращения: