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

 
fxsaber #:

Для учета разных конфигураций открыл три торговых советника из стандартной поставки.


И сделал пакетную оптимизацию по CTRL+F7.

Выделенный результат можно приводить, как производительность системы.


Получается, что мой советник компилируется, как 72 (=87/1.2 ) MACD-советника. Какие цифры у Вас в таких попугаях?

Чего то у меня не все советники - полностью тёр  все директории с ними и запускала снова - результат такой


 
Не знаю, откуда у меня третий советник. Прикрепил.
Файлы:
 
fxsaber #:
Не знаю, откуда у меня третий советник. Прикрепил.

Вот лог

'MACD Sample.mq5'       MACD Sample.mq5 1       1
'Trade.mqh'     Trade.mqh       1       1
'Object.mqh'    Object.mqh      1       1
'StdLibErr.mqh' StdLibErr.mqh   1       1
'OrderInfo.mqh' OrderInfo.mqh   1       1
'HistoryOrderInfo.mqh'  HistoryOrderInfo.mqh    1       1
'PositionInfo.mqh'      PositionInfo.mqh        1       1
'DealInfo.mqh'  DealInfo.mqh    1       1
'SymbolInfo.mqh'        SymbolInfo.mqh  1       1
'AccountInfo.mqh'       AccountInfo.mqh 1       1
code generated          1       1
0 errors, 0 warnings, 1771 msec elapsed, cpu='X64 Regular'              1       1
'Moving Average.mq5'    Moving Average.mq5      1       1
'Trade.mqh'     Trade.mqh       1       1
'Object.mqh'    Object.mqh      1       1
'StdLibErr.mqh' StdLibErr.mqh   1       1
'OrderInfo.mqh' OrderInfo.mqh   1       1
'HistoryOrderInfo.mqh'  HistoryOrderInfo.mqh    1       1
'PositionInfo.mqh'      PositionInfo.mqh        1       1
'DealInfo.mqh'  DealInfo.mqh    1       1
code generated          1       1
0 errors, 0 warnings, 1466 msec elapsed, cpu='X64 Regular'              1       1
'Mean Reversion.mq5'    Mean Reversion.mq5      1       1
'Trade.mqh'     Trade.mqh       1       1
'Object.mqh'    Object.mqh      1       1
'StdLibErr.mqh' StdLibErr.mqh   1       1
'OrderInfo.mqh' OrderInfo.mqh   1       1
'HistoryOrderInfo.mqh'  HistoryOrderInfo.mqh    1       1
'PositionInfo.mqh'      PositionInfo.mqh        1       1
'DealInfo.mqh'  DealInfo.mqh    1       1
'SymbolInfo.mqh'        SymbolInfo.mqh  1       1
code generated          1       1
0 errors, 0 warnings, 1707 msec elapsed, cpu='X64 Regular'              1       1
3 files total, 0 errors, 0 warnings             1       1
 
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)

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

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

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

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

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. Что возникли ограничения на размер просадки публикуемых советников?