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

 
Ivan Titov #:

Графики все показываются. Хотелось бы более понятное сообщение вместо "history check timeout", чтобы понять причину.

Пришлите все данные для воспроизведения. Можно только тики.

 
fxsaber #:

Пришлите все данные для воспроизведения. Можно только тики.

Тиков нет, есть только минутные бары. Но моделирование стоит OHLC на M1. Раньше работало.

Файлы:
Test.ZIP  9375 kb
 
Ivan Titov #:

Тиков нет, есть только минутные бары. Но моделирование стоит OHLC на M1. Раньше работало.

К сожалению, ничего не могу сказать по этому режиму работы. Гоняю только по "реальным тикам".

 
Dmitriy Skub #:

Не, рано радовался.

2021.09.12 11:59:20.806    Experts    initializing of ХХХХХХХl (USDSEK,H1) failed with code 0 (prepare to execution failed)

Вываливается из отладки до точки OnInit.

Ждем 3039

Предоставьте пожалуйста EX5 файл для исследования

 

Здравствуйте. Не могу разобраться, как в MQL инициализировать static массивы. Попытался сделать следующим образом:

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
struct S_MA_MethodAndName {
  ENUM_MA_METHOD method;
  string desc;
};

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class MA_MethodInfo {
public:
  MA_MethodInfo() {}
  ~MA_MethodInfo() {}

  static const S_MA_MethodAndName info[4];
};

S_MA_MethodAndName MA_MethodInfo::info = { {MODE_SMA, "Simple"}, {MODE_EMA, "Exponential"}, {MODE_SMMA, "Smoothed"}, {MODE_LWMA, "Linear Weighted"} };

Но данный код при попытке компиляции выдает следующую ошибку:

'info' - redefinition; different type modifiers

Возможны ли в MQL такие конструкции или может быть я что-то делаю не так?
 
Mihail Matkovskij #:

Не могу разобраться, как в MQL инициализировать static массивы.

static const S_MA_MethodAndName MA_MethodInfo::info[4] = { {MODE_SMA, "Simple"}, {MODE_EMA, "Exponential"}, {MODE_SMMA, "Smoothed"}, {MODE_LWMA, "Linear Weighted"} };
 
fxsaber #:

Странно. VS, например, ругается на static:

Допускается только:

const S_MA_MethodAndName MA_MethodInfo::info[4] = { {MODE_SMA, "Simple"}, {MODE_EMA, "Exponential"}, {MODE_SMMA, "Smoothed"}, {MODE_LWMA, "Linear Weighted"} };

А в MQL мне вообще ни разу не приходилось заниматься подобным. Поэтому решил спросить на форуме. Спасибо!

 

Также, для static констант в MQL ключевое слово static не нужно:

class C1 {
public:
  static const int value;
};

const int C1::value = 3;

А в случае с массивом оно должно быть обязательно: . Получается немного не так как в C++.

 
На ios в уведомлениях вижу новое сообщение, но в самом приложение его нету mt4

p.s приходит, но с задержкой обновления
 
Ilyas #:

Предоставьте пожалуйста EX5 файл для исследования

Предоставил.
Причина обращения: