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

 
void OnStart()
{
  int i = {0}; // code generation error
}

Понятно, что код некорректен, но почему именно такая ошибка?

 
Всем привет! Я новичек! Подскажите пожалуйста есть ли возможность в mql4/5, вывести в описание объекта на графике(трендовая линия/уровень) большой текст(100-200 слов)? Хочу вести так дневник.
 
Уважаемые разработчики, как в такой ситуации избавиться от Warnings?
template <typename T>
T GetValue()
{
  T Res; // possible use of uninitialized variable 'Res'
  
  return(Res);
}

void OnStart()
{
  MqlTick Tick = GetValue<MqlTick>();
  int i = GetValue<int>();
}
 
Renat Fatkhullin:

В понедельник все детально проверим.

Сейчас без тестов не могу ответить.

Воспроизвели, такое на биржевых тиках.

Исправляем
 

Как из MQL5, например, находясь в обработчике OnTesterPass получить номер текущего прохода в том виде, как он отображается на закладке результатов оптимизатора, например, там написано в первом столбце "27, 366" или "18, 442"? Функция FrameNext позволяет узнать номер прохода в виде ulong. Как из этого числа получить то, что выводится пользователю? Мне нужно в специальном отчете вывести инфу по проходам, и сохранить то же обозначение проходов, что и в терминале.

 
Уважаемые разработчики, возможно ли найти нормальное решение для MQL, чтобы не плодить такие сущности?

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

Нужны ли глобальные переменные терминала типа string?

fxsaber, 2017.04.10 18:25

#define GLOBAL_VARIABLE_SET(A)                                                        \
template <typename T>                                                                 \
  datetime _GlobalVariableSet( const string Name, const T A )                         \
  {                                                                                   \
    _GlobalVariableDel(Name);                                                         \
                                                                                      \
    double Array[];                                                                   \
                                                                                      \
    const datetime Res = GlobalVariableSet(Name, _ArrayCopy(Array, _R(Value).Bytes)); \
    const int Size = ArraySize(Array);                                                \
                                                                                      \
    for (int i = 0; i < Size; i++)                                                    \
      GlobalVariableSet(GetName(Name, i), Array[i]);                                  \
                                                                                      \
    return(Res);                                                                      \
  }

GLOBAL_VARIABLE_SET(Value)
GLOBAL_VARIABLE_SET(&Value)
GLOBAL_VARIABLE_SET(&Value[])
 
fxsaber:
Уважаемые разработчики, как в такой ситуации избавиться от Warnings?

а если сделать так:

template <typename T>
T GetValue()
{
  T Res = NULL;
  
  return(Res);
}
 
Konstantin:

а если сделать так:
то будет облом.
 

билд обновился до 1580

https://www.mql5.com/ru/forum/43553/page19#comment_4844870

проблема с wine решена. спасибо.

Свои символы и свои датафиды в Метатрейдер 5
Свои символы и свои датафиды в Метатрейдер 5
  • www.mql5.com
Свои символы и свои датафиды в Метатрейдер 5.
 
fxsaber:

MT5 1578 - всегда краш.

MT5 1571 и MT4 1065 - работает без проблем. Скрипт для краша здесь https://www.mql5.com/ru/code/16280

1580 - OK.