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

 
Stanislav Korotky:

У кого-нибудь компилируется вот это?
Что не так?

Все ок, обращайтесь еще:

class B {};

template<typename T>
class A
{
    static T *array;
    
    static void check(){
      T *ptr = array; 
    }
};

template<typename T>
static T *A::array;

class Y: public A<B>
{
};

void OnStart()
{
  Y y;
}
definition для  static array был передвинут выше создания class Y.
 

А сейчас можно запускать оптимизацию+тест по всем символам в обзоре рынка? Или только без оптимизации просто прогоны с теми же параметрами делается по всему обзору?


То есть можно по символам в обзоре рынка не только с одними параметрами прогон но заодно еще оптимизация чтобы была выбрана? А то блокируются выбор параметров оптимизации когда выбран режим все символы.

Оптимизация стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Оптимизация стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
Askr:

А сейчас можно запускать оптимизацию+тест по всем символам в обзоре рынка?

https://www.mql5.com/ru/code/26132

MultiTester
MultiTester
  • www.mql5.com
Бывает, нужно советник прогнать на множестве символов. Для этого в MT5-тестере существует режим "Все символы, выбранные в окне Обзора рынка". Получается прогон одних и тех же настроек советника на разных символах. Но иногда требуется сделать много различных запусков MT5-тестера. Данная библиотека позволяет это. Возможности. Можно задавать...
 
Я вроде читал что уже в стандартном тест ере это появилось?

Знать бы как запустить эти ваши библиотеки, непонятно. Ведь указывать в тестере нужно сам советник, а как запускать библиотеку?

Или скаяал скопировал в терминал и все само работает?
 
Askr:
Или скаяал скопировал в терминал и все само работает?

Да.

 
Alexey Kozitsyn:
Невозможно закоммитить в сторадж...

Снова та же проблема! Разработчики, почините, пожалуйста, сторадж! С ним невозможно работать. Common error.

 
Sergey Dzyublik:

Все ок, обращайтесь еще:

Обращаемся. Вот такой код работает:

class A
{
  protected:
    int field;

  public:
    A() { field = rand(); }
};

class B: public A
{
  public:
    B(A &origin)
    {
      field = origin.field;// это другой экземпляр, C++ дает ошибку 'int A::field' is protected
    }
    int getField(void) const
    {
      return field;
    }
};


void OnStart()
{
    A a;
    B b(a);
    Print(b.getField());
}

Но по правилам C++ не должен еще на стадии компиляции разрешать доступ к protected (полю field другого объекта, пусть и того же класса; protected обозначает доступ только к унаследованным полям того же объекта, а для доступа к чужим поле должно быть public). Это баг или фича?

 
Stanislav Korotky:

Обращаемся. Вот такой код работает:

Но по правилам C++ не должен еще на стадии компиляции разрешать доступ к protected. Это баг или фича?

В смысле не должен? В каком именно месте? Так-то у вас и наследование публичное (т.е. протектед члены  в наследниках становятся публичными) и метод публичный.

з.ы. протёр глаза, увидел где, пардон)
 
Stanislav Korotky:

Обращаемся. Вот такой код работает:
Но по правилам C++ не должен еще на стадии компиляции разрешать доступ к protected. Это баг или фича?

Да, С++ оnline ругается: https://onlinegdb.com/Hkv1_13EU
Это к разработчикам.

 
Sergey Dzyublik:

Да, С++ оnline ругается: https://onlinegdb.com/Hkv1_13EU
Это к разработчикам.

Да, послушаем разрабочиков. Я сейчас этой удобной дырой воспользовался. Если они её закроют, придется другие пути искать.

Причина обращения: