Ошибки, баги, вопросы - страница 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)

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