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

 
Artyom Trishkin:
А куда делась функция IndicatorDelete() в MQL5 ? Компилятор её не распознаёт.
Не было никогда. Вы спутали с IndicatorRelease
 
Slawa:
Не было никогда. Вы спутали с IndicatorRelease
Или с ChartIndicatorDelete
Документация по MQL5: Операции с графиками / ChartIndicatorDelete
Документация по MQL5: Операции с графиками / ChartIndicatorDelete
  • www.mql5.com
Операции с графиками / ChartIndicatorDelete - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Slawa:
Не было никогда. Вы спутали с IndicatorRelease
Посыпаю голову пеплом - проделки лукавого
 
Создание лишних template-перегрузок, которые приводят к ошибкам компиляции
template <typename T>
T Func()
{
  T Res;
  
  return(Res);
}

template <typename T>
void Func( T& Value )
{
  T Res = (MqlTick)Value;
}

void OnStart()
{
  Func<string>(); // без этой строки компилируется
  
  MqlTick Tick;
  
  Func(Tick);
}

Компилятор зачем-то пытается создать

void Func( string& );
 
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[])
Причина обращения: